事例111
2人で1台のmicro:bitを活用したプログラミング指導の実践報告
千葉県立八千代東高校 谷川佳隆先生
micro:bitを使って30分で完成できる様々なプログラムを作ってみる
今回紹介するのは、micro:bit(※)を使ったプログラミングの実践です。本校では、昨年度まで「社会と情報」を行っていましたが、今年度から「情報の科学」を行うことになりました。プログラミングの教材として何を使おうかと考えていたところ、2018年2月にmicro:bitの講習会に参加する機会があり、私の好きなScratchとmicro:bitが連携でき、生徒にも使いやすそうだったので、micro:bitを使ってみることにしました。
※https://microbit.org/ja/guide/
授業のねらいとコンセプトがこちらです。micro:bitはもともとイギリスのBBCが中心になって開発した、教育用の小型のコンピューターボードです。1台2200円程度と比較的安価ですが、25個のLED、2個のボタンスイッチのほか、各種センサーやBluetoothの無線通信機能もついています。
これを2人で1台使って、いろいろな説明をしながら30分程度で完成できるプログラム体験を複数行うこと、それを通して身の回りにある様々なものがプログラムで動いていることを実感させることを目指しました。
具体的な授業の準備がこちらです。1クラス分としてmicro:bit22台と、コンピュータと接続するための1メートルのUSBケーブル22本を予算化して購入してもらいました。届いたのが7月ですので、夏休みに全ての機材にナンバリングして、micro:bitとUSBケーブルのセットを作るとともに、作業の手順を説明する5分程度の動画を作りました。実際に作業しているところを書画カメラで撮影しただけのものですが、動画を作っておくことでとても楽になりました。
micro:bitを活用したプログラミング
授業は5回にわたって行いました。そのほかに2回Scratchを活用しました。
1回目は、最初ですのでmicro:bit本体の構造を確認してボタンやセンサー、LEDなどがついていることを見せた後、サイトからコードをダウンロードする方法やファイル名の付け方など、基本的な操作を教えます。その後本体に搭載している5×5個のLEDを点滅させるプログラムを作りました。
2回目はABボタンを活用して、カウンターを作成しました。ここでは、変数の定義を押さえた後、変数を使ってAボタンでカウントアップ、Bボタンでカウントダウンができるようにしました。
3回目はセンサーを使ったプログラムです。
micro:bitには明るさ、温度、傾き、方向のセンサーが付いていますが、ここでは温度センサーを使って30℃を超えたらH、超えなかったらCを表示する、という条件分岐の入ったプログラムを作りました。2段階ができたら、今度はさらに30℃以上をH、25~30℃をO、それ以下をCと3段階に改良するプログラムも作りました。そこまでできた生徒は、傾きセンサーと組み合わせて傾きの大きさを表示するものも作らせました。
温度を下げるためには、ペットボトルを凍らせたものや保冷剤を実際に本体に押し付ける、という形で行いました。
4回目はじゃんけんです。これは、2回目の乱数と、3回目の条件分岐を組み合わせたプログラムになります。
0をグー、1をチョキ、それ以外をパートすることにしてAボタンで条件分岐を使ってじゃんけんを表示させ、Bボタンで表示を消去します。中には0と1以外の設定をし忘れて「パーが出ません!」という生徒もいますが、なぜ失敗したかをコード上で確かめることも大事な経験になります。
5回目が通信です。 micro:bitにはBluetoothが搭載されていて、通信ができます。無線グループを設定して、文字列の送受信を行います。受信側は、無線を受信したら文字列を表示する。送信側はAボタンを3回押したら名前のイニシアルを、ボタンBが押されたら「OK」を、振動センサーを使って3回揺さぶられたら「help」を送信する、というプログラムを作って送受信を試してみます。
2人一組で行うことで無理のない授業展開。ただしフリーズも起こりうる
活動を振り返って、まず良かった点としては、PC上だけでなく実機を使ってプログラムでものを動かすという体験ができたことです。シミュレーションがきれいにできましたし、実機のしくみがわからないという生徒はいませんでした。
また、2人ペアで行ったので、難しいことはできませんが、逆に無理のない展開ができました。ペアで行うことで「間」を取ることができ、その間に生徒は他の人のやっていることを見に行ったり、自分の活動を見直したりできたのはよかったと思います。また細かいことですが、Scratchはプログラムをするには楽しいのですが、初めはいたるところでニャーニャー鳴き声がしますので(笑)、音がmicro:bit単体では出ないのも、落ち着いてできたかなと思います。
逆に困ったこととしては、まず保存をする時にPCがフリーズしてしまうことが1クラスで2~3台あったことです。これは何が原因かはわかりませんが、そうなってしまうと一からやり直しということになります。
また、ブラウザ上でプログラミングをしたものを保存する時ダウンロードフォルダーに入れるのですが、そのままシャットダウンすると、作ったプロジェクトファイルが消えてしまいます。通信を使うプログラムの時は、どういう具合か通信がうまくできないことも時々ありました。
さらに、コンピュータ教室・準備室ともにWindows10が入っていなかったので、生徒が作ったプログラムのファイルをアプリから開くことができず、いちいちブラウザからファイルを開かなければならないため、評価に非常に手間がかかりました。
さらに高度なプログラムを作るために必要なことは…
今回は、簡単なプログラムをいろいろやってみるという方針で授業を作りましたが、今後は小中学校でプログラミングを学んだ生徒が入学してくることを鑑みて、もっと高度なプログラムを作ることを考えなければいけないと思います。その場合、50分の中でどこまで踏み込めるか、レベルアップした場合生徒はどこまでついて来られるか、授業準備や評価はどうしたらよいかという点についても検討が必要です。
また、先に述べたように、マシントラブルはどうしてもついてまわります。そのリスクがあるという前提で、高度な内容にどこまで踏み込めるかということも、問題になると思います。そして、高度な内容を行うのであれば、やはり1人1台は持たせたいというのが正直なところです。
[参考サイト]
・Microsoft MakeCode for micro:bit
https://makecode.microbit.org/
・micro:bit【マイクロビット】学んで遊べるサンプルプログラム| micro:bit Lab.【マイクロビット】
https://sanuki-tech.net/micro-bit/
神奈川県高等学校教科研究会情報部会実践事例報告会2018 ポスターセッションより