過日、筆者の主催する「秋葉原プログラミング教室」で、特別無料講義としてシャープのロボホンをテーマにしたプログラミング教室が行われ、大盛況のうちに終了しました。

 講師はロボホンの開発者として知られるシャープの景井氏と栗本氏で、シャープが公式に行うロボホンのイベントとしては東京で初の試みです。

 講義は前半のロボホンをScratchで動かす方法のレクチャーから始まり、後半のハッカソンまで一気に進みます。

 筆者は普段はScratchでのプログラミング教育には否定的ですが、ロボホンに限って言えばScratchによるプログラミングはむしろ合っているかなと感じました。

 なぜかというと、ロボットに関してはプログラミングの方法が確立しておらず、将来的にもビジュアルプログラミングが主流化する可能性が少なくないことと、そもそもそれほど高度なアルゴリズムを実現する必要が無いからです。

スクリーンショット 2017-07-30 11.43.29

 ロボホンには、最初から「〜〜と喋る」とか「〜〜が聞こえるまで待つ」などのブロックが用意されているので、ごく簡単な人工無能のようなものならビジュアル言語でプログラミングできるようになっています。

 秋葉原プログラミング教室では、最初の一ヶ月間はビジュアル言語で学ぶので教室の子どもたちにもとっつきやすかったのではないかと思います。

 また、プログラミングへの興味を持続させるには、コール・アンド・レスポンスが不可欠で、プログラミングした結果が、普段は画面の中にしかなかったものが、ロボホンという物理的な存在と対話することで実際に世の中に「或る」ものとインタクトするというインパクトを考えるとこの「体験」を子供のうちにしておくことはかなり有益と考えられます。

 

 LEGO MINDSTORMSのような通常のロボットプログラミングに比べて、ロボホンのプログラミングの何が良いかというと、LEGO MINDSTORMSのプログラミングは多分にメカトロ的であり、プログラミングの本質に迫ってはいるものの、使いこなすには相当な地頭の良さ、誤解を恐れずにいえばIQの高さが必要です。

 もともとIQが高い子供であればLEGO MINDSTORMSで十分なのですが、大半の子供はそうではありません。

 LEGO MINDSTORMSのプログラミングはかなりややこしく見えるので大人でも混乱することがありますし、高度な応用をするためにはそれに特化した頭の使い方を覚える必要があります。「特化した」とは、要は応用が効きづらい、ということです。IQの高い子が訓練のために使うならばLEGO MINDSTORMSはMinecraftの物質版と呼んでもいいかもしれません。

 ロボホンのプログラミングの場合、できることは非常に限られています。限られているがゆえに、逆に子どもたちが想像力を働かせやすいのです。

 簡単な思考実験をしてみましょう。子供に玩具を与えるとします。レゴとサイコロではどちらがより簡単にゲームを作ることができるでしょうか。

 答えはサイコロです。レゴは応用範囲が広すぎて、ゲームに収束するまでに時間がかかります。サイコロは応用範囲が狭すぎて逆にゲームが作りやすくなります。

 似た話は、将棋盤と将棋の駒にも言えます。
 碁石と将棋の駒ではどちらが普通のこどもの創造性を高めるでしょうか。

 碁石は、単純で応用が効きすぎるために創造性が高い子供でないとうまく遊ぶことが出来ません。
 その証拠ではないですが、碁石を使った遊びは五目並べと囲碁、三山崩しくらいです。囲碁がうまれてから何千年、その間、数々の子供や「遊びの天才」が碁石で遊んだはずですが、発見されたゲームはたったの3つです。

 ところが将棋の駒で考えるとどうでしょう。
 もとの将棋に加え、はさみ将棋、将棋崩し、回り将棋、とバリエーション豊かです。また、ハンデキャップも、囲碁の場合は碁石を星に配置するなど固定的ですが、将棋の場合は角飛車落ち、金銀落ち、挙句は王以外は全て落とす19枚落ち、というものまであります。こうなるとほとんど完全に別のゲームです。

 C言語が囲碁だとすれば、 ロボホンのScratchは将棋的です。
 できることが狭められているので、却ってプログラムの中身ではなく、外見の作り込みに集中できるわけです。

 最後のハッカソンでは、それぞれの子供達がチームごとにアイデアを出し合い、わずか20分でロボホンのプログラミングを終えていました。

 作られた作品は、ジャンケンやしりとり、クイズなどです。

 特にジャンケンのプログラムは凝っていて、乱数を使ってロボホンの手を決め、「ポン」という音を聞いたらロボホンが「グー」「パー」「チョキ」を出すようになっています。

 ロボホンによって、アイデア次第で色々な遊びができることが示されました。

 これが、たとえばMIND STORMだと、なんとなくガチャガチャモノが動いて終わりになりがちなのですが、筆者の教室ではプログラミングは表現手段である、という教育方針があるので「自分の考えをロボホンで形にする」ということが実現できて子どもたちは随分満足そうでした。

 筆者が子供のころプログラミングに興味を持ったキッカケは、画面でした。

 その頃、テレビ画面というのは、テレビ局しか操作できないように思えていたわけです。なんせビデオカメラはおろか、ビデオデッキさえ普及していませんでした。

 どうして画面に人やものが映るのか、その仕組が知りたくて何度となくテレビを分解してみたこともあります。しかしいくら分解しても、「なぜ?」なのかはぜんぜんわからないのです。

 それからコンピュータを見た時、最初に驚いたのは、キーボードを打つと画面に文字がでてくることです。

 単純にそのことが嬉しくて筆者はプログラミングに夢中になりました。

 逆に今の子供は、物心付く前にコンピュータに触れています。だから子どもたちにとって「画面の中」を操ることは、当時の私達よりは感動が薄いのではないかと思うのです。赤ちゃんは鏡が好きですが、三歳児は鏡を見ても喜びません。当たり前にそこ「ある」ものだからです。

 すると今の子どもたちが興味を持ちそうなのは、今手出しすることが難しそうなもの、たとえばロボットやAR、VRといったもののプログラミングになるでしょう。

 実際、知人の息子がARを体験してみたいというので会社に遊びに来たことがあります。残念ながら14歳未満は長時間VRをやると斜視になってしまうため、ごく短い時間だけですがHoloLensに彼の好きなポケモンを入れて空中に出現させてみました。

 これでプログラミングをするにはどうすればいいかと聞かれたので、まずはUnityをやるといい、と教えました。

 彼がまだそれをやっているかどうかは知りませんが、きっかけというのは意外なところに転がっているものです。あとは向き不向きがあることなので、ハマると強いんだろうなと勝手に思っています。

 子どもたちは「不思議」なことが大好きです。この「不思議さ」に夢中になることが、子どもたちの成長と知能の発達を助けます。不思議さに興味を持たないと、刺激や知識を与えられることが当たり前になってしまい、自分の頭で考えることが出来ない大人になってしまいます。

 今、ロボットが動いて喋ることは「不思議」なことのひとつであり、その中身に少しでも触れることが出来、ロボットの振る舞いをプログラミングするという体験は、子どもたちにとって大きな刺激になったのではないかと思います。