投稿者「ummt」のアーカイブ

ummt について

元プログラマーの情報系講師。Web系(HTML・JavaScript・PHP)をはじめ、JavaやCのプログラミングについて。他、MOS対策など検定対策。

工学部を出た社会人が教員免許(高校一種 工業・情報)を取る方法

私は社会人になってから教員免許(高校一種)を取得しました。同じように社会人になってから教員を目指す方から時々聞かれるので、ここで私が免許取得した当時のお話をしようと思います。

通常、教員免許は教育学部に所属している学生が単位取得と教育実習や介護実習を終えて、卒業時に交付されるのが一般的です。私は工学部でしたし、在学当時に教員になる気はまったくありませんでした。そんな私が必要に迫られて色々調べた結果、幸運にも半年程度で教員免許を取得することができました。

はじめに、県の教育委員会に相談をしました。そこで、自分の取得している単位、不足している単位を明らかにしてもらいました。県によって判断が異なったりすることがあるようなので、教育委員会への確認は重要です。

幸運だったのは、私が卒業した工学部が教職課程を持っており、修めた単位を使って「工業」の免許が取得できる点でした。「工業」の免許はやや特殊で、本来であれば教育実習や介護体験でおさめるべき単位を専門科目の単位で置き換えることができます。つまり、教育実習や介護体験などをせずに高校一種の免許状を取得することが可能なのです。

ただ、教職に必要な単位もいくつかあります。それは「日本国憲法」「体育」「職業指導」です。私は在学時にこれらの単位を取得していなかったので、通信制の大学と、集中講義を利用して科目等履修生として単位を取得することにしました。

通信制の大学はいくつかあり、時間や場所を縛られずに単位取得ができる点が何よりのメリットです。しかも、4月入学以外に、秋入学ができる大学もあります。単位を認定されるための試験については、大学指定の場所へ行って受験する必要がありますが、より近い会場を選べる場合もあります。「体育」の科目についてもレポートと試験で単位取得できる場合があります。

私が調べた限り、「工業」に必要な「職業指導」の単位を通信制の大学で取得できる大学はなかったので、より近くで集中講義がある大学を探しました。とりあえず、工学部・理工学部のある近隣の国公立大学に電話をかけまくって集中講義の有無を聞いてまわりました。

必要な単位を一通りおさめ、大学から「卒業証明書」「学力に関する証明」を発行してもらいます。その他、教育委員会から指定された書類一式を用意して一緒に送付すればあとは授与されるのを待つことになります。

「情報」については「工業」の免許が授与されたあと、「工業」を基礎資格として申請します。これには「情報」の科目申請に必要な単位を別途おさめなければなりません。

「情報」の単位修得自体は、私のようにSE・プログラマー経験のある方にとってはそれほど抵抗はないと思います。あくまで私の感覚ですが、国家試験の基本情報技術者程度の知識とプログラマーとして2年程度の経験があれば単位修得は明るいでしょう。ただ、初学者にはかなり辛いと思います。特にプログラミングやSQL(データベース)等、実技系については内容が特殊なので、ある程度の感性が身につくのには時間がかかると思います。一緒に勉強していた家庭科や社会科の先生方も情報の単位習得については2年くらいを見込んでいる方がほとんどでした。(実際、私が20歳くらいで学部生だったころ、一番成績が芳しくなかったのはプログラミングでした…)

また、「情報」は基礎資格(工業)を根拠で申請したので、「工業」のみの申請のときとは違い、勤務先の校長先生から人物証明を書いていただいたり、健康診断書が必要だったりと、単位取得以外に必要な手続きがありました。

これまでお話したことは、あくまでその当時の私の場合の話で、都道府県やタイミングによって変わると思います。そのため、文中ではあえて具体的な免許法や単位数については触れていません。手続きとして煩雑なものが多いので、自分で確認・管理しながらやっていかないといけません。ちょっと心細いですが、気持ちを強くもって臨みましょう。

そして何より、お金と時間がかかります。入学料・授業料以外にも、試験・講義のための旅費や参考書等、まとまった金額が必要です。加えて、仕事をしながらのレポート作成や試験勉強については相応にプライベートの時間を割くことになりますから、家族の理解が不可欠です。

社会人で教員免許取得を目指す苦労は並々ならぬものがありますが、同じような境遇で免許取得を目指す方の参考になることがあれば幸いです。

軽量Ruby普及・実用化促進ネットワーク技術交流会(福岡)参加してきました

「福岡県Ruby・コンテンツビジネス振興会議、福岡県」主催の「軽量Ruby普及・実用化促進ネットワーク技術交流会(福岡)」に参加してきました。場所は福岡県Ruby・コンテンツ産業振興センター。博多駅筑紫口から徒歩3分程度の場所にあります。

5000円の参加費で、1万円相当のマイコンボード「enzi」が貰えるという非常にお得感のある勉強会です。Google Driveでファイルを配布していたので、Googleアカウント必須。enziはWebでコーディングするスタイルで、WindowsよりもMacの方が色々ハマるポイントが少なくて良さげです。ブレッドボードをつかってダイオードを光らせてみたりしました。今のところ、enziを使う上のベストな組み合わせは「Mac+Firefox or Linux」だそうです。

組み込み系は実務でもやったことない範囲なので、こういう勉強会は非常に貴重です。また、以前から勉強しなきゃと思いつつ放置していたRubyについても勉強する大変よい機会になりました。

IMG_2019

IMG_2021

IMG_2022

IMG_2024

[MOS] 受験のポイント:Excel 2013 エキスパートPart1 

MOS Excel 2013を受験してきたので、対策したことについて述べたいと思います。

まず、覚えるべきこと。

以前の記事でも触れましたが、DATEDIF関数はポップアップで引数リストが表示されません。
リボンからの操作もできない形になってます。
したがって、手入力で操作するしかありません。
DATEDIFはその引数リストおよび、第3引数の単位の定数(Y,M,Dなど)をしっかり覚えておく必要があります。

加えてTRANSPOSE関数の操作はしっかり練習しておきましょう。

  1. 貼り付けたい場所全体を選択
  2. TRANSPOSE関数を入力
  3. Ctrl + Shift + Enterで確定 ※修正時も。

個人的に特殊なのは、これくらいかと思っています。
あとはしっかりテキストを理解して練習し、スピードを上げていきましょう。
私はFOMの教科書を使って合格しましたので、テキストの内容としては十分かと思っています。

[MOS] 2013と2010の違い

MOS(Microsoft Office Specialist)試験の2013バージョンは前バージョンの2010から大幅に刷新されました。

1.単発式の問題から、ファイル作成式へ変更

2010までは単発の問題を一つずつ解いていく形でしたが
2013からは問題の指示に従いながら、一つのファイルを完成させていく形式になりました。
「指示の細かい日商PC」といった感じです。

試験形式が単発ではなくなったので「解ける問題から解く」という、従来の攻略法が通用しません。
基本的に出題順で解いていくことになります。

注意しなければならないのは、序盤の方でミスをしてしまうと、ドミノ式に後続の問題も不正解になる可能性がある点です。
1問ずつ慎重に操作していかないといけません。

たとえば、Excelで指定された書式でグラフを作ったとしても、そもそも表の値や計算式が間違っていたら、両方が不正解となってしまったりします。

序盤でのミスは大量失点に結びつきますので、注意しましょう。
残り時間を意識しつつも、正確な操作をしていくことが大事です。

2.試験勉強の方法

試験勉強そのものは2010の時と同じく、FOMあたりのテキストをしっかり理解できればよいようです。
試験プログラムを想定したソフトも入ってますから、ソフトの仕様もしっかり確認しましょう。
特に次にお話するサンプルを閲覧することはかなり重要です。

3.サンプルを小まめに確認する

先述のとおり、試験形式がファイル作成を行う形に変化したため、序盤のミスは命取りです。
それを回避する方法はサンプル(完成例)を小まめに確認することです。
Excelであれば、回答中に一通りの問題を解き終えたときのシートの完成図を画像で確認することができます。
これと数値が違っていたら、見直しすべきということになります。
ケアレスミスがあったとしても、サンプルを確認していれば気づきますので
特に最初のうちはしっかり見比べていきましょう。

4.Expert認定には二つの試験をクリアしなければならない

加えて、Expert(上級)の認定の手順もかわりました。
2010まではExpert試験を一つ受かれば、Expert認定がされました。
しかし、2013からはpart1、part2の二つの試験をクリアしないと認定されない仕組みになりました。
単純に受験料は倍かかります(泣)

以上、MOS2013に関して全体的な話をしてみました。

[Access] SQLでJOINをかけるときに括弧が必要

Accessで直接SQLを記述する場合、3つ以上のテーブルを結合する時には括弧をつける必要があります。

次の3つのテーブルを例に挙げます。

名簿
フィールド名 データ型
名簿ID オートナンバー
氏名 短いテキスト
職業ID 数値型
都道府県ID 数値型
職業
フィールド名 データ型
職業ID 数値型
職業名 短いテキスト
都道府県
フィールド名 データ型
都道府県ID 数値型
都道府県名 短いテキスト

ここで2つのテーブルをLEFT JOINしてみます。
次の記述は正常に実行されます。

SELECT 氏名, 職業名 
FROM 名簿 
LEFT JOIN 職業 ON 名簿.職業ID = 職業.職業ID

次に3つのテーブルをLEFT JOINします。
これは「演算子がありません。」とエラーがでます。

SELECT 氏名, 職業名, 都道府県名 
FROM 名簿
LEFT JOIN 職業 ON 名簿.職業ID = 職業.職業ID
LEFT JOIN 都道府県 ON 名簿.都道府県ID = 都道府県.都道府県ID

これは次のように括弧で囲むと正常に実行できます。

SELECT 氏名, 職業名, 都道府県名 
FROM 
(
名簿
LEFT JOIN 職業 ON 名簿.職業ID = 職業.職業ID
)
LEFT JOIN 都道府県 ON 名簿.都道府県ID = 都道府県.都道府県ID

以降、JOINするテーブルが増えるたびに括弧で囲むことになります。
同社製品のSQL Serverとは違いますね。

[使用環境]
Access 2013

「桁落ち」による誤差ついて

情報処理技術者試験で問われたことがあったので、「桁落ち」という現象と、それによっておこる誤差について述べます。

「桁落ち」を理解するためには有効数字による有効桁数を理解する必要があります。
有効桁数とは有効数字で構成された桁の数です。

これが問題になるのは浮動小数点数を取り扱う場合です。

物理の世界では測定値が信頼される数字となります。
例えば、測定によって得られた数値1.2と1.20は異なる意味を持ちます。

1.2は小数点第2位の数値は0なのかどうかわかりません。(測定できていない)
1.20は小数点第2位は0であると信頼できます。

浮動小数点数では正規化を行い、次のように表現します。

仮数部 × 基数指数部

例として、次のような数を挙げてみます。

1.234 × 10-6

これは仮数部が有効数字が4つ(1.234)で構成されているので、有効桁数は4桁となります。

次に、この数に近い数1.233 × 10-6で引いてみます。

1.234 × 10-6 – 1.233 × 10-6
= 0.001 × 10-6
= 1.0 × 10-9

仮数部は正規化される決まりになっています。
有効桁数は4桁(1.2341.233)から1桁(1.0)へ減ってしまいました。

このように、ふたつの数値の差が0に近い場合、減算により有効桁数が著しく減る現象「桁落ち」といいます。

加えて、1.0の小数部0は正規化のために埋めているだけなので、”信頼できる数値”ではありません。

コンピュータの仕組みとして、浮動小数点数の表現には符号、指数部、仮数部の3つに対して有限の領域が与えられます。
※コンピュータは2進数の世界なので、基数は2となります。

ほぼ同じ値が減算したのち有効桁が減った状態で”本来あったかもしれない”その桁以下の値は、すべて0(ゼロ)、すなわち信頼できない値で埋められる(埋めざるを得ない)ことになります。

これにより誤差が発生すれば、それは桁落ちによる誤差ということになります。
計算の仕方によっては無視できないほど大きな誤差に発展する場合もあります。

誤差は計算の順番によって回避または軽減できる場合もありますが、そもそも2値だけの減算では不可避となります。

[MOS] Excel expert part1: DATEDIF関数は直接入力でしか実装できない?

MOS試験(Microsoft Office Specialist)のExcel 2013 expart part1の試験範囲にDATEDIF関数があります。

DATEDIF関数2つの日付の差を求める関数ですが、入力時のポップアップヒント表示やリボンへの実装がないんですね。

この関数は、初期の表計算ソフトLotus 1-2-3の 関数との互換性のためにあるようです。

[参照]
office online DATEDIF 関数

このため、リボンへの実装やポップアップヒントには出てないということでしょうかね。

Lotus 1-2-3は昨年2014年にサポート終了して、31年の歴史に幕を閉じましたから、今後どうなるんでしょう?

それはさておき、試験に関しては関数仕様を暗記するしかありませんね。

[C#]パスワード付きAccess(.accdb)ファイルへの接続

C#からAccess(.accdb)ファイルへの接続文字列でちょっとハマったのでメモ。

string connectionString;
connectionString  = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=ファイルパス;";
connectionString +=  "Jet OLEDB:Database Password=パスワード;";
OleDbConnection connection = new OleDbConnection(connectionString);

開発環境
・Visual Studio 2012 Express
・Access 2010

[apache] .htaccessの設定を有効にする

httpd.confで「AllowOverride」の設定値を「All」に修正する
※対象ディレクトリ(Directoryの設定値)が該当ディレクトリであることを確認

<Directory "C:\Program Files (x86)\Zend\Apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>