ロボットカーでゴールを目指す 失敗から学ぶ大切さ
9面記事プログラミングしたロボットカーをコースで試走する子どもたち
東京・立川市立第一小学校
東京都立川市立第一小学校の高根美里教諭によるプログラミング授業は、東京都プログラミング教育推進校、平成28~30年度・立川市教育委員会ICT教育推進校の研究発表会として公開された。ここでは、1つひとつの命令となる機能ブロックを組み合わせるだけで簡単にプログラミングができる「Scratch」教材を活用してプログラミングに挑戦。自分たちが選択したコースに沿ってロボットカーを動かし、より速く、より効率的にゴールを目指す活動の中から、「身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気づく」ことが目的になる。
授業は、そんな本時のめあて「記号(ブロック)の組み合わせを工夫して、できるだけ短いプログラムでコースを攻略しよう」を理解するために、前時の振り返りとなる「よりよいプログラムの作り方」について、班ごとで話し合う場面から始まった。
子どもたちは「ブロックの使い方をよく考える」「ブログラムを短く、簡単にする」「プログラムを作ったら、一度確認してみる」などの意見を発表。これを受け、高根教諭は「ゴールを目指すだけでなく、“繰り返し”の命令を使うなど、より短い記述でロボットを動かすプログラムを考えること。そして、最短距離でゴールする方法を見つけることが大事になります」とアドバイスした。
続いて、ロボットカーを動かすために広い教室に移動。自分たちの技量に合わせてコースを選択して挑戦できるよう、障害物を設けるなど難易度の異なるコースを複数設定した。また、ロボットカーにはタッチ、距離、色、音などに反応するセンサーが搭載されているため、これらのアクションを上手くプログラムに組み込んで、最短距離で速くゴールにたどり着くようにすることが求められる。
2人組になった子どもたちはタブレットの画面に顔を突き合わせて、相談しながらブロックを組み立てていく。作成したプログラムは動作のシミュレーションを見ることができるため分かりやすく、確認しながら改良を加えていけるので効率的だ。こうした作業のあと、次はいよいよロボットカーにデータをインストールしてコースでの実走に入る番だ。
だが、実際に動かしてみると、曲がり方が大きすぎでコースを逸れてしまったり、障害物にぶつかってしまったりと思い通りにいかず、そのたびに何度も話し合いながら、プログラムをやり直していく。実際にロボットを動かすことによって生じる誤差があることに気づいたり、その「失敗」から知恵を出し合って協力する大切さや、課題解決の力を養うのがプログラミング学習の大きな目的になる。
「ちょっとした微調整が難しかったが、次回はその辺に気をつけてチャレンジしたい」、「色んなセンサーを工夫して使って、プログラミングしたい」など、授業の振り返りでは、学びの深まりを感じさせる子どもたちの前向きな声が聞かれた。