見出し画像

ロボット・プログラミング教室の「ロボット」事情①

〜何故Scratchメインの教室に変化したのか〜


わたしの教室は「ロボット・プログラミング教室」と名乗っています。2017年9月に最初に教室を開いたときは、レゴ(EV3)のロボットをメインとして、ロボットのプログラミングを軸に、一部Scratchもやるというスタイルでスタートしました。ところが、開室して1年ちょっとで、Scratchがメインで、ロボットの方はサブというか、生徒さんの選択制のような感じに変化してしまいました。わたしの教室は、「子どもたちのやりたいことをやる」ということを基本にしていて、その結果こういうことになったわけです。つまり、子どもたちには、ロボットよりもScratchの方が人気があると言って良いのだと思うのです。

レゴのプログラマブル・ロボット「マインドストームEV3」
現在終売となりましたが、これは名機だったと思います。

わたしはかつて学研の「科学と学習」の「科学」の編集者だったことがありまして、もともとSTEM(その頃そういう用語はまだありませんでしたが)教育方面の教材製作の仕事をしていたのです。それがあるときレゴのマインドストームEV3というロボットに出会って、「これは素晴らしい教材だ! プログラミングの入門に最適だ!」と感じたことがきっかけで、都内の科学館でのプログラミングイベントを経て、教室をはじめてしまったわけなのです。

そしてわたしは、教室の開室にあたり、EV3のプログラミングのカリキュラムを作り、これを60ステップほどの教材として用意しました。この教材については、実は自分の教室の開室前に、他のロボット教室さんへライセンス(もちろんご依頼に基づいてカスタマイズしましたが)したくらいですので、内容についてはかなり自信のある教材だったのです。

ところが、実際に自分の教室で、この教材を使ってロボットメインのプログラミング教室をはじめた結果、途中で飽きる生徒が続出してしまい、そういう子どもたちがみんなScratchでゲーム作りをはじめたのです。

これは、わたしの教室ではロボットを組み立てる、ロボティクス方面よりもプログラミングに重点を置いていたということと少し関係があるかもしれません。つまり、わたしの教室には、最初から上の写真の状態に組み立て済みのEV3を何台か置いておき、それをプログラミングするということで始めたわけです。つまり、わたしの教室ではレゴのロボットを自分で組み立てるということを最初はさせなかったのです。

これにはいくつか理由があるのですが、わたしとしては、

  • レゴのEV3が高価なので、購入させるのは家庭の負担が大きすぎる

  • 組み立てるだけの時間は「学び」の時間として教室にはあまりふさわしくない

  • 教室の目的はプログラミングを学ぶことで、ロボティクスを極めることではない

というような観点からそのようなシステムとしたわけです。もちろん、入室時にロボットの購入を必須とするフランチャイズ系の教室がすでにあることも十分意識していましたが、当初から地域の「そろばん教室」的な気軽なプログラミング教室という目標もありましたので、月謝を高くしないという観点からもこのようなスタイルを取ったわけなのです。

まず、ロボットをプログラミングで動作させる場合、カリキュラムの内容は、まず逐次実行でモーターを動かしたり、ライトを点灯したり(EV3なら画面に画像や文字を表示する)、音を出したりというところからスタートします。そして、車輪を付けたロボットとして前進、後進、左右回転と繰り返しの組み合わせで動かすプログラムを作っていくわけです。その次はセンサーを組みあわせて、条件分岐を学びます。さらに進んで、初歩的なライントレースあたりまでやっても、まだ変数や関数は使わずにすみます。恐らく誰がどのようにカリキュラムを作っても、この流れはそれほど変わらないはずです。一方Scratchでゲーム作りをはじめると、どうしても座標、角度などの概念がすぐに出てくるし、ゲームとなると、すぐに得点とか自分のHPとかを扱う必要がでて、変数を使うことになるわけです。ですから、入門時は、まずロボットから入って、一通りロボットやってからScratchとイメージしていたのです。

STEM教材を作っていたわたしとしては、その合間にも、摩擦の問題とか、慣性の問題とか、実際に動作を測定して比例につながる考え方とか、そういうことが理解出来るように意識したカリキュラムを作りました。ところが、そういうことにまったく振り向いてくれない、面白がってくれない子どもがこれほど多いという現実を思い知らされたわけなんです。

ロボットのプログラミングの課題で唯一盛り上がったのは、「ロボットバトル」でした。これは、カラーセンサーをとりつけたEV3で、写真の"リング"の黒い線から外に出ないように走行するプログラムを作って、2台で戦うというものです。このロボットのプログラムは、条件分岐もループも必要ですので、ロボットのカリキュラムのなかでは、ライントレースに入る前の総仕上げ的なイベントとして位置づけており、子どもたちにはこれを目指してガンバロー的な象徴的なアクティビティではあったのですが、とにかくこれは盛り上がりました。

ロボットバトルのリング。黒い線から外に出ないで動き回るようにロボットをプログラムする。黒い線の外側に赤い紙が貼ってあるのは、押し出されてカラーセンサーが赤を認識したら、「ギブアップ」するプログラムを作るため。

ただ、やはり中にはこれがやりたいだけで途中の課題は飛ばしたい、理解できてなくても先に行くみたいな態度の子も多かったですし、さらにこのバトルにたどり着いたとしても、プログラミングが楽しいわけでも何でも無い子が多かったんですよね。こちらとしては、バトルの合間に「勝つためにはどうプログラミングを工夫すれば良いか」という観点で、いろいろとプログラムをチューニングしたり、変更したりということをやって欲しいわけなんです。だから、そういう声がけを常にしたりするわけですね。

でも、バトルで盛り上がると、とてもじゃないですが、そんな状態にならないわけです。それでもしつこく声をかけると、あるとき

「オレはバトルがたのしいだけなんだ! プログラムなんてどーでもいい!!」

と、絶叫した生徒がいたりするわけなんです。わざわざ教室にまでやってきてここまで言う子は珍しいのですが、実際子どもたちの本音はそれに近いところでして、結局バトルしても、あんまりプログラムの改造とか、「どういうときに負けるのか、どういうときに勝てるのか」みたいな観点でバトルを観察して、その内容をロボットの改造やプログラムの改造に生かそうなんて子どもは皆無なんです。それこそがこちらが指導したい内容なんですが、そこに気づかせることがわたしにはできなかったということなのです。

ところがなんです。一番子どもたちが楽しむロボットバトルをやってもこんな状態だったのに、そういう子どもたちに、今度はScratchでゲームを作ることをやらせてみると、これがハマるのですね。ロボットにあんなにすぐ飽きた子どもが、こちらではけっこう頑張れるんです。それに、乱数とか変数とか、案外引っかかるのではないかと感じていた概念も、比較的簡単に乗り越える子がけっこういるわけです。もちろん中には乱数や変数に行く前の逐次実行の部分で引っかかるような子もいるのですが、それはロボットをやっても同じ事なのだと思います。むしろ、こちらの想定以上にScratchなら、諸々をクリアする子の方が多いんです。つまり、わたしが最初に目指した「ロボットを通じてプログラミングに入門する」よりも、最初からゲーム作らせた方がスムーズにプログラミングになじんでいく子どもが多いということに改めて気づいて「なんだ、Scratchすげーな」という意識に変わったということなんですね。

こうして、わたしの教室はScratchメインの教室となって、今に至るわけです。最初教室名を決めるときに「ロボット・プログラミング教室」と、ロボットとプログラミングの間に「なかぐろ」を入れたのは、もともとロボットだけで完結するつもりは無かったということの表れなのですが、改めて「・」入れといて良かったなぁと思う今日この頃なのです(^^)