石井英男のデジタル探検隊

女子小学生限定プログラミング教室体験記

~Scratchでカメラ機能を使ったオリジナルプログラムを作成

「子どもはオタクに育てろ」が持論

 PC Watchも創刊から18年近くが経過しており、古くからの読者の年齢層も少しずつ上昇し、小中学生のお子さんがいらっしゃる方も少なくないだろう。筆者にも、小学4年生女子と小学1年生男子の2人の子どもがいる。仕事柄、家にいることが多いため、子ども達と接する時間も長く、幼稚園や学校、習い事などの送り迎えも筆者が担当することが多い。特に子ども好きというわけではないのだが、子育てや教育についての関心はもちろんあり、興味がありそうなことはできるだけやらせてみている(もちろん、本人の意志は尊重しているが)。

 その甲斐あってか、娘は、ガンダムが大好きで、モビルスーツに関しては筆者よりも遙かに詳しいという、ちょっと変わった女の子に育っている。勝負事が好きで、勝ち負けがはっきり決まるデュエルマスターズやコロッサスオーダー、バトルスピリッツ、バディファイトといったTCG(トレーディングカードゲーム)も、小1の時に自分からやりたいと言って始めたため、最近始めた同級生にはまず負けることはない(あくまで小学校の友達レベルの話。ショップ予選を勝ち抜いて進む関東エリア大会予選では惨敗してたので)。また、ガンプラは幼稚園の頃から作り始め、半田付けは小2で体験して気に入ったと言っている(Make Tokyo MeetingやMaker Faireなどに幼稚園のときから連れて行っていた)。

 別に娘にエンジニアになって欲しいとかいうわけではないが、ハードウェアとソフトウェアの素養を身につけることは、さまざまな場面で役立つと筆者は考えており、できるだけそういう機会を持たせようと考えている。要するに、「子どもはオタクに育てる!」みたいな感じである。

 前置きが長くなってしまったが、今回は、娘をサイバーエージェントの関連子会社であるCA Tech Kidsが主催する、女子小学生限定のプログラミング体験教室「Tech Girls 1DAY CAMP」に参加させてみたので、その様子を紹介したい。

Tech Girls 1DAY CAMPとは

 Tech Kids Schoolでは、現時点で100名を超える小学生がプログラミングやデジタルでのモノづくりを学んでいるという。Tech Girls 1DAY CAMPは、情報科学教育分野での女性の活躍を支援している津田塾大学女性研究所支援センターの協力で開催されたもので、4月4日の午前10時から午後4時まで、東京渋谷のサイバーエージェント本社内にて行なわれた。

 対象は、小学4年生から小学6年生までの女子小学生であり、定員は20名、料金は無料である。内容は、Scratchによるプログラミング体験であり、Scratchに初めて触れる子どもを前提としているが、1日でオリジナル作品のプログラミングに挑戦するというなかなか意欲的なものだ。

Scratchの画面。右に表示されているブロックがプログラムとなる。実行結果は左上のウィンドウに表示されるが、フルスクリーン表示も可能

 まず、簡単にScratchについて説明しておこう。Scratchは、MITメディアラボが開発した初心者向けのプログラミング言語学習環境であり、構文を手で入力することなく、ブロックを組み合わせていくことで簡単にプログラミングが行なえる、ビジュアルプログラミング言語の一種である。バージョン1.4までのScratchを利用するには、アプリケーションをダウンロードしてインストールする必要があったが、2013年5月に公開された新バージョンのScratch 2.0では、ウェブアプリケーションとして動作するようになったため、アプリケーションのダウンロードやインストール作業が不要になり、より手軽に利用できるようになった。

 Scratchは、マウス操作やタッチ操作中心でプログラミングが可能であり、キャラクタ(スプライト)を簡単に動かすことができるため、子ども達にも取っつきやすいことが魅力だ。筆者は、Scratchという言葉そのものは知っていたが、実際に触った経験はなく、娘はそもそもScratchという言葉を知らなかった。ただし、UEIが開発したビジュアルプログラミング言語「MOONBlock」(前田Block)については、ゲンロンカフェで行なわれた子ども向けプログラミング教室に2回参加している。MOONBlockとScratchは、かなり似ている部分が多いので、小学4年生とはいえ十分ついて行けるだろうと判断した。

津田塾大学の大学院生とCA Tech Kidsのスタッフからなる講師陣

 1DAY CAMP開始は午前10時だが、会場は9時半にオープンし、ここで参加者は親と別れ、指定されたグループの席へと着いた。グループはAからEまでの5つで、友達も一緒に参加していた子どももいたようだが、基本的には初対面なので、講師とメンター(子ども達にアドバイスをする役割)が自己紹介した後、グループ内で子ども達も自己紹介をさせられていた。

 時間になり、演習が始まった。今回のプログラミング体験教室は前述したように、津田塾大学女性研究所支援センターの協力で行なわれており、メインの講師は、津田塾大学女性研究所支援センターの吉田葵さんが務め、メンターも津田塾大学の大学院生とCA Tech Kidsのスタッフで構成されていた。一部のスタッフを除いて、講師、メンター陣もすべて女性であり、まさに女性による女性のためのプログラミング講座といった雰囲気だ。

「Tech Girls 1Day CAMP」は、渋谷に複数あるサイバーエージェントの建物の1つで開催された。部屋は広く机もゆったりと配置されていた
まずは講師やメンターの方々の自己紹介からスタート。津田塾大学女性研究所支援センターのスタッフ、津田塾大学の院生、CA Tech Kidsのスタッフが講師とメンターを務めている

 今回の教室は、午前中にScratchの基礎を学び、午後の前半でScratchのカメラ機能の使い方を学び、午後の後半でカメラ機能を使ったオリジナルプログラムの作成を行なうというスケジュールになっている。参加者の大部分は、Scratchの経験は全くないとのことだが、希望して受講に来ているだけあり、PC自体の操作は慣れているようだ。また、2~3名だが、Scratchのことを知っており、学校などで使ったことがあるという参加者もいた。

 講師の説明は分かりやすく、参加者みんな真剣に話を聴いており、小学生とはいえ、さすがに高学年の女子はしっかりしていると感心した。子ども達相手でなくても、一度に多くの人に対してプログラミングの基礎を教える場合、講師1人だけでは説明はできても、そのあとの演習では手が足りなくなりがちだ。しかし、本教室では、講師以外にメンターが1グループに1人以上配置されており、分からない場合はすぐに助言をもらえるので、子ども達もスムーズに演習ができていた。

 ちなみに、用意されているマシンはMacBook Airで、筆者の娘は、普段マウスでPCを操作しているため、タッチパッドでのドラッグ&ドロップなどの操作にやや手こずっていたようだ。

本日のスケジュール。朝10時から午後4時までとかなり長いが、午前中はScratchに慣れ、午後の前半でScratchのカメラ機能に慣れ、最後にカメラで遊ぼう(オリジナルプログラムの作成)というスケジュールになっている
まずは、Scratchの概要を解説。参加者は20名弱だったが、そのうち2~3名がScratchを知っていた
講師の説明中は、椅子を移動してスクリーンの前に集合する。対象は小学4年生から6年生の女子なので、みんな真剣に話を聴いていた
一通り説明を受けると、自分の席に戻って、実際にScratchでのプログラミングを行なう。演習用マシンとしては、MacBook Airが使われていた。各グループに1人以上、メンターが配置されており、分からない場合は助言をもらえる

親睦を深めるレクリエーションも秀逸

 午前中の演習が終わると、お昼ご飯タイムになり、参加者は講師やメンターと一緒に談笑しながら、持参の弁当を食べていた。

 午後の演習が始まる前に、グループの親睦を深めるため、レクリエーションが行なわれた。このレクリエーションは、「パスタタワー」と呼ばれる競技で、グループのメンバー全員で協力して、パスタと粘着テープを使ってできるだけ高いタワーを作るというものだ。与えられるパスタは20本で、折ったりしてもよいが、タワーは手を離しても倒れず自立する必要がある。また、タワーの一番上にはマシュマロを刺さなくてはらない。制限時間は10分間で、10分経過した時点でタワーから全員手を離さねばならない。

 言葉で書くと、簡単なようだが、実際にやってみるとこれがなかなか難しい。バランスと剛性を考えてタワーを組んでいかないと、倒れてしまうのだ。また、パスタだけではかろうじて自立していても、一番上にマシュマロを刺すと、その重量で倒れてしまう。結局、1回目の挑戦では、5グループと津田塾の大学院生グループの全てが失敗してしまった。子ども達から、悔しいのでもう一度やりたいとの声が出て、急遽2回目をやることに決定した。2回目のチャレンジでは、2グループがタワーを完成させることができ、高さが高かったグループが優勝となった。

 パスタで、タワーやブリッジを作るという課題は、構造力学の勉強にもなり、大学の工学部などでも授業に取り入れているところもあるという。見ていても面白かったので、今度自分でも挑戦してみたい。

午前中の演習が終わると、お昼ご飯タイム。講師やメンターと一緒に持参の弁当を食べた
午後の演習の前に、グループの親睦を深めるためのレクリエーションが行なわれた。まず、レクリエーションに使うパスタやマシュマロが配られた
レクリエーションの課題は、「パスタタワー」。与えられたパスタと粘着テープを使ってできるだけ高い自立したタワーを作り、上にマシュマロを刺すという課題。制限時間は10分間だ
パスタは折ってもいいのだが、バランスと剛性を考えて作らないと、途中で倒れてしまう
1回目は全グループが失敗に終わり、もう一度やりたいとの子ども達の声で2回目がスタート。2回目は2グループが成功した。こちらは2位のグループのタワー
優勝グループのタワー。パスタを何本か束ねて強度を上げている

新たにサポートされたカメラ機能を使って、オリジナル作品を作る

 レクリエーションが終わったら、再びプログラミングの演習である。まず講師が、Scratch 2.0の新機能の1つであるカメラ機能の使い方を解説した。カメラ画像を背景の上にオーバーレイ表示させ、指定したスプライトに重なる画像の変化量を検出する方法が解説された。この機能を使うことで、画面に表示されている物体を手で触って動かすことができるようになる。カメラ機能を一通り使えるようになったら、最後の課題「カメラであそぼう」のスタートだ。

 カメラを使ったオリジナル作品を1人ずつ作るというのが、この課題である。プログラミングを始める前に、アイディアシートが配られ、そこに作りたい作品のアイディアを書くように指導が行なわれた。言わば仕様書を書くことに相当するわけで、アイディアシートにアイディアを書くことで、内容の見通しがよくなり、プログラミングもしやすくなる。

 アイディアシートが書けたら、実際にプログラミングを始める。もちろん、午前中からの講義でマスターできたScratchの機能はごく一部であり、自分がやりたいことがあっても、それをどうプログラミングすれば分からず、悪戦苦闘している参加者も多かったが、そうした場合はメンターや講師がアドバイスを与えていた。

再び午後の演習が開始。まずは、Scratch 2.0で新たにサポートされたカメラ機能についての解説が行なわれた
再び自席に戻って、カメラ機能を利用したプログラミングの実習を行なう
最後の課題「カメラであそぼう!」についての説明。カメラを使ったオリジナル作品を1人ずつ作るというのが課題だ
プログラミングを始める前に、どのような作品を作りたいか、アイディアシートにそのアイディアを書くように指導された
まずは、作品のアイディアを考えて、アイディアシートにまとめる
アイディアシートが完成したら、いよいよプログラミング開始だ。これまでに習ったことだけでは実現が難しいことは、メンターに教えてもらえる

自分の作った作品を他のお友達に遊んでもらって優秀作品を決定

 オリジナル作品のプログラミングに与えられた時間は正味40分程度しかなく、時間が足りないという参加者も多かったようだが、時間になったので、作品の発表会が始まった。この発表会は、みんなの前で1人ずつプレゼンをするのではなく、参加者を2グループに分け、自分で作った作品の遊び方を別のグループのお友達に説明して、そのお友達に実際に遊んでもらうという形で行なわれた。また、参加者には1枚ずつアメーバシールが配布され、自分が遊んで一番面白かった作品にはシールを貼って投票が行なわれた。参加者だけでなく、講師やメンター、スタッフも子ども達から説明を受けて、遊んでいた。

 説明側と体験側のグループを交代して、全ての作品の発表が終わったら、貼られたシールが一番多かった子どもが優勝となり、前方のスクリーンで自分の作品をプレゼンする栄誉が与えられた。優勝した作品は、シンプルなゲームだが、手書きのキャラクターがかわいく、わかりやすいところが評価されたのであろう。

作品のプログラミングに与えられた時間は正味40分ほどであり、時間が足りないという参加者も多かったようだが、時間になったので発表会を開始
発表会は、みんなの前で1人ずつプレゼンをするのではなく、参加者を2グループに分け、自分で作った作品の遊び方を別のグループのお友達に説明して、そのお友達に実際に遊んでもらうという形で行なわれた。参加者には1枚ずつアメーバシールが配布され、遊んで一番面白かった作品にはシールを貼って投票を行なう
参加者だけでなく、講師やメンター、スタッフも子ども達の作品で遊んだ
最も貼られたシールが多かった子どもが優勝
優勝者は、前方のスクリーンで自分の作品をプレゼンする栄誉が与えられた

Raspberry PIで動作するScratchやポケット・ミクのデモも

 最後に、各参加者が作成したプログラムがアップロードされるURLが紹介された。このURLにアクセスすることで、自宅で遊んだり、プログラミングの続きを行なうことができる。プログラムファイルをUSBメモリなどに保存する必要がなく、どこでもプログラミングの続きができるのは、Webアプリケーションとして動作するScratch 2.0ならではの利点だ。

 プログラミング体験教室のカリキュラムはこれで一通り終了だが、最後に、青山学院大学や津田塾大学で非常勤講師を務める阿部和広氏が、Scratchのさらなる可能性を示すデモを行なった。阿部氏は、Smalltalkの研究開発で知られているIPA認定スーパークリエータであり、子ども向けに分かりやすく書かれたRaspberry PIやScratch、Squeakなどの書籍も執筆している。子ども向けのプログラミング講習会も多数開催しており、この分野の第一人者である。

 阿部氏は、Raspberry PIで動くScratchのデモや前日に発売されたばかりのポケット・ミクをScratchから制御するデモなどを見せてくれた。子ども達も、こうしたデモを興味深そうに見ていた。

 午前10時から午後4時という、かなり長丁場の教室であったが、参加者は途中で飽きたりすることなく、集中してプログラミングに取り組んでいた。娘に感想を訊いたところ、「楽しかったので、帰ったら家でまた続きをやりたい」とのことで、他の参加者も満足した表情を見せていた。

 筆者が子どもの頃は、プログラムと言えばまずはBASIC言語というのが一般的で、Scratchのようなビジュアルプログラミング言語に比べると、やはりハードルが高かった。学習指導要綱が改訂され、中学校の技術家庭においてプログラミングが必修化されたが、子どものうちからプログラミングに親しむことは、プラスになりこそすれ、決してマイナスになることはないだろう。今後もこうした機会があれば、積極的に娘や息子を参加させていきたいと思う。

今回の講座で作成したプログラムは、指定したURLにアップロードされ、自宅で遊んだり、プログラミングの続きを行なうことができる
最後に、青山学院大学や津田塾大学で非常勤講師を務める阿部和広氏が、Raspberry PIで動くScratchのデモを行なった
こちらは、前日発売されたばかりのポケット・ミクとScratchとの連携デモ
Raspberry PI上で動いているScratchの様子。液晶解像度は320×240ドットだが、Scratchの最低解像度は640×480ドットなので、2ドット×2ドット分を1ドットとして表示させているとのことだ

(石井 英男)