【コラム-8】プログラミング教育を進める上で持つべき心構え

プログラミング教育について思うこと、8回目の掲載です
今回は、プログラミング教育を進める上で持つべき心構えです。

プログラミング教育を進める上で持つべき心構え

 

 プログラミングの構文を理解すると、プログラミングをマスターしたような気持ちになってしまう人がいる。私も学生時代、そのように思ったことがある。コンパイルエラーが出てもすぐに直せるようになると、プログラミングをマスターしたような気持ちになってしまうものだ。例えば、英語に置き換えて考えると、文法は分かるけどスピーキングやライティングは出来ない状態だ。構文の理解は最低限の前提条件で、自分のアイデアをプログラミングできるようになるまでには、まだ道のりがある。

 

 ScratchやMakeCodeなどのビジュアルプログラミング言語の場合、コンパイルエラーなどもなく、各プログラミングブロックを直感的に理解できるので、勘違いする人はさらに多くなるだろう。プログラミングをマスターしたと勘違いして、学習を辞めてしまうのは良くない。そうなる前に、テーマなどを決めてオリジナルの作品をプログラミングさせたり、お手本のプログラムを改造させるような、自分で考えてプログラミングする授業も必要だ。このような授業では、正解は一つではない。先生が生徒一人一人を指導するには労力が必要になるので、正解のお手本プログラムなどをいくつか用意しておくと良いだろう。

 

 例えば、小学校プログラミング教育の手引の指導例をプログラミングしようとしたとき、手順書などを見ながら行ったとしても、多くの生徒がスムーズにプログラムを完成させることはできないだろう。プログラムが正しく動かない理由は一つではなく、「半角で全角文字で数字を入力した」「変数名が違う」「制御文の使い方を誤っている」「コードの実行順序(シーケンス)が違う」「間違ったオブジェクトをコーディングした」など様々なバグが発生するはずだ。

 

 先生とICT支援員で40名近い生徒一人一人のコードをチェックして、それぞれのバグを発見して指導するのは難しい。当教室では、先生一人の担当は生徒4人までだ。

 

 授業のやり方としては、正解のプログラムをプロジェクターやモニターに表示したり、プリントを配るなどして、生徒に答え合わせをしてもらう。そして、段階的に動作確認をする習慣が身につくよう、答え合わせは頻繁に行ってほしい。段階的な動作確認をせず、全てをプログラミングしてから動作確認をした場合、バグを見つけるのが難しくなるからだ。