子供のプログラミングの現場を知りたい!
4年後の小学校必修化などの影響か、ここ最近、子供のプログラミング教室やセミナーが話題ですよね。とはいえ、実際に子供たちがどのような環境でどのような内容のプログラミングをしているのかを知る人は多くはないと思います。
そこで、電子工作にはじまり、プログラミングやロボット制御にまでチャレンジする、”KidsVenture(キッズベンチャー)”主催のスペシャルセミナーへ行き、取材してきました! 今回から3回にわたり、その詳細をお届けしていきます。
KidsVentureは、さくらインターネット株式会社・ビットスター株式会社・株式会社ナチュラルスタイル・株式会社jig.jpの4社が合同で運営する非営利団体。近年、さまざまな組織や企業が子供向けプログラミング教室に取り組んでいますが、KidsVentureは、文字どおり、実際にこの分野で活躍している"ベンチャー"があつまって運営しているところが特徴。
連載第1回目となる今回は、KidsVentureのイベントで毎回制作する電子工作用マイコン"IchigoJam"の開発者であり、KidsVentureの一員でもある福野泰介さんへのインタビューも行いました。インタビューは別記事「子供パソコン“IchigoJam”はどうやって生まれたか?」で公開しているので、こちらも是非。
それでは、8月24・25日の2日間にわたって行われた“KidsVenture夏休みスペシャル”レポートをはじめます!
天音ほのか:消去法から文学を専攻するに至った典型的なダメ大学生。当然のごとく電子工作やプログラミングの経験はなし。そんな完全初心者が人生初のプログラミング教室に参加。子供と同じ目線からレポートしていきます。連載第3回目には、これを読まれている方々にも今回のプログラミング教室と同じ体験ができるよう、IchigoJamを実際にいちから制作します。乞うご期待!
第1日目は、IchigoJam組み立てとプログラミング
KidsVentureは、札幌・東京・大阪・福岡など、全国で、子供向けのプログラミング教室をほぼ毎月開催しています。今回の会場は、大江戸線の都庁前駅から10分、新宿中央公園のほど近くにあるさくらインターネットのセミナールーム。データセンターを運営するIT企業らしい重い鉄の扉をあけると、パッと子供たちのいる空間に出ました。
セミナールームは、ふだんは40人ほどで使う部屋で、前方にはスクリーンと講師用のテーブルがあります。部屋の中央には、机のシマが5つあってそれぞれ3~4人の参加者(小学生!)が座っています。残りの1つのシマには、講師の先生たちが控えていました。そして部屋の後側には、参観する親たちが座るために椅子が20脚程度用意されています。
募集内容には小学校4〜6年生向けと書いてあり、当然5年生や6年生といった高学年が多いのだろうと思っていたのですが、いざ会場に着いてみると参加者18人のうち、6年生が3人、5年生が3人、4年生が11人で、なんと3年生も1人居て驚きました。 ちなみに、親子そろっての参加の比率はだいたい8割でしょうか? それにしても、IT企業のセミナールームに、小学生が集まっているのは、ちょっと異様な光景のような気がしますが、社会科見学にもなっているかもしれません。
さて、いよいよ第1日目がはじまるわけですが、はじめに全体のスケジュールを見ておきましょう。
1日目 10:00〜 KidsVenture概要・スケジュール説明
10:05〜 主催者挨拶・スタッフ紹介
10:15〜 子供用プログラミング専用パソコン「IchigoJam(イチゴジャム)」をハンダを使い、組み立てる工作
12:00〜 昼食
13:00〜 【座学】プログラミングの基礎を学ぶ
【演習】初心者向けプログラミング言語「BASIC(ベーシック)」でゲーム作成
15:00〜 休憩
15:15〜 ダンボール製ロボット「paprika(パプリカ)」の足回り組み立て
〜17:00 終了・明日の案内
2日目 10:00〜スケジュール説明
10:05〜 ダンボール製ロボット「paprika(パプリカ)」の本体組み立て
12:00〜 昼食
13:00〜 【座学】ロボットの制御系プログラミング講習
14:00〜 【演習】座学で学んだプログラミングで実際にpaprikaを動かしてみよう
15:30〜 休憩
15:45〜 2日間の取り組みを振り返り、成果を発表。修了証授与
〜17:00 終了
(※両日とも10:00~17:00。当初の予定からは若干変更されている。)
IchigoJam、BASIC、paprikaなど、私もこのときはじめて聞く言葉でした。今回、子供たちがとりくむコンピューターやプログラミング言語について簡単に説明しておきましょう。
【IchigoJam】KidsVentureの運営委員の一人である、jig.jpの福野泰介氏が開発した入門用ワンボードマイコン。OSのインストールなどの面倒な作業をせずにプログラムの入力・編集・実行・デバッグを行える。また、インターネットへの接続ができないため、子供がプログラミングをするには最適の環境と言える。使用言語のBASICはナレッジが豊富なことも魅力のひとつ。ハンダを使い、基板の状態から作り上げる「キット」が1500円。キーボードとNTSCビデオ出力でディスプレイに接続するだけですぐにプログラミングの始められる「完成版」が2000円で販売されている。 IchigoJam 購入ページ
【BASIC】1970〜80年代の初期のコンピューターで広く使われた入門用のプログラミング言語。IchigoJamでは、おもちゃのようなシンプルさをめざしてあえてこれを採用。キーボードを使って文字でプログラムを書いていきます。
【MapleSyrup】IchigoJamと組み合わせて使う「こどもモーターボード」と名付けられた制御基板。これにより、IchigoJamのプログラムからモーターの動きを制御できる。アンバーオレンジの基板はその名のお通りメープルシロップをイメージしたもの。 完成版MapleSyrup 購入ページ
【paprika】IchigoJamとMapleSyrupを組み合わせ、走る、腕を前後に動かす、回るといった動きをプログラミングで制御できるダンボール製の組み立てロボット。足のキャタピラの部分はタミヤ製のタンクキット。無地のダンボールを使用しているため、絵を描いたりシールを貼ったりと、オリジナルのロボットを作れる。今回の最終ゴールは、これを組み立ててプログラムで動かすことだ。 paprikaセット購入ページ
KidsVenture夏休みスペシャル1日目
開始時刻になり、KidsVenture副代表・安中剛さん(株式会社ナチュラルスタイル)のあいさつからはじまります。「電子工作ははじめてというお子さんが多く、苦労すると思うのですが、今回の教室は点数をつけるものではありません。なるべく手を貸さずに見守ってあげてください。時間内に終わらなかったら我々が残って手を貸します」。
親子での参加が多いとはいっても、あくまで自分の力で作るということに重きを置いているようです。というのも、こういった親子参加の教室では、飽きてしまった子供の作品をしかたなく親が作ったり、「置いて行かれたら周囲に迷惑がかかる……」と思った親が、子供からなかば取り上げるような形で完成させるといった場面によく遭遇するからだとか。これも、18人の参加者に対して講師やスタッフが10人も会場に常駐するという、手厚いフォロー体制があってはじめて実現できていることと言えるでしょう。
2日間のスケジュールやKidsVentureの紹介のあとは、KidsVenture代表・高橋隆行さん(さくらインターネット株式会社 執行役員 セールスマーケティング本部長)のあいさつ。「プログラミングは難しいというけれど、そんなことはないんです。簡単だし面白いです。自分で作ったものがすぐに動くのが楽しい。勉強ではなくて遊びから学んでください。遊びから学ぶのはすごく大事なことです」と呼びかけていました。
いよいよハンダ付け開始!
あらかじめ机に用意されていたハンダゴテやニッパーなどの道具のほか、IchigoJamの一式が各テーブルに配られます。名前通り、イチゴジャムのようなかわいらしいパッケージが特徴的。今回の参加者は全員ハンダ付け経験がないそうで、はじめてみるハンダに興味津々でした。
IchigoJamをネットで購入すると、紙一面に文字がびっしりと羅列された説明書が付いてくるだけなので、子供はもちろん大人でも、難易度が高いのです。実際、ネット上には4度も作り直したという人も。ところが、イベント参加者には上のような、イラストと共に手順が細かく記載された説明書が配布されるので、これだけで十分に参加するメリットはあると言えるでしょう。
前方のスクリーンに写真や動画を流し、ひとつひとつポイントをチェックしていきます。いかにも”教室”といった感じに専門用語を使って解説していくのではなく、抵抗のことを"イモムシ"と表現したり、「今、ハンダは焼き肉のプレートと同じくらいの温度になってるから気をつけてね」と注意したりと、身近なものにたとえつつ、丁寧に解説していきます。
また、困っていそうな参加者には講師の方から積極的に声をかけていたため、年頃によってはありがちな「恥ずかしくて聞けない」という空気は感じませんでした。
2時間を予定していたハンダ付け作業も、1時間が経過したあたりで講師に最終確認をしてもらう参加者が多くなってきました。というのも、いままで116カ所ハンダ付け作業をする必要のあった基板が、今回のイベントから新しくなって、75カ所にまで減ったそうです。そのおかげか、子供たちも飽きることなく自力でハンダ作業を終えることができていました。シンプルイズベストですね。それにしても、物怖じせずどんどん作業を進めることができていたのは、子供ならではだなと思いました。私だったら、まず失敗することを想定し、石橋を壊れるまで叩くくらい慎重に慎重に作業をしてしまうのだろうなぁ。
ハンダ作業を終えたら、完成したIchigoJamの基板をビデオケーブルでディスプレイにつなぎ(今回は4.3インチのミニ液晶を使用)、PC用のキーボードもつなげます。どうやらこの時点でハンダ付けがうまくいっていないと、電源が入らないようで苦戦している子もちらほら。このあたりがIchigoJamを作る際には注意が必要なポイントですね。なお、ハンダ作業の詳しい手順は、この連載の第3回目にて実際に体験してからご説明します。
自作PCで“Lチカ”に初挑戦!
みなさん、“Hello World !”をご存知でしょうか? プログラミング言語を学ぶときに一番はじめに書いて実行するプログラムで、 “Hello World !”と表示されるだけのいわばあいさつのようなもの。そして、IchigoJamをはじめとする”マイコン”では、基板上のLEDを光らせたり消したりする“Lチカ”と呼ばれるプログラムがその役割をはたしているそうです。
LEDがつきました! 自分でいちから作り上げたものがこうして動くのはやはり嬉しいようで、それまで黙々と作業をしていた子もランプがついた瞬間は思わずニッコリ。ちなみに、LEDの向きが間違っていると点灯しないので注意が必要。
予定していた時間より早く終わった子は、ハンダ付けの際に使用した道具のあとかたづけののち、先ほどの最終確認の際に使用した液晶ディスプレイ・キーボード・自作のIchigoJamを自分の席に用意。事前に配られていたプリントを見ながら、午後に行うサンプルゲームを一足先に制作していきます。
これが意外なことに、みんな自力でできてしまっていて、むしろ午後のゲーム制作の時間に手持ち無沙汰になってしまっている子もいました。
12時になり、1時間のお昼休憩が入ります。教室に残り、持参したお弁当を食べている参加者や、コンビニに弁当を買いにいったり、近くの飲食店で食事をとるなどそれぞれ。なかには教室でお弁当を食べながらゲームを作っている参加者も! 休憩が終わって、13時からはいよいよ本格的なプログラミングに入っていきます。
”魔法使い”にお願いしてみよう
午後のプログラミングの時間は、KidsVenture講師の尾村さん(さくらインターネット株式会社)の解説で「プログラミングとは?」といった基礎中の基礎を学んでいきます。昼食後のこの時間になって、突然座学的な内容になったのでみんな眠くなってしまうかも……?と、少し心配したのですが、眠るどころか前のめりになって聞き入っていました(持参したノートにメモ書きをしている子すら!)。
それも、「この(基板の)中には人がいて、その中の人にお願いをすることをプログラミングというんだ。さっきの”LED1”は“光ってください”ってお願いしたんだね」といった具合に、先ほどのハンダやパーツの説明同様親しみやすく分かりやすい説明をしていたからこそでしょう。”中の人にお願いをする”と聞き「なんだか魔法使いみたい!」といった反応をしている女の子や”IchigoJamは1秒間に5千万回計算できる”と聞いて「スッゲー!」と目を輝かせる男の子もいました。プログラミングの仕組みを理解した上で、今度は実際にプログラムを書いてみることに。
昼間の信号は赤・青・黄色の三色がかわるがわる点灯していますが、交通量の少ない場所に限り、深夜になると赤なら赤、青なら青といったようにチカチカと点滅するようになります。その”深夜の信号機”を先ほどの”Lチカ”を応用して再現してみようということで、
LED1 : WAIT60 : LED0
と入力。すると「チカ」と1回点滅しました。では、「チカチカ」と2回点滅させるには? それを深夜の信号機のように「チカチカチカチカ……」と点滅させ続けさせるには? といったように子供たちに質問を投げかけ、自分で考えさせてから、丁寧に答え合わせをしていきます。
プログラミングの基礎中の基礎を学んだところで、お待ちかねのゲーム作りに入っていきます。
BASICでゲームを作ろう!
今回の教室で作ったゲーム「かわくだり」は、画面上に散りばめられた障害物を左右のカーソルキーを使って避けながら進んでいく“縦スクロールゲーム”。シューティング機能のない「ゼビウス」と言ったらわかりやすいですかね。
かわくだりゲームの作り方
10 CLS:CLT:X=16
20 K=INKEY()
30 X=X+(K=RIGHT)-(K=LEFT)
↑自分のキャラクターをキーボードで操作できるようにします。
40 IF SCR(X,5)!=0 ?TICK():END
↑当たり判定をつけます。
50 LC X,5:?"0"
60 LC RND(32),23,?"*"
↑自分が操作するキャラクターと障害物を表示させます
70 WAIT 3
80 GOTO 20
↑障害物にあたるまで繰り返します
(5)遊んでみよう!
速さを変えてみたり、キャラクターを変えてみたり……と、アレンジし放題なのも自作プログラミングゲームの良いところですよね!
はじめてとは言っても、もっと難しいゲーム作りにチャレンジさせたい……と思う方も中にはいるかもしれません。しかし、KidsVentureは実践的な力を身につけることを目的にしているのではなく、あくまで”きっかけ”を与える場。はじめから高いハードルを課すのは簡単ですが、それだと「難しい」「失敗しちゃった」といったマイナスの印象しか残りません。とにかく、はじめはそういったイメージを与えないよう”遊び”から”学ぶ”ことを徹底しているのでしょう。これはプログラミングに限らずすべての教育に共通していることで、子供が自ら学んでいく姿勢でないと本当の意味での知識は身につかないでしょう。
そんなこんなであっという間に15時に。15分の休憩をはさんだあとは、いよいよpaprika製作に入ります。ということで、第2回目の記事はタミヤ製のタンクキット作りからはじまります。
今回のまとめ
いままでプログラミングに触れてこなかった文系の私からすると、やはりどこかでプログラミングは難しいものというイメージがありましたが、子供たちのよろこぶ顔やおどろく顔を見ていて、それらがフッ飛んだ気がしました。やはり、"知識を身につける"という感覚ではなく、あくまで"遊び"から"学ぶ"ということが大事なんですね。
また、私も子供たちと同じく、なにからなにまで初体験だったので「こんな、たった数行でゲームができるのかぁ!」とか「ハンダ作業は思ったよりはハードルが高くないんだなぁ」だとか、いちいち感心してしまいました。
私は未知のものに対し慎重になってしまうのですが、今回の参加者たちは真逆。好奇心が真っ先に来ている感じで、「ヤケドしないようにね!」という講師の言葉が耳に入っていないのかな⁉︎ と見てるこちらが心配してしまうほどテキパキとハンダ付けをしていました。子供だからこそできることなのかもしれないなぁ。
ということで、次回は10月下旬の掲載です。乞うご期待!
(提供:KidsVenture)
この連載の記事
-
第3回
プログラミング+
いちばんやさしい“ハンダづけ”と“プログラミング”講座/文系女子大生と一緒にKidsVentureと同じことをやってみよう! -
第2回
プログラミング+
文系女子大生のKidsVentureレポート/工作のほうがプログラミングより難しい? - この連載の一覧へ