マジカル・スプーン in 大泉2007

はじめに

都立大泉高校情報科では,2007年度の2学期末から3学期にかけて2学年必履修科目「情報A」の授業にてコンピュータの動作原理や情報の符号化を扱った.2006年度は「マジカル・スプーン」は「情報A」の講座のうち1クラスにおいて実験的に導入し情報Aのカリキュラムの中で実践できる等一定の成果を得た.そこで2007年度はすべてのクラスで「マジカル・スプーン」を導入し,普段の授業の中で取り入れてみた.ここでは,2007年度における成果と課題についてまとめてみようと思う.

授業の目的

私が「マジカル・スプーン」を使った授業を通して生徒に知ってほしいことは,それほど多くはないが,とても重要なことである.

  • コンピュータは,指示されたパターンのことしか実行できない
  • 指示は,符号にしないとコンピュータには通じない
  • コンピュータは,受け取った符号の内容のみを,受け取った順番の通りに実行する

この3点について知ってもらうこと.これがこの授業の目的である.つまり,「都合よく」というものは人間が何とかするしかない.コンピュータとは,基本的にはそれだけのシステムであって,今日享受している「便利さ」とは,コンピュータを使う人(開発者そしてユーザ)が知恵をはたらかせてこそ実現できるもの.そんなことを考えてもらえれば本望である.

2007年度版「マジカル・スプーン」

2007年度に限っては,開発者から無料で「マジカル・スプーン」一式をお借りできた.そこで授業に入る時期に入ったところで,信州大学工学部情報工学科の香山瑞恵准教授よりお借りした.キットの内容も2006年のものと比べて洗練されていることは,見ただけでもうかがい知ることができる.

p1010001.jpg

この写真がお借りした「マジカル・スプーン」一式である.内容は,

  • 左にある小さな箱には,生徒がPCと接続して符号の設計や符号の入力テストをするために使う基板が入っている.このセットの中では,「マジカル・ボックス」という名前がついている.今回は10台お借りした.
  • 中央にある2階建てになっている基板は,PCに接続して符号のセットを読み込む機能と,入力された指令を無線で飛行船へ送信する機能を搭載している.主に教師が操作することを想定している.本物の飛行船を動かすので,「リアル」という名前がついている.2006年度版と比べて基板の大きさもかなりコンパクトになっており,アンテナもどこについているのかが分からないぐらいに小さくなり,しかもUSB-シリアルケーブルで接続可能になって使い勝手も良くなった.
  • 手前にある銀色のものは,飛行船のヘリウムガスを入れるための風船(エンベロープ)である.ちなみに,ヘリウムガスは自分で用意することになっているが,ネットの通販で6300円程度,池袋の東急ハンズで買うと8400円程度,アメリカで買うとその半額以下である.200リットル程度の缶を買うと,エンベロープ2袋を満タンにできる.
  • 右の工具箱に入っているのがエンベロープにセットするための飛行船の動力源である.無線で信号を受信し,それをプロペラの動作に変換したり,高度を測定して飛行高度を維持するといった機能が搭載されている.これも大きさがだいぶ小さくなったほか,つり下げではなくマジックテープで張り付ける方法を取っているためエンベロープへのセットが大分楽になった.

「マジカル・ボックス」や「リアル」はPCと接続するので,ドライバをセットする必要があるが,作業自体は簡単である.「マジカル・ボックス」をPCにセットした様子を,次の写真で示す.なお,スプーンはお借りするものには含まれてはいないが,100円ショップで購入できるのでそれほど負担にはならない.

p1010006.jpg

ディスプレイに表示されている画面は,符号を設計したり,設計した符号をテストしたり,「リアル」に符号のセットを読み込ませるためのソフトウェアである.実際の授業では,飛行船を飛ばす前にシミュレーションするという段階で使用した.

実際に符号を入力するためには,基板の右端にある円筒形の超音波センサの上でスプーンを叩く.たたく際のテンポは2006年版ではあらかじめ決められたテンポでなければならなかったが,2007年版になってテンポは入力する人が自由に決めてよいことになった.これにより入力ミスが激減したこと,そして続けて指令を打つことが楽になったことなど,飛行船を操作するハードルがかなり下がった.

2007年度の授業内容

曜日によって授業時数に差があるので,ここでは標準的なクラスでの授業の流れを示す.2007年度は2時間連続の授業が可能となったので,2時間連続授業で3回分をこの授業に配当した.

生徒は4人1班程度でチームを作り,符号の設計やフライトを行った.

  • 飛行船の動作パターンを考える(1時間)
  • 符号化とパリティビットの役割についての勉強(1時間)
  • シミュレータを使いながら符号のセットを考え,設計意図を簡単にプレゼンテーション(2時間)
  • 飛行船フライト実験(2時間)
  • まとめ(フライト実験の後で時間をとって)

いざ実践!生徒の反応と今後の課題

大泉高校の生徒は勉強に対して比較的真剣に取り組むので,座学の内容に関してはよく理解していた.偶数パリティを使ってエラーを検出するところは定期考査にも出題したが,かなりの正答率であった.しかし,飛行船を使った学びのポイントは,座学でよく準備したことをフライト実験によって確認できるかどうか,にある.座学で勉強していることを覚えているだけではいけない.そのような意味では,生徒の反応は興味深いものとなった.

「飛行船が前に進まない!」

程度の差はどうあれ,どのクラスでもこうなる.でも,そこからがクラスによって反応の差が出ます.

「前に進むようになんとかしてくれ!」

いい反応ですね.コンピュータに「前進」という指令を出せば,飛行船は前に進んでくれる.そういう設定だったじゃないか,ということです.でも,なんとかするための主体は,この授業ではあくまでも「人間」だということに気付く班と,そうでない班とでフライトの内容に差が出た.つまり,

さぁ,どうしてでしょう.なぜ前に進まないのでしょう.

という問いに対して,それは飛行船に問題があるからだ,もしくは何らかのトラブルが発生したからだ,とつまり,基本的に飛行船のコンピュータは自分の意図どおりにきちんと動いてくれると思ってしまうと,飛行船をゴールへと導くことが困難になる.

学校の教材はとても良くできている.それは小学校からずっと完成された教材を手にしているので体験的によく知っている.だから,飛行船はあらかじめの設定の通りには動いてくれないということで不満を口にする生徒の反応は,その意味では自然なことである.または,やはり飛行船をゴールさせて達成感を味わいたい,という思いがかなわなかったところの「真面目さゆえ感じる不満」もあったことだろう.

一方で, 冷静になって考えてみれば,

「前進」という指令は,飛行船にとっては進行方向についている2つのプロペラを正方向に回転させること

ということは座学で勉強した.つまり,それだけなのだ.だから,飛行船のコンピュータにとっては前進指令を受け取ったら,2つのプロペラを動かせばミッションコンプリートなのである.

だから, プロペラは正しく回転していても,飛行船が意図通り飛ばない理由として,

  • 部屋の空気の流れに飛行船が乗ってしまう
  • モーターの特性に微妙な個体差があるかもしれない
  • 動力源のセットされている状況の微妙なズレ

などが考えられるだろう.そのような考察をまとめた班もあった.

今回は通常の実験レポートのように考察を班ごとに提出してもらうことで授業が終わったが,提出物を共有してクラスごとに議論する時間をとれば,目的に沿った学びがかなり深まっただろう.2007年度は授業時間数の関係でそのあたりをコーディネートすることは難しかったが,2008年度はこの実践で得た反省点をもとに,授業内容を充実していきたい.

おわりに

今回は,コンピュータの動作原理を理解する授業を「マジカル・スプーン」を用いて構成した.飛行船の操作を通してコンピュータがいかに融通のきかないものであるかを知り,融通を利かせるためには知恵や技術を活用しているという事実を確認するための教材として優れていると感じている.