ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

Archive for the ‘教育の情報化’ Category

日本の情報教育はプログラミングの正しい位置づけでようやく歩み始める

leave a comment »

日本で高等学校教育に今日の情報教育が位置付けられるようになった端緒は、政府による西暦2000年(平成12年)のミレニアムプロジェクト「教育の情報化」においてだ。さらに文部科学省は教育課程において高等学校に新しい教科「情報」を作り、2003年(平成15年)4月から全国の高等学校で「情報」の授業が始まった。高等学校の学習指導要領において科目の再編成が行われることは珍しいことではないが、新しい教科ができるということは大きな変化だった。大きな変化には混乱が伴う。高等学校の情報教育は10年の混乱の後ようやくプログラミング教育の重要性に着目され、ここ数年で軌道修正されつつある。

では2003年4月の高等学校教科「情報」の実施を前後して、どのようなことがあったかを振り返ってみよう。

まず新しい教科を作るためには、学習目標や内容を決めなければならない。このときに主導権を握ったのは教育学、とりわけ認知科学系の学者だった。これらの学者は「情報処理学会」をはじめとするコンピュータ科学を研究してきた学会と対峙し、教科「情報」はコンピュータ技術を教えるものではない、という主張を鮮明にした。教科「情報」ではテレビや新聞などのマスコミュニケーション、人と人とのコミュニケーション、人間の意思決定と行動、など幅広く取り扱うべきであって、コンピュータはせいぜい情報を入手し処理する手段のひとつであって、コンピュータ技術を教える必要はなく、ましてやプログラミングなど不要である、といったものだ。そして雨後の筍のように「情報教育学会」が乱立した。

当時の状況を考えると、この主張が浸透したのも理解できなくはない。コンピュータやプログラミングを前面に出せば、そんな教科は全員に学ばせる必要はないという批判が出るかもしれない。教員の養成は可能なのかという批判も出ただろう。文部科学省をはじめ教育行政は教育学会の主張を取り入れて学習指導要領を作り、「情報A」「情報B」「情報C」の3つの科目が作られた。「情報A」は「情報活用の実践力」に、「情報B」は「情報の科学的理解」に、「情報C」は「情報社会に参画する態度」に学習の力点がおかれ、このうち「情報B」が比較的コンピュータ教育の内容を取り扱うものであったが、多くの学校で「情報A」や「情報C」が実施され、「情報B」を実施する学校は少なかった。

文部科学省の教育課程に基づいて各出版社が教科書を編纂した。このとき作られた教科書には、例えば「情報A」ではワードやエクセルの解説書と見まがうようなものがあったり、「情報C」では調べ学習とプレゼンテーションに大きく紙面を割くものがあった。

教員養成にも課題があった。新しい教科の授業を学校で行うには、既存の科目の時間を減らさなければならなかった。学校の1週間は5日であり、1日の授業は6時間だからだ。このとき授業時間を増やすことを考えていれば、また違った人事行政がとられたかもしれない。しかし授業の総時間数が変わらないならば、他の教科の時間を減らして「情報」の時間に割り当てなければならない。つまり、全国のすべての高等学校で一斉に「情報」の授業を始めるにあたって、新しく教員を採用することができず、現場の教員を「情報」に割り振ることしかできなかった。このため、現職の理科や数学などの教員に対して研修を行い、「情報」の教員免許を付与することが行われた。この研修は夏休みの期間を利用した実質2週間であり、概論の域を出なかった。数学や理科などの現職教員は形の上では自ら申し出て免許講習を受けた形だが、積極的に情報教育に携わる意欲があった教員ばかりではなく、不本意で参加したり、免許はもらっても授業をするつもりが最初からない教員もあった。研修では「研修内容のすべてを理解する必要はなく、授業は先生方それぞれの特異な分野でやってもらえばいい」と教員を甘やかす姿勢があったことを忘れられない。

このようにコンピュータ科学から遠い立場の教育学者が主導権を取ったことと、現場の教員に付焼刃で教員免許を発行し授業を開始したことから、高等学校の「情報」授業は混沌とした。今から振り返るとワードやエクセルの練習ばかりである授業がまだましだったと言えるかもしれない。調べ学習、ディベートやプレゼンテーションの練習、テレビや新聞の報道を比較するメディア教育、情報モラルという名の道徳のような授業。「コンピュータがなくても情報教育はできる」といった極論まであらわれた。

このとき私の主張は「情報の科学的理解」を中心にした教科にするべきだ、というものだった。当時の科目でいえば「情報B」だ。確かに「情報」が扱うべき内容は広い。しかしテレビや新聞などマスメディアについて学ぶ必要があるなら、それは1970年代からあるべきだ。またディベートやプレゼンテーションは教育、調べ学習は昔からある教育の手法のひとつにすぎない。したがって西暦2000年の今に求められる情報教育は、まさにコンピュータによって私たちの社会が激変することを前提として組み立てられるべきである、ということが当時から一貫した私の主張だ。

当初は「情報活用の実践力」に重点を置いた「情報A」が各学校で実施されたが、次第に「情報B」と「情報C」に移っていった。教科「情報」を実施して10年経過した2013年(平成25年)からの教育課程で文部科学省は科目編成を変え、「情報B」を基にした「情報の科学」と「情報C」を基にした「社会と情報」の2科目編成になった。この頃からプログラミング教育の必要性が徐々に認知されてくるようになった。2005年にイタリアで始まったArduinoプロジェクトは2012年から2013年にかけて世界中で大ブレイクした。2012年にはRaspberry Pi財団がRaspberry PiはSDカードから起動できるオペレーティングシステムRaspbianを発表し、イギリスのBBC放送は2015年にイギリス全土の学校にマイクロビットを配布する計画を立てた。

このような世界的な流れの中で、ようやく日本の情報教育もプログラミングを正しく位置づけたコンピュータ教育中心に舵を切ろうとしている。小学生を中心に人気のゲーム「マインクラフト」も教育版によってプログラミングできるようになり、英BBC放送が中心になり開発をすすめた「マイクロビット」も日本で手軽に入手できるようになった。Microsoft MakeCodeのようにWebブラウザを使い直感的に理解できるブロック型の開発環境も整ってきた。現場の「情報」科教員にはやるべきことが山ほどある。新しい時代を切り開く人づくりは「情報」科教員の手にかかっていると言って過言ではない。

広告

C# – 教科「情報」の授業で使うタイピングトレーニングのソフトを作っています。その 5。ユーザー ID を Active Directory から取得するようにした。

leave a comment »

教科「情報」の授業でタイピングソフトを自作して生徒実習をしている。このねらいは 2 つある。ひとつは、実際に使いやすいソフトウエアを使いたい、ということがある。特に生徒の実習データを Microsoft Flow に送信して集計しやすくする、ということがある。もう一つの目的は、ソフトウエア開発の実際を生徒に見せたい、ということだ。

いわゆる「ウォーターフロー型」の開発には限界があることが多く指摘されている。現代的なソフトウエア開発環境を最大限に活用するには、アジャイルと呼ばれる開発スタイルが望ましい。そこで教科「情報」の授業で自分が作ったソフトウエアを生徒に使わせながら、問題点や改善点を指摘させて次のバージョンに適用する、という手法でソフトウエア開発の実際を間接的に体験させるのだ。

そのためには、最初から完成されたソフトウエアを使わさない。最初はごく基本的な仕組みだけ作ったソフトウエアを使わせ、問題点や改善点を指摘することを演習とする。

様々な意見が生徒から出て興味深いのだが、これはまた別項でまとめることにする。今回のマイナーバージョンアップでは「学籍番号を入力するのが面倒だ」と「学籍番号を全角で入力してしまう間違いがおこる」ことを回避することを考えた。これは、システム管理をやっている者には常識的な実装になるが、ユーザー ID を Active Directory から取得することだ。これは一行のコードで実現できる。

——————————————————————————————-

myUserName = Environment.UserName;

——————————————————————————————-

そして取得したユーザー ID を gakuseID テキストボックスに表示する。

——————————————————————————————-

gakuseID.Text = myUserName;

——————————————————————————————-

ちゃんと取得することが確認できれば、学籍番号のテキストボックスの Enabled プロパティを false にし、書き換えられないようにする。

——————————————————————————————-

gakuseID.Enabled = false;

——————————————————————————————-

これで学生番号は間違いなく処理されるようになる。

C# – 教科「情報」の授業で使うタイピングトレーニングのソフトを作っています。その 4。いつでも終了、開始ができるボタンのインタフェースを制御した。

leave a comment »

教科「情報」の授業で使うタイピングトレーニングのソフトを作っている。ここでマイナーチェンジをしたのは、ボタンの有効状態を制御したところだ。たとえば、次の画面は文字入力をトレーニングして「終了」のボタンを押し、かかった時間とスコアを表示したところだ。

textInputProgram_001_mid_640

ところがこの状態で「開始」のボタンが有効になっている。そこでこのまま「開始」をクリックして「終了」をクリックすると、一字も入力することなく結果が出てしまう。

textInputProgram_002_mid_640

そこで「開始」ボタンを押す前は「終了」と「リセット」を無効にし、「開始」ボタンを押せば「開始」ボタンは無効となり「終了」ボタンが有効になり、「終了」ボタンを押せば「終了」ボタンは無効となり「リセット」ボタンが有効となる、といったようにボタンの有効無効を制御することにした。

まずフォームの初期化で「終了」ボタンと「リセット」ボタンを無効にしておく。

——————————————————————————————

btnEnd.Enabled = false; //終了ボタンを無効にする
btnClear.Enabled = false; //クリアボタンを無効にする

——————————————————————————————

次に「開始」ボタンのクリックイベントで「開始」ボタンを無効にし「終了」ボタンを有効にする。

——————————————————————————————

btnStart.Enabled = false; //開始ボタンを無効にする
btnEnd.Enabled = true; //終了ボタンを有効にする

——————————————————————————————

そして「終了」ボタンのクリックイベントで「終了」ボタンを無効にし「クリア」ボタンを有効にする。

——————————————————————————————

btnStart.Enabled = false; //スタートボタンを無効にする
btnClear.Enabled = true; //リセットボタンを有効にする

——————————————————————————————

最後に「クリア」ボタンのクリックイベントで「クリア」ボタンを無効にし「開始」ボタンを有効にする。

——————————————————————————————

btnClear.Enabled = false; //クリアボタンを無効にする
btnStart.Enabled = true; //スタートボタンを有効にする

——————————————————————————————

これでボタンの有効無効管理ができた。

textInputProgram_003_mid_640

textInputProgram_004_mid_640

textInputProgram_005_mid_640

さて、このような制御をどこまですればよいのだろうか。それはプログラムを誰がどのように使うのかにかかっている。たとえばこのソフトウエアが、自分で文字入力のトレーニング結果を知りたいために使うのならば、このような制御を考える必要はないのかもしれない。自分の力を知るために「ずる」をする意味がないからだ。しかし、たとえば学校の授業で先生が生徒に課す場合は、少しでもよい結果を出すために「ずる」をしようと考える生徒がいるかもしれない。

そのことを考えると、たとえばテキストを別に入力しておき、ペーストするような「ずる」も考えられるかもしれない。使いやすさと同時に、想定外の利用をされないように考えることは、ソフトウエアの本来の機能とはまた別に、ソフトウエア開発のテーマである。

C# – 教科「情報」の授業で使うタイピングトレーニングのソフトを作っています。その 3。河端さんとのコラボレーション。Microsoft Flow と Microsoft Power BI で何ができるか。

leave a comment »

教科「情報」の授業で使うタイピングトレーニングのソフトを作っており、Microsoft SQL Server の大家であり Microsoft MVP でもあった河端さんと一緒に考えている。私は Visual Studio でクライアントの開発をし、河端さんにクラウドのアプリケーションを作ってもらっている。クライアントは Windows デスクトップアプリで、開発言語はもちろん C# だ。

河端さんには、クライアントアプリケーションから POST データを受け取るサービスを、Microsoft Flow で作ってもらった。Microsoft Flow で受け取ったメッセージを電子メールで通知する、といったシステムを、お互い離れた拠点でメッセージをやりとりしながら、およそ 30 分で作ることができた。これが現代的な開発スタイルだといえよう。

そして河端さんには、Power BI の分析ページを作ってもらった。こんなかんじだ。

文字入力トレーニングアプリ_003_PowerBI_1_mid_640

文字入力トレーニングアプリ_004_PowerBI_2_mid_640

文字入力トレーニングアプリ_005_PowerBI_3_mid_640

河端さんは、私がクライアントの Windows フォームアプリケーションを調整している間に、Microsoft Flow に送られたデータをこのように分析する Microsoft Power BI のフォームを作られていた。これらのビューを作るには、およそ 15分もあればよいそうだ。

このように、Microsoft Flow と Microsoft Power BI を使うとアイデアさえまとまればアプリケーションを作る手間は革命的に小さくなった。重厚長大のシステム開発の時代は終わったのだ。

Minecraft Windows 10 Edition をインストールした

leave a comment »

Minecraft は様々なプラットフォーム向けの様々なエディションがある。コンピュータで使うエディションンは PC 版と言われるが、これにもいくつかのバージョンがある。ひとつは従来の Windows プラットフォームで動く「デスクトップアプリ」と呼ばれるもので、もうひとつは Windows 8 から使うことができるようになった「ストアアプリ」と呼ばれるものだ。「ストアアプリ」は「モダンアプリ」と呼ばれることもあり、タブレットなどで使うことを意識したインタフェースになっている。

Minecraft は最初「デスクトップアプリ」で作られてバージョンアップを繰り返してきたが、新しく「ストアアプリ」でも作られた。これが「Minecraft Windows 10 Edition」だ。

「Minecraft Windows 10 Edition」は Windows ストアからダウンロードする。新しく開発されているため、バージョンはまだ小さい。現時点でインストールしたものは、バージョン 1.0.7 だ。

Minecraft Windows 10 版ダウンロード_mid_640

「ストアアプリ」の特徴はいろいろあるが、複数のデバイスを持っている人にとって嬉しいことは、購入したアプリは 10 台までのデバイスにインストールして使えることだ。

Minecraft Windows 10 版ダウンロード_完了_起動_002_mid_640

Minecraft Windows 10 版ダウンロード_完了_起動_003_mid_640

Minecraft Windows 10 版ダウンロード_完了_起動_004_mid_640

この「Minecraft Windows 10 Edition」は使いやすいが、まだバージョンは低いのでこれからの開発に大いに期待している。また教育向けには「Minecraft Education Edition」があり、こちらは教育用に考えられた特別な機能を持っている。こちらも要注目だ。

小学生エバンジェリストたちがマイクライベントの発表準備をしています。 – 「マインクラフトとプログラミング教育」マイクロソフト関西支社セミナールーム 2017年4月22日(土)

leave a comment »

今週末、4月22日(土)にマイクロソフト関西支社セミナールームで開催する「マインクラフトとプログラミング教育」でエバンジェリストとして発表する小学生たちが発表の準備と打ち合わせをしています。

P1490052_mid_640_480

今日の打ち合わせでは、次のようなことを決めました。

1.発表は一人5分程度なので内容をコンパクトにまとめること。
2.それぞれ発表内容を決めること。
3.あらかじめ完成見本を作っておき、説明してから新しく作ること。
4.当日スムーズにデモができるように練習すること。
5.発表原稿を作ること。デモの手順も必要ならメモをしておくこと。
6.話しながらデモをするリハーサルをすること。

これらは子供たちがみんなで考えながら決めました。リハーサルをすると、しゃべりながらパソコンを操作することが想像以上にむつかしいことがわかり、発表原稿を作ることやデモの練習が必要だということがわかったのです。

今週末、4月22日をお楽しみください!

HITACHIの電子黒板機能付きの超短投射プロジェクター、CP-TW3005Jを試してみた – e スクール ステップアップ・キャンプ 2016 西日本大会のエキビジョンスペースの展示

leave a comment »

先日、文部科学省共催、一般社団法人日本視聴覚協会と日本視聴覚連合会の主催で行われた「eスクール ステップ・アップキャンプ 2016 西日本大会」に参加した。文部科学省の初等中等教育局視学官から「学習指導要領改訂を踏まえた教育の情報化の重要性」について基調講演があり、またアクティブラーニングを取り入れてICTを活用した模擬授業が行われるなど意欲的な会だった。

各セッションと並行して会場内のエキビジョンスペースでは各企業から様々なICT機器やソフトウエアなどの展示が行われており、授業で使いたいと思わせられるものがたくさんあった。その一つがこのプロジェクターだ。

いわゆる電子黒板には様々なものがあるが、教育関係では大画面薄型テレビ形式のディスプレイを使用し、タッチパネルのインタフェースを有したものが一般的だろう。コンピュータを接続して教材を投影できるメリットと、電子ペンを使ってあたかも黒板にチョークで書くという直感的なオペレーションができるところが優れている。しかし設置が難しく高価であるという問題がある。

今回、HITACHIの電子黒板機能付きの超短投射プロジェクター、CP-TW3005Jを試してみたが、超短焦点とうたっているだけあり、黒板にかなり接近して投影できる性能を持っている。それに加えて、投射しているスクリーンに対して専用の電子ペンで電子黒板のように文字が書けるのだ。これには驚いた。会場ではスクリーンに対して天井から吊る形で設置されていた。次の写真から、どのくらい超短投射であるかわかるだろうか。カタログ上では100型の大きさに投影するには本体のレンズ面からスクリーンまでが 40.8cm、80型の投影なら 26.8cm、60型の投影ならなんと 12.8cm の距離でいいとなっている。

P1460356_mid_640_480

驚いたのは、スクリーンに投射している画像に対して、スクリーン上で専用の電子ペンを使って文字が書けるというところだった。これを見たとき、どのような仕組みでペンの動きを見ているのだろうと不思議だったが、目からうろこが落ちるような仕組みだった。ペンの先から赤外線が出ており、その赤外線をプロジェクターが感じ取って投射画像にオーバーライトしているのだ。

P1460368_mid_640_480

いわゆる電子黒板は教室への設置が難しい。普段は黒板やホワイトボードを使いたいが電子黒板も使いたいという場合は、教室に両方を設置するかどちらかを可動式にするしかない。しかしプロジェクター方式なら、通常は黒板で、必要に応じてプロジェクターを投影するといった使い方ができる。スクリーンをホワイトボードや黒板にして、映像を重ねて使うといったこともできるだろう。いや、それが最も望ましいと思える。黒板とチョーク、ホワイトボードとペンを使って授業をすすめながら、必要に応じて写真や動画を提示する。

電子ペンを使うときは、スクリーンに対するポジションを校正する必要がある。プロジェクターの設置位置とスクリーンの関係を補正する必要があるからだ。補正のメニューはリモコンを使って行い、画面に映されたドットの位置をチェックすることで行うようになっている。簡単だ。

P1460370_mid_640_480

また地味だが特記すべき機能として、画像の自動補正機能がある。カタログを見るとHITACHIでは「アクセンチュアライザー」機能と「HDCR」と呼んでいるらしい。普通教室でプロジェクターを使うとき、部屋の明るさによってプロジェクターの輝度が不足し、画像が鮮明に見えないことがある。このようなとき手動で明るさやコントラストを調節するが、このプロジェクターは「アクセンチュアライザー」によって映像の陰影感、精細感、光沢感を強化し、「HDCR」、これは High Dynamic Contrast Range の頭文字らしいが、これによって画像の明るいところと暗いところを自動的に解析し、暗部を詳細に見せるように調節する機能だ。つまりは、いわば画像にシャープネスをかけ、コントラストを調節する、これらを画像解析により自動的に行う機能だと考えられる。

P1460357_mid_640_480

サンプルに使われた写真は、ドーム型で天井がガラスになっている建物の中で、ガラスの明るいところを中心に撮った写真だ。明るい部分は明瞭にわかるが、建物の下部の暗いところはほとんど真っ暗につぶれてわからない。これが「アクセンチュアライザー」と「HDCR」によってボタンひとつで自動的に明るいガラス部分はそのままに、暗い部分が明るさを調節されてはっきりをわかるように浮き上がってくる。これは便利だ。