昨日9/10の中日新聞サンデー版に、プログラミング教育の特集が組まれていました。

プログラミング教育についてまったく知らない人にとっても理解しやすいように表現された良い記事でした。

プログラミング的思考の例。ちょっとイジワルを言うと、このプログラムには”ある欠陥”があります。考えてみてください。記事の最後に一例を紹介します。

この記事の中で非常に大切な考え方が、ちゃんと押さえてありました。
それは、プログラミング教育の目的は、「プログラミング的思考を育てる」ものであるということです。
記事の中で、プログラミング的思考とは、

将来どのような職業に就くとしても時代を超えて普遍的に求められる思考

としています。繰り返しになりますが、このとらえかたが非常に重要なのです。

変化に対応できる力=プログラミング的思考

プログラミング教育への誤解・誤ったとらえかたとして以下のようなものがあります。

●●●・プログラミングができるようになることが目的である
●●●・プログラミング言語を覚えることが目的である

●●●●→記事にもあるように、プログラミング教育の目的は、
●●●●●●特定の技能の習得ではなく、普遍的な思考力を育むことです。

●●●・子どもをプログラマーにしたいわけじゃないからウチには関係なさそう

●●●●→どのような職業に就いても必要な力であり、すべての子どもの将来に関わってきます。
●●●●●●プログラミング的思考を全く用いない職業は、機械やAIに取って代わられるか、
●●●●●●著しく付加価値の低いものになると思います。

●●●・マニュアル人間になりそう

●●●●プログラミング教育で得られるのはむしろ、マニュアルを”創る“能力です。
●●●●●●課題を見つけ、解決する、創造性のともなう能力です。

ちょっと大きな話になりますが、プログラミング教育が“理念にもとづいて運用されれば”、日本は将来非常におもしろいことになると思います。
なぜなら、プログラミング教育を受けた子たちは、論理的に考えることを知っており、課題を見つける力を持ち、それを解決する力を持つからです。
改善のスピードと質が高まったり、新しいモノやサービスがうまれるスピードも加速するでしょう。

わくわくするのと同時に、プログラミング教育を「受けた子」「受けなかった子」で世代間格差みたいなものができてしまうかも、と そんな心配が浮かんだりもします。

伊與田塾では、少人数ですがロボットプログラミングコースを実施しています。(プログラミングする際の画面は、記事のイラストにあるものとそっくりです。)
また、マインドアクセラレータ(MA)の授業の中でもプログラミング的思考を育てることを意識した活動・教材を取り入れています。

(答えあわせ)プログラミングの欠陥
記事のプログラミングの欠陥の例を1つあげます。
ニンジンが売っていた場合に値段について判断する処理がないため、極端な話1本1000円だったとしても買ってしまいます。当然、帰ったらママに叱られることになります。もしこれが「自動お買い物ロボット」のプログラムだったとしたら、とんだポンコツロボットですよね。
(実際には値段の他にも、大きさ、ニンジンの傷み具合などをチェックする必要もあるでしょう。)

プログラミング教育の現場では、子どもたちは上記のような失敗と、それに対する改善を繰り返していくことになります。1つの課題に対して、さまざまなやり方で解決していくことになります。言い換えると、生徒1人1人、できあがったプログラムは異なるということです。現場の先生方は大変でしょうが、そうした多様性を認めないとプログラミング教育の目的は達成されません。