校長ブログ

プログラミング(校長ブログ)

先日、6年生が算数で取り組んでいた「プログラミング」のプリントをまねしてみました。吟味していないので不備があったらごめんなさい。
A地点にロボットが向こう向きに立っています。ロボットは「向きを変えられる」「線の上を進む」「前にだけ歩く」「交差点では必ず止まる」ものとします。

さて問題「矢印のように進んで、Bに到着するようにロボットに指示をしなさい」
答え1「まっすぐ行って、つきあたったら左に進めば着く。」
これが一番簡単な指示になるでしょうか。
しかし、この指示では不備が多く、ロボットは動けません。例えば「左に進めば」という指示はいけません。横に歩けるロボットならば横歩きをしながら左に進むかもしれませんが、「前にだけ歩く」ロボットですからつきあたったら止まったままです。この指示では左に行けず、Bへ着きません。

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

命令されたことを正確に行うコンピュータだからこそ、意図した処理を行わせるための正確な命令が必要です。

正答例としては「4ます分歩く。左に90度向きを変える。3ます分歩く。」となります。
こういった段取り、道筋を一つ一つ丁寧に進めていくことがプログラムを作るときに大切になります。「論理的な思考」ということです。こういう力を、身につけていきましょう、というのがブログラミング学習です。

しかしながら「論理的な思考」という部分で言えば、学習のあちこちの場面で必要なものであり、日々鍛えられています。




例えば、本校の2年生の算数『大きな数』の学習で「10000は100がいくつ?」というものでのつまずきが少なくないと聞きました。
これは覚えるものではありません。
「100が10個で1000。1000が10個で10000。だから、100が100個で10000」と道筋に沿って考えれば良いわけです。途中の「1000が10個で」というワンクッションがキーです。しかし「100が」と「1000が」の部分が混乱をきたすかもしれませんし、文章だけではわかりにくい。
前にも触れた覚えがありますが「算数は(場面の絵を)かいてみる」ことが大切です。
このように算数の問題は、階段で例えると、あえて、1段抜かしや2段抜かしのものがあります。その階段を自分で1段ずつ上がっていくことをしないと、つまずいてしまうのです。
算数を教えていたときは「魚を釣っておいしそうだからといって、いきなり頭からかぶりつく人はいないだろう。食べるには、うろこを取り、生か焼くか煮るか考えてさらに調理をする。そしてやっと口に入れるわけだな。算数も同じだよ。」なんて例え話もしました。
別の例です。
一気に答えを出そうとせずに、上のように、「途中の式を書く」「必要な筆算を書く」「繰り上がりを書く」そして、最後の見直しのために「書いたものを消さない」というようなことが本当に大切です。一つ一つを丁寧に行えば、必ず答えにたどり着けます。(小中の子どもたち、だまされたと思ってやってごらん。)こういうことを丁寧に意識して行うことで、論理的な思考は身についていきます。

子どもにとっては、「やっていて楽しい」ことは大変重要なので、パソコンに向かった方が「楽しい」でしょうけれど。



プログラミング教育、プログラミング学習、言葉を聞くと難しそうですが、そのために必要な論理的思考を育てる場所はあちこちにあります。しかし、会話1つにしても、あまり小さなうちから生活がきゅうくつになってしまったら何にもなりません。日常的に育てるなら「楽しく」は忘れずにいたいですね。

宣言が出て3回目の週末です。感染症対策を講じた上で、健康で有意義なものとなりますように。