プログラミングとは?

1 パソコンで作る工作作品

子どもの頃、みなさんは段ボールなどを使って工作を作り、遊んだ経験はないでしょうか。勿論、ハサミやのり・テープなどを使って切ったり貼り付けたりして自分だけのオリジナル創作物を作ったことはないでしょうか。材料も道具も3次元の物で、出来上がった作品も3次元です。そうして作品を使って、ままごと遊び的なことをして楽しんだ経験はないでしょうか。

パソコンでも同じように作品を作ることができます。スクラッチで言えば、パーツはブロックとして用意されているのでハサミで切り取る必要はありません。また、ブロック同士が自動でくっ付きあうのでのりやテープも必要ないことになります。ただ、ブロックというパーツを組み合わせて作品を組み立てていくところは同じです。

2次元と3次元の違いは、大きな違いですが好きなことを考えて好きなように工夫して作品にして遊ぶ(学習や発表や体験)というところは同じです。子どもの頃は、道具や材料を集めるところから始まりましたが、スクラッチの場合は全部用意されています。後は考えて工夫して創作するだけです。作ったもので友達と見せ合ったり楽しんだり、親に教えたりという部分は同じです。

2 プログラミングをするということ

スクラッチでプログラミングすることは、幼いころの段ボールで工作するのと同じと書きました。

しかし、その手軽さや工夫・発表のしやすさは格段に違います。もう一つ決定的に違うところは、段ボールでは、多少のいびつさやパーツ不足などは大きく影響しませんが、プログラミングでは、その処理がうまく流れていないと、つまりプログラミングの文法的に正しくないと最後までしっかり働いてくれないということです。

そこで、プログラムを動かしながら、どこまでがしっかり処理が流れていて、どこからミスを犯しているかを見つけ出す必要があります。デバッグと言われる修正作業です。この修正箇所を見つけて処理が正しく流れるようにするには、論理的思考力が必要です。これがプログラミング的思考です。

文科省では、「プログラミング教育ではコーディング(プログラムを組むこと)を直接的に目標とはしていない」と言っていますが、コーディングする経験なくしては、本当のプログラミングを理解したとは言えないでしょう。ただ、そこまで体験させるのは小学校高学年や中学生ということになるでしょうか。うまくいかなかった原因を究明し、修正してできるようになったときの喜びはひとしおです。