Event / Report

ロボットプログラミングで自動運転

子どもたちの挑戦意欲に応え、この夏、NTTデータこどもIT体験では、
ロボットプログラミングコースがパワーアップ。
センサーを搭載した車型ロボットが、子どもたち自身で描いたオリジナルコースを走る姿は、
まさに未来の自動運転です。

自分の作ったプログラム通りにロボットが動く
当たり前だけれど、それはとてもスゴイこと

実機が動く喜び

1

条件分岐の壁を乗り越えろ

「プログラミング入門」の新しいカリキュラムを開発するにあたり、わたしたち講師陣は、常に自ら体験して、より子どもたちに分かりやすい教え方や順序を試行錯誤しながら考えています。

ロボットプログラミングでは、車型ロボットの左右についた赤外線センサーを使い、光の反射で黒と白を読み取りながら、コースのライン上を走らせますが、このカリキュラムでの最大の難関は、センサーの数値を使った条件分岐のプログラミングです。

赤外線センサーの数字が小さければ、明るいことを意味します。
逆に、数字が大きくなれば、暗いことを意味します。
教室の明るさにもよりますが、白い模造紙の上にセンサーをあてると、数値は10くらいになります。黒い線の上にセンサーをあてると、数値は160くらいになります。

では、このような楕円のコースを左回りに走らせるには、条件分岐の考え方を使って、どのように考えればよいのでしょうか。

楕円コース

回答例としては、左回りの時は、左のセンサーを基軸とし、
左センサーの数値が80よりも小さい場合=白(10)は、前に進む
左センサーの数値が80よりも大きい場合=黒(160)は、左に曲がる
とすると、左回りのコースを車が走るようになります。

楕円コース解答例

では、右回りの時は、どのように考えればよいでしょうか。
また、左回りも右回りも同じプログラムで動くようにするにはどのように考えればよいのでしょうか。
さて、大人のみなさん、分かりますか。

実は簡単なように思えて、センサーの数値と左右のセンサーの動かし方の2軸を考えるため、意外と難しいのです。
また、条件分岐が2階層になる場合もあります。そうなると、4通りの動きを同時並行で考える必要があるため、かなり複雑な概念を理解する必要があります。

考える主体は子どもたち

では、どうやって子どもの理解を導いていくのがよいのか。
教室では、座学で子どもたちに教えていくのではなく、このような難しいポイントでは、前に出てきて、講師と一緒に考えながら、頭をフル回転してもらうことにしています。

k03

「ロボットがこの位置の時、右のセンサーは黒だよね。じゃあ、前に進む?右に曲がる?それとも止まる?」
講師が問いかけをしながら、みんなで一緒に考えます。

k04

考えた結果は、ホワイトボードで可視化します。
講師はあくまでもリード役。考えた結果は、子どもたちに言わせることが大事です。

可視化できたら、席にもどって、この動きをプログラミングします。
さて、思ったとおりに動いたでしょうか。

k05

このように、講師が実際にロボットの動きを再現しながら、子どもたちに問いかけやヒントを与え、子どもたち自身に考えさせて、気づかせる。
それが、子どもたちのやる気に火をつけ、深い理解に繋がるのです。

また、これこそが、わたしたち講師陣の腕の見せどころでもあり、事前に試行錯誤して編み出した教え方や順序が、本当に子どもたちの理解に役立ったか明らかになる瞬間でもあります。
カリキュラムを考えた人が子どもたちに直接教え、その反応を見て、教え方やカリキュラムの改善に繋げていく。
講師にとっても、毎回が真剣勝負なのです。

どんなコースでもロボットが走る?

2

まずは自分でコースを描こう

ロボットプログラミングコースのフィナーレは、子どもたち自身が、ロボットが走るコースをマジックで模造紙に描くこと。そして、そのオリジナルコースを、自分で作ったプログラムで無事に走るか確かめることです。

ここでも、わたしたち講師陣のひと工夫があります。

事前の検討では、複数のコースをA3用紙に印刷して準備しておき、コースの難易度を順々にクリアしていけば完了。と考えていたのですが、決められたキレイなコースをクリアするだけではつまらない。
どんなに曲がった線の上でも、ロボットはちゃんとセンサーの機能を使って走ることができる。ということを、子どもたちに分かってもらいたい。そして、もっと大きな紙で自由にロボットを走らせたい。という気持ちから出たアイディアが、コースを子どもたちに描かせるということ。

模造紙いっぱいに、極太マジックで好きな線をひくこと自体が、子どもたちの楽しいを拡大させる効果もあります。

k06

これも、ペンがいいのか、黒テープがいいのか、また、複数の子どもたちが一緒に1つのコースを短時間で描くにはどうしたらいいのか、わたしたち講師陣が、いろいろ試行錯誤して、編み出した方法なのです。

さっそく走らせてみよう

k07

コースが描けたら、子どもたちが、自分でプログラミングしたロボットを動かします。
さて、書いた黒い線の上を走ってくれるでしょうか。
どうやら、急な曲がり角では、まっすぐ進んで行ってしまうようですね。

実は、ロボットは、プログラムの命令でモーターが動いている訳ですが、急な曲がり角では、モーターの回転が速い、つまり車輪が回るスピードが速いと、センサーが感知しても、既にロボットが長い距離を走った後に反応することになってしまい、プログラムは正しくても、思うように黒い線の上を走らない。という事象が発生します。

そのような時は、モーターの回転を下げるプログラムに変更すれば、ある程度の曲がり角は曲がれるようになりますが、写真のような急な曲がり角がたくさんあると、かなりの難コースとなります。
これはまさに、理論ではなく、実機を動かしたからこそ分かることなのです。

でも、上手く走らなくてもいい。そこから学びが広がるのですから。
わたしたち講師陣は、子どもたちが夢中に取り組む姿を見て、「やったー!」と密かに思っているのです。

IMG_20160731_160036

ちなみに、もちろん、家でも同じことができます。
くれぐれも、家の床や畳がマジックだらけにならないことを祈っています。(笑)

JISA広報委員会での報告

3

大人の理解がかかせない

わたしたちの活動を多くの人に知ってもらい、仲間が広がることで、多くの子どもたちに機会提供の輪を広げたい。
2016年8月3日、JISAの広報委員会が開催した、プログラミング教育をテーマとした会合で、多くのメディア関係者が集まる前で、当社の取り組みを紹介させていただきました。

k08

イベントアンケートの結果では、現在、小学生の子どもたちがITについて学ぶ機会について、「ほとんどない」と考える保護者が約半数にのぼっています。
小学校でも、パソコンを使った調べ学習や、インターネットのしくみや個人情報の扱いについて学ぶ機会はあるようですが、それでも不足感を感じているのが現状です。

子どもたちへの機会提供のきっかけをつくるのは、学校の先生や保護者の方の考えが大きく影響します。
また、体験の持ち帰りを継続するには、保護者の方の協力なくしては成り立ちません。

わたしたちのイベントでは、「小学校低学年では、プログラミングは少し早いかな。と思いながら参加してみましたが、子どもが楽しく取り組んでいる姿を見て、嬉しく思いました。」という声がよく聞かれます。

また、「一緒に体験して、親も楽しめました。家に帰って親子のコミュニケーションにも役立ちそうです。」という意見もあります。

まずは、子どもだけでなく、保護者の方も体験していただくこと。そして、願わくば、保護者の方にも楽しいことだと理解していただくこと。
それが、プログラミングという子どもたちの新しい学びを継続し、深めていく鍵なのではないでしょうか。

心の種は広がります

わたしたちの活動の狙いの1つに、体験の持ち帰りがあります。
イベントでのプログラミング体験だけで「分かったつもり」になるのではなく、自律的な学びの意欲に繋げてもらいたい。なぜなら、プログラミングの世界は果てしなく広いのですから。

どうやら明るい未来が広がりそうな嬉しいデータがあります。
なんと、イベントアンケートでは、97.4%の保護者が、自宅等でプログラミングを続けたいと回答されています。

NTTデータ説明資料

2020年には、小学校でもプログラミング教育が開始されます。目的や効果については、さまざまな議論がなされていますが、まずは、大人も体験してみる。これが、子どもたちの心に種をまく、一番の早道かもしれません。

※1 JISA

一般社団法人情報サービス産業協会