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

InfoPath & SQL Server !

Posts Tagged ‘教科「情報」

Minecraft Education 版の新機能(3) – ミュートボタン

leave a comment »

教育版マインクラフトの機能拡張がすすんでいる。新しいバージョンではミュートボタンが搭載された。このミュート機能は、コマンドを使ったときのレスポンス表示をミュートする機能だ。サウンドのミュートではない。マインクラフトではコマンド入力によって世界を操作すると、画面に実行した操作のレスポンスが表示される。たとえば /weather thunder コマンドで天候を雷雨に変更すると、画面にレスポンスが表示される。

MinecraftEducation_007_mid_640

コマンド入力モードでは実行したコマンドの結果が履歴で表示されている。

MinecraftEducation_008_mid_640

コマンド入力モードで右上にある「ミュート」スライダを右にして「オン」にすると、コマンド実行の結果を画面に表示しなくなる。雷雨になったマインクラフトの世界を /weather clear コマンドで晴れにしてみよう。

MinecraftEducation_009_mid_640

コマンドを実行して天気が晴れになろうとしている。しかし実行結果は画面に表示されていない。

MinecraftEducation_010_mid_640

コマンド入力を多用したとき、画面が実行レスポンスの履歴で邪魔になることがある。「ミュート」機能をオンにすると、レスポンスが表示されないので操作の邪魔にならずにすむだろう。

広告

Minecraft Education 版の新機能(2) – コマンド入力ボタン

leave a comment »

マインクラフトにはコマンド入力モードがあり、教育版でなくてもコマンドを使ってマインクラフトの世界をコントロールすることができる。プログラミングの基本はコマンド入力だといってもいいが、小学生にとってはキーボードからのコマンド入力は敷居が高い。そこで基本的ないくつかのコマンドをマウスでクリックして実行できるボタンが搭載された。

MinecraftEducation_004_mid_640

画面の下にあるコマンド入力テキストボックスの左にスラッシュ「/」のボタンがある。このボタンをクリックすると「世界のスポー地点を設定する」、「テレポート」、「時間」、「天候」のメニューが表示され、これら基本的なコマンドをマウスクリックだけで実行できる。

MinecraftEducation_005_mid_640

たとえば「天候」のボタンをクリックすると、コマンドラインに「/weather」のコマンドが自動的に書かれ、次のメニュー「晴れ」、「雨」、「雷雨」を選ぶことができる。

MinecraftEducation_006_mid_640

限られたコマンドだが、このボタンを使うことによってコマンドの使い方や記述方法を学ぶことができる。子供たちにはボタンがあることさえ伝えておけば、あとは自分でやってみて身に着けることができるだろう。まさに、体験的学習を明確に意識した実装だ。

Minecraft Education 版の新機能(1) – 座標を画面に表示する

leave a comment »

マインクラフトは小学生を中心に大人気のゲームアプリだが、共同学習とプログラミング学習の機能を加えた学校教育向けのエデュケーション版「Minecraft Education」がある。このエデュケーション版は実際に授業で活用した教員のフィードバックにより改良がすすんでおり、ますます使いやすくなっている。その一つが画面に座標を表示する機能だ。

ゲームとして遊ぶには座標を特別意識する必要はない。しかしプログラミングをしてエージェントを動かし、ブロックを配置するなどの場合には座標の概念が欠かせない。マインクラフトの世界で自分がどこにいて、どこに何をしたいのかを座標で与えなければならないからだ。

MinecraftEducation_001_mid_640

Minecraft Education を起動したら「遊ぶ」のボタンをクリックして「世界」のタブで新しい世界を作ろう。新しい世界を作りときに「ゲーム設定」をするが、ここにある「チート」と「常に昼間」などのスライドボタンに加えて、新しいボタン「座標を表示」と「教室の設定を表示」のボタンがある。

MinecraftEducation_002_mid_640

このスライドスイッチは「チートの実行」と「常に昼間」を右にスライドしてオンにしておくことがプログラミングなどの実習時には望ましい。さらにここで新しくできた「座標を表示」のスライドを右にしてオンにしてみよう。

MinecraftEducation_003_mid_640

「座標を表示」にしたプレイ画面がこれだ。画面の左上に自分の座標が表示されていることがわかるだろう。これで自分の位置を確かめながらマインクラフトの世界を歩くことができる。プログラミング時に座標を使う場合もこれでわかりやすい。座標がわからなければ、コードによってブロックを配置しても、いったいどこに出現したか探し回らなければならないこともあったが、これでわかりやすくなった。

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

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ブラウザを使い直感的に理解できるブロック型の開発環境も整ってきた。現場の「情報」科教員にはやるべきことが山ほどある。新しい時代を切り開く人づくりは「情報」科教員の手にかかっていると言って過言ではない。

新しいマインクラフトのエデュケーション版でプログラミング学習環境となる「コードビルダー」を管理する「Code Connection for Minecraft」に接続するには /code コマンドでもいい。

leave a comment »

2017年5月2日に行われた「Learn what’s next.」で発表された新しいマインクラフトのエデュケーション版にはプログラミング教育のツールとなる機能が盛り込まれている。そのひとつが、プログラミングによって学習環境を整えることと学習者を管理することなどができる「コードビルダー」だ。そして「Code Connection for Minecraft」、日本語で「コードコネクション」と呼ばれるものは「コードビルダー」を管理するサービスだ。

コードビルダーを起動すると、次の画面になりクライアントからのアクセスをリッスンする状態になる。このとき、接続コマンドとして表示される文字列のうち、IP アドレスは「Code Connection for Minecraft」を起動したコンピュータの IP アドレスになっており、ポートはサービスが指定する。クライアントはこの IP アドレスとポート番号で接続する。

Minecraft_Education_Edition_028_mid_640

ちなみにこれと似たサービスに、前のエデュケーション版からあった「Classroom Mode for Minecraft」がある。これは「クラスルームモード」という学習環境を管理するサービスで、ネットワーク上のコンピュータで起動し、クライアントから IP アドレスで接続する形だ。この「Classroom Mode for Minecraft」ではリッスンするポート番号をランダムに生成し、起動するたびに違うポートになった。またサービスを起動したコンピュータ上でクライアントのマインクラフトを起動しても接続できない場合が多かった。しかし新しい「Code Connection for Minecraft」ではリッスンするポート番号は変わらないようだ。また同じコンピュータでクライアントを起動して接続することもできるように改善されている。

クライアントのマインクラフトから接続する場合は、コマンド入力ラインを表示して「Code Connection for Minecraft」で指定されたアドレスに /connect コマンドを入力する。このとき、「Code Connection for Minecraft」にはコマンドをコピーするボタンがあり、これをクリックしてもクリップボードにコマンドがコピーされるのだが、次のように /code コマンドを使うこともできる。

Minecraft_Education_Edition_029_mid_640

/code コマンドを使うときは IP アドレスもポート番号も指定する必要はない。このとき、あらかじめ「Code Connection for Minecraft」を起動していなくても、コンピュータに「Code Connection for Minecraft」がインストールされていれば自動的に起動される。また、事前に「Code Connection for Minecraft」を起動していれば、クライアントのマインクラフトでは「コード接続の起動を試みています」となり「接続しました」のメッセージが出ないこともあるが、この時点ですでに「Code Connection for Minecraft」と接続ができている。

Minecraft_Education_Edition_030_mid_640

「Code Connection for Minecraft」を見ると次のようにあっており「MakeCode」や「Scratch」、「Tynker」のメニューが出ている。ところでここで、接続したクライアントの IP アドレスを見ると、対象のコンピュータではなくて 127.0.0.1 になっていることがわかる。これはループバックアドレスで接続されているということだ。

Minecraft_Education_Edition_031_mid_640

試しに簡単なコードを「MakeCode」で書き、実行してみる。

Minecraft_Education_Edition_034_mid_640

10 × 10 × 10 のブロックが生成した。

Minecraft_Education_Edition_032_mid_640

2016年10月1日のアドミンティーチャーズのラボワークでは、ESP8266 WiFi モジュールを搭載した Arduino WeMos D1 を 2台使い、一方を WiFi アクセスポイント、もう一方を WiFi クライアントとして接続し、Web サービスでデータ通信をする。

leave a comment »

アドミンティーチャーズのラボワークでは、8月と9月にESP8266 WiFi モジュールを搭載した Arduino WeMos D1 を使って通信を試した。WeMos D1 は安価で手に入れやすいマイコンボードで、実習教材にも適していると思われる。しかしまとまった解説やサンプルスケッチがなかなか見当たらない。多く見られるのは WiFi クライアントにしてアクセスポイントに接続し、Web サービスを実装するというものだが、WiFi クライアントにすることや Web クライアントを実装する事例は少ない。試行錯誤が必要だったが、うまく通信できるようになった。

今回の「ラボワーク」では 2台の WeMos D1 を使う。一方の WeMod D1 を WiFi アクセスポイントの設定にし、Web サービスを実装する。Web サービスでは、アナログ I/O ポート A0 に接続したボリュームの電圧を Web ページに表示するようにしておく。もう一方の WeMos D1 は WiFi クライアントの設定をし、起動したら WiFi アクセスポイントにした WeMos D1 に接続するようにし、Web クライアントを実装して Web ページを取得し、HTML テキストからボリュームの値を取り出して Multifunction Shield の 7セグメント LED に表示する。

マイコンボードが互いに WiFi 接続できれば応用範囲が広がるだろう。また Web サービスや Web クライアントを実装することで、Web サービスの仕組みも理解できる。

アドミンティーチャーズのラボワークは、会の性質上「情報教育に関心のある方」としているが、必ずしも学校関係者に限定しているわけではないので、興味のある方はぜひ来てほしい。またノートパソコンの Arduino 開発環境は、当日ラボワークで設定することもできるし、ノートパソコンがなくても実習を楽しめるし、ゆるやかな体験、交流の場なので、気軽に手ぶらで来てもらってかまわない。

アドミンティーチャーズ Web サイト
https://adminteachers.wordpress.com/

P1400528_mid_640_480

「ラボワーク LW05 – Netduino 3 と 38 種類のセンサキット体験」の報告

leave a comment »

今年2月から兵庫県神戸市の三ノ宮駅近くの会議室を借りてやっているマイコンボードの勉強会「ラボワーク」は今月で5回目となった。今回から本格的に Netduino を使うことにした。Netduino は Arduino UNO とI/Oピンコンパチブルのマイコンボードで、Microsoft の .NET Micro Fremework が動いており Visual Studio を使って C# をプログラミング言語として開発することができる。安価で手軽に使いやすい Arduino と C# の充実したライブラリを利用できるパワフルな Netduino の両方を取り上げることで、マイコンボードの活用の幅も広がると考えている。

P1160929_mid_640_480

今回は 38 種類のセンサーキットを試した。センサーキットを試すには、アナログポートで入力した値を取得して何かの形で表示しなければならない。そこで 4本の LED チューブを備えたマルチファンクションシールドを利用した。マルチファンクションシールドはラボワークの第3回で使ったことがあり、シフトレジスタを介して LED チューブをコントロールするようにできている。そこでアナログポート A5 からの入力値をダイレクトに数値で表示するサンプルスケッチを用意し、ボリュームをつないで確認した後に様々なセンサを取り付けて試した。

P1160933_clip_640_480

P1160936_mid_640_480

このセンサーキットには、キースイッチ、ロータリーエンコーダスイッチ、タッチセンサ、距離センサ、サウンドセンサ、人感センサ、レーザーセンサ、磁気センサ、磁気リードセンサ、磁気ホールセンサ、温度センサ、赤外線センサ、傾きセンサ、衝撃センサ、水銀センサ、心拍センサ、炎センサ、リードセンサ、光ブロークンモジュール、ジョイスティックモジュール、フォトレジスタ、バイブレーション、ブザー、フルカラーLED、点滅LED、5Vリレーモジュール、などが入っている。似た機能のセンサやアクチュエータが複数あり、どんなセンサなのか想像しがたいものもある。実際に使っても反応がわからないものもあった。またフルカラー LED のようにセンサではないものもあったが、それらは今回テストしなかった。

P1160932_mid_640_480

P1160937_mid_640_480

P1160939_mid_640_480

P1160944_mid_640_480

今回のラボワークでは、様々なセンサを体験しながら、それらをどう使うかという利用シーンについてもディスカッションができた。またアクチュエータについても試したいという希望もあった。次回以降、またこれらの結果をふまえてラボワークの企画を作っていく。興味のある方はアドミンティーチャーズのサイトから電子メールで申し込みをしてください。

アドミンティーチャーズ
https://adminteachers.wordpress.com/