WEDGE REPORT

2018年9月22日

»著者プロフィール
閉じる

ゴン川野 (ごん・かわの)

フリーランスライター

小学生より写真とオーディオをはじめ、高校では写真部部長として暗躍。コピーライターを経て雑誌ライターに転職。バブル期にオーディオ誌で荒稼ぎしてハイエンド機器を揃える。現在はアップル株値上がりで撮影スタジオ兼リスニングルームの新築を画策中。阿佐谷在住。合資会社GON代表。

 2020年から日本の小学校で「プログラミング教育」が義務化される。具体的な内容は今後の検討によって決まる予定で、教材開発や教諭の研修に関しても、まだ何も決まっていない状態だ。身に付けるのはプログラミング言語ではなく、プログラミング的思考であるという。つまりコードを書くのが目的ではなく、論的思考力を身に付け意図したことをどうコンピュータに処理させるかが考えられる人材を育成するための学習活動となる。

 具体的にはどういうことなのだろうか。今回、青山学院大学シンギュラリティ研究所メディア・ラボが主催して、3日間にわたって開催した「青山学院コンピュータサイエンス・サマースクール」の取材を通して、プログラミング的思考について考察したい。サマースクールは小学4、5、6年生を対象に1日4時間、3日間で計12時間おこなわれた。講師陣はシアトルから現役ソフトウェアエンジニア、プログラムマネージャ経験者などを招き、マイクロソフトMakeCodeチームが開発したカリキュラムをベースに子供向けにカスタマイズ、実際のソフトウエア・エンジニアリングの現場での作業に近い体験ができるという。

 スクールではタブレットPCに加えて「micro:bit」(マイクロビット)と呼ばれる教育用のワンボードコンピュータが使われ、ソフトとハードの両面から、PCと手作業を使い1日ごとに成果物が作られた。

マシュマロタワーで互いを知る

 取材したのはサマースクール2日目、テーマは「チームワークで作ってみよう」。習得するスキルには変数・定数、疑似コーディング、センサー、アジャイル開発アプローチと記載されていた。講師は3名、生徒は32人。今日は4人で8チームを作って課題に取り組む。最初におこなわれたのが昨日のレトロスペクトである。マイクロソフト社でも毎朝実践されており、今日は何をするのか、昨日気付いたこと、楽しかったこと、残念だったことをチーム内で報告しあう。ソフト開発の周期が2週間に1回と超短縮化されたことで、日々の目標と問題点を明確にすることが必要になったという。ホワイトボードにはGoodとBadの文字が書かれ、子供達の発言が次々と書き込まれた。

 次に始まったのがチームでお互いが知り合うための自己紹介ではなく、それの代わりとなるゲーム、マシュマロタワーだった。各チームに紙袋が配られた。中にはモール20本、ヒモ、爪楊枝10本、スポンジ、テープが入っている。この材料でマシュマロに見立てたスポンジを先端に乗せたタワーを作る。制限時間18分で一番高いタワーを作ったチームが勝利というルールだ。

 ゲームの意図はチーム内でコミュニケーションがとれるようになること。プログラミングにはチームワークが必要不可欠、このゲームを通してチームのメンバーの性格を見極められる。最初、子供達は各自バラバラに作業を始めるが、途中から制限時間が少なくなったことに気付き、協力し始める。紙袋も使っていいという条件なので、袋を逆さに立てて、その上にタワーを築こうとするが最も数の多い材料のモールは柔らかいため自立しない。結局、テープと爪楊枝を使ってモールを補強したチームが勝利を収めた。高さを競うゲームだったが、紙袋にアニメのキャラを描く子供もいて、勝利よりもウケを狙うチームが現れたことに驚かされた。

Codeは英語で書く

 次の課題はmicro:bitを使って万歩計を作るというものだ。プログラムはPCにインストールされたブロックエディタを使う。完成したプログラムはエミュレートでき、問題なければUSB接続でmicro:bitに転送する仕組みだ。子供達は昨日、すでにエディタの使い方を学んでいる。このソフトは日本語化されているがあえて英語で操作する。ブロックエディタにはJavascriptモードがあるが、Javascriptに限らずほぼすべてのコンピューター言語は英語をもとにつくられている。実践的にCodeを学ぶなら英語でプログラムを考える必要があるのだ。

 さらに先の課題にmicro:bitを使ってサイコロを作るというのがあり、LED画面に1から6までの数字を表示させる方法を考える。Bボタンを押すとランダムな数字を0から5まで表示するというコーディングは完成したが、ブロックエディタでは数字の1から表示という選択肢がない。

 ここから子供達のクリエイティブが発揮されるのだが、なかにはブロックエディタを使わずにJavascriptを使って0を直接入力しようと試みる子供も現れた。この方法はうまくいかなかったが、まだ始めてたった2日、子供達の吸収力の速さに講師でさえ驚いている。子供達は興味があって楽しいものなら短い時間で吸収して、どんどん成長していくのだ。

ゲーム作りで役割分担を知る

 午後の課題は、チームのメンバーでmicro:bitのサイコロを使った、オリジナルの双六ゲームを作ることだ。ここで発表されたのが、チーム内の役割だ。プロダクトマネージャ、デザイナー、エンジニアが2名の計4名で誰もが何らかの役割を果たさなければならない。プロジェクト全体の決定権はマネージャにあり、ゲームに関する決定権はデザイナーが持つ。エンジニアはゲーム内で使うもう1台のmicro:bitのコーディングとゲームボード作りを担当する。

 

 役割決定に3分、チームのネーミングに2分、ゲームデザインは10分で決めるように分刻みの指示が与えられる。この課題は大人向けものであり、小学生にプロダクトマネージャが務まるのかと思っていたら、ゲーム作りという目標があるため意外に自分の役割に忠実に作業を進めている。講師が強調したのが、とにかくスケジュールを守ること。つまり時間厳守。プロトタイプなのでいい加減でいい。完璧を求めるな、意図が伝われば大雑把でもいい。完成度よりもスケジュール優先であることが求められた。

関連記事

新着記事

»もっと見る