まずRaspberry Piの基板にコードを差し込む
「ねえ、”コールド”しちゃったよ」
「それを言うなら”フリーズ”でしょ!」
「あ、そっか!」
JR飯田橋駅の北にある東京理科大神楽坂キャンパス。その中のひとつ、森戸記念館の2階では、子どもたちのはしゃぐ声が響く。といっても遊んでいるわけではない。プログラミングに取り組んでいるのだ。
この日の朝、やや緊張した面持ちで親とともにやって来たのが8人の小中学生だ。4つの島に分かれて着席すると、朝10時、株式会社Shinonomeの取締役COO、有馬和彦さんが挨拶も早々、さっそく本題に入った。
「じゃあ、今日はどのゲームを作る?」
Shinonomeは東京理科大学で初めて学生が起業した会社だ。学生のためのインターンシップの企画やEラーニングの普及、そして今回の講座のようにプログラミングの知識を広めることをミッションとしている。この日は理科大公認の学生団体Unitusのメンバーとともに進行と講師を務める。
子どもたちには1人に1台のコンピュータが割り当てられている。といっても目の前にあるのは手のひらほどの紙の小箱だ。中に入っているのは「Raspberry Pi」(ラズベリーパイ)という小型のコンピュータで、箱を開けるとむき出しの基板が表れた。緑色のボードに大小四角いチップやソケット類が並んでいる。
え、これがコンピュータなの?
そんな疑問は想定ずみなのだろう。4つの島へ散った有馬さんら講師を務めるUnitusのメンバーの理科大生4人は、この小型コンピュータの機能と組み立て方を理路整然と説明していく。
「マウスとキーボードをここ(USB)に差し込んで……」
見かけは小さく頼りないRaspberry Piだが、画像出力やUSB端子、マイクロSDカードのリーダーを備え、各機器につなげば、立派なコンピュータとして働くのだ。だが、さっそくある島ではそこまでに行き着かないうちに行き詰まってしまった。ある子どものRaspberry Piの基板が、白いプラスチックのケースにはめ込むことができないのだ。どうしてもひっかかる。むき出しの基板は持ちにくく、力を入れればポキリと折れてしまいそうだ。
講座は始まったばかり。ここで挫折してしまってはプログラミングの楽しさを教えるどころではない。子どもって、ちょっとしたことで興味をなくしてしまうんだよなあ、と心配して見ていると、案の定、その子の表情もちょっと曇り気味に。うーん、これから約2時間、大丈夫なのだろうか。
「いやー、それならケースは要らないですね。そのままつけちゃいましょう」
講師はそんなトラブルなどどうということはないという態度だ。裸の基板のまま、キーボードやマウスのUSBコードを差し込むように指示した。なーんだ、ケースなしでも動くんだ。はたで見ていてホッとした。最後に電源を差し込むと、やがてディスプレイにOSが立ち上がった。やったー、というのは私の心の声。当の子どもたちは意外に冷静だ。まだ、少し緊張気味なのだろうか。
「○キーが押されたとき」「X座標を△ずつ変える」
立ち上がったのはLinuxというOSだ。講師の指示通り、画面の上にあるメニューバーを探って行くと「Scratch」が起動した。この日に使うプログラミング言語だ。言語といっても、ドラマでハッカーがやるように、真っ黒な画面にカタカタとコマンドを打つわけではない。ほとんどの作業をマウスでこなすことができる。
「Scrach」は縦に3つの画面に分かれている。まず、左側のスペースが、コンピュータの命令がブロックの形で収まっているブロックパレット――プログラムの倉庫だ。それぞれのブロックには日本語で「右に進む」などの命令が書かれている。そこから必要なブロックをマウスでつかんで真ん中のスペースに置けば、プログラムができあがる。真ん中のスペースは作業場と思えば良い。ここで組んだプログラムの動きは、右側のプレビュー画面ですぐに確認することができる。
ある子どもが作ろうとしていたのが「トレジャーハンター」--宝探しゲームだ。まず、グレーのマントのハンターの画像を呼び出し、ハンターが動くプログラムを作る。「○キーが押されたとき」と「X座標を△ずつ変える」と書かれた2つのブロックを真ん中のスペースに引っ張り出してつなぎ、○には「右向き矢印(→)」を、△には数字の「10」を入れる。するとハンターは「キーを押すと右へ10動く」ようになる。「Scratch」が優れているのは、こうして作ったプログラムを、すぐに右側のプレビュー画面で動作を確認できることだ。
キーボードの「→」を押せばハンターは右へ動く。お、動いた動いた。押した分だけハンターは進む。だが、逆向きに動かそうと「左向き矢印(←)」のキーを押しても何も起こらない。まだ、プログラムがないからだ。そこで先ほどと全く同じブロックをもうひとつ中央画面に引っ張り出し、今度は○に「←」を、△に「-10」を入れる。するとハンターは左へも10動けるようになった。
講師たちはひとつひとつのブロックの意味を説明しながら、子どもたちのゲーム作りを助けていく。「座標ってわかるかな?」。左右に動かすX座標の動きができるようになれば、上下にも動かしたくなる。その時は「Y座標を△ずつ変える」のブロックを選べば良い。
ハンターが目指す宝箱を加え、ハンターの行く手を阻むコウモリも配置していく。こうして、ハンターが、左右に動いてジャマをするコウモリをよけながら、宝箱までたどり着くというゲームができあがっていく。真っ白だった背景に迷宮の絵をはめ込むと、いっきに宝さがしゲーム的雰囲気が出てきた。子どもたちもすっかり緊張が解け、部屋のあちこちが騒がしくなっていく。
もちろん誰もがそう簡単に進められるわけではない。ハンターが動き出して「やった!」と思った瞬間、コンピュータがフリーズしてしまうこともある。そのたびに講師はリブート(再起動)の方法を教え、また最初からやり直す。
「こういう時のために、ひとつの工程が終わったら必ず“保存”ね!」。フリーズもリブートも保存も教育の一環だ。根気のいる仕事を講師たちは笑顔でこなしていく。格闘すること約1時間半。やっとゲームがそれらしく動き出した。単純なゲームだが、自分で作ったところに大きな意味がある。子どもたちはすっかりハマったようで目の輝きが違ってきた。
(続く)
むき出しの基板の小型コンピュータにちょっとビックリ。「やった! 動いた」と思っても、突然フリーズ。トラブルを克服しながら、コンピュータを自分のものに。
取材講座データ | ||
---|---|---|
小型PCで学ぶ小中学生のためのプログラミング対策講座~ゲーム作りを通してプログラミングを楽しく学ぶ~ | 東京理科大学公開講座 | 2017年1月15日 |
2017年1月15日
文・写真/本山文明
〔関連講座〕「小型PCで学ぶ小中学生のためのプログラミング対策講座」