令和3年度(R4.4.11まで)

プログラミング学習(校長室より)

突然ですが・・・

A地点にロボットが向こう向きに立っています。ロボットは「向きを変えられる」「線の上を進む」「前にだけ歩く」「交差点では必ず止まる」ものとします。

さて問題です。

「矢印のように進んで、Bに到着するようにロボットに指示をしなさい」

例えば・・・「まっすぐ行って、つきあたったら左に進め。」
相手が人間なら、これが一番簡単な指示で、到着できそうです。
しかし、この指示ではロボットにとっては不備があります。例えば「左に進め」という指示はいけません。横に歩けるロボットならば横歩きをしながら左に進むかもしれませんが、「前にだけ歩く」ロボットですからつきあたったら止まったままです。この指示では左に行けず、Bへ着きません。

どうすれば良いでしょう。

向きを変えられる」とありますから「左に向け」という指示があればよいわけです。

命令されたことを正確に行うコンピュータだからこそ、意図した処理を行わせるための正確な命令が必要です。コンピュータは人の思いを推し量ってはくれません。0か1の世界です。正確に動かないとしたら、それはコンピュータが悪いのではなく、使っている方に不備があると言うことになります。

正答例としては「前に4ます分歩く。左に90度向きを変える。3ます分歩く。」となります。


こういった段取り、道筋を一つ一つ丁寧に進めていくことがプログラムを作るときに大切になります。これが「論理的な思考」ということです。こういう力を、身につけていきましょう、というのがブログラミング学習です。プログラムを作る作業を通して、考え方を身に付けてほしいというねらいがあります。

今日は6年生が1時間ずつ理科の授業でMESHを使って「暗くなったら電気をつける。明るくなったら電気を消す。」という命令が回路に反応するためのプログラムの勉強をしました。

ITの草野先生とともに学びました。「おお、ついた!」「ほんとだ、消えた!」と各班から声が上がっていました。

プログラミング教育、プログラミング学習、言葉を聞くと難しそうですが、「論理的な思考」という部分で言えば、学習や生活のあちこちの場面で必要なものであり、コンピュータがなくても日々鍛えられています。特に「会話」では、わかりやすく相手に伝えるために工夫が必要な場面は多くあります。

未熟な子どもたちですから、言葉足らずでいさかいになることもあります。考えながら、振り返りながら人と関わることでわかっていくこと、できるようになることがあります。そういう意味で、トラブルはあっても人と関わることは大切ですし、学校はその勉強ができる大切な場所です。いろいろな活動の中で、論理的に考える経験を積んでいけると良いですね。

しかし、会話1つにしても、あまり小さなうちから「論理的に」を求めて、生活がきゅうくつになってしまったら何にもなりません。日常的に育てていく力なら「楽しく」は忘れずにいたいです。