プログラミングをしない人にこそ必須の「プログラミング的思考」

2020年の教育指導要領改訂から、小学校でプログラミング教育が必修化されます。そこでは、プログラミング教育はプログラマーを育てる教育ではなく、「プログラミング的思考」を育むことが狙いのひとつとされています。
では、その「プログラミング的思考」とは何だろう? という問いに答えるのが本書です。
「プログラミング的思考とは、ある目的を実現するために、コンピュータに対する命令の正しい組み合わせを論理的に導き出す考え方」と定義し、その考え方を解説しています。

日常的な判断を「プログラミング的思考」で分析してみよう

コンピュータに対する命令の正しい組み合わせを考える際、人間とコンピュータの違い、コンピュータ特有の問題に注意する必要があります。
コンピュータ特有の問題のひとつは、コンピュータには前提知識がなく、判断に必要なすべての情報を与える必要があること。
もうひとつは、人間の反射行動や自然現象の暗黙の了解がコンピュータにはないため、「物は下に落ちる」などの「当たり前」の情報を掘り起こし、コンピュータに与える必要があるということです。
本書ではこれらの違いやプログラミング的な考え方を「ある人が自転車に乗れるかどうか」や「天気予報の情報を見て傘を持っていくかどうか」など、日常生活で当たり前に人間がやっている身近な判断を例に挙げて、わかりやすく説明しています。

図やフローチャートで表す様々なアルゴリズム

コンピュータ特有の問題を乗り越えて、日常的な判断をあいまいさのない表現で表すときに便利なのが図やフローチャートです。
本書ではさらに「プログラミング的思考」の練習として、およそコンピュータやプログラミングらしくない題材をフローチャートで紐解いていきます。

・カレーライスを作る手順
・じゃんけんの勝ち負け判定
・必需品とお買い得品を買うか買わないかの判断
・特ダネと怪情報の見分け方
・ディベートとディスカッションの方法

身近な事例が次々とプログラミング的に解き明かされて行きます。
ところどころあいまいだった理解もここで一気に深まり、実は我々の日常生活のあちこちに「プログラミング的思考」が深く関係していることに気付けることでしょう。

学校での「プログラミング教育」のイメージを具体化するときに役立つ本

日常生活の中で起こる状況を「プログラミング的思考」で分析することは、様々な問題解決のヒントを得ることにつながります。
著者は本書のあとがきで、本書で「プログラミング的思考」を学ぶことによって、過度な依存も無用な畏怖も抱くことなく、コンピュータと良い付き合いをして欲しいという趣旨のことを書いています。

プログラミング教育を行う先生方にとって、本書は、詳細の指導案の手前で設定する、「子どもたちの将来像」や「プログラミング教育のねらい・目標」のイメージを具体化する際の大きな助けになるに違いありません。
学校でのプログラミング教育では、プログラミング体験をすることが求められます。本書で書かれている「プログラミング的思考」をベースに、プログラミング体験につなげていただければと思います。

出版社 SBクリエイティブ
著者 草野俊彦
発売日 2018/3/25
ISBN 4797395400
価格 1,080円 (税込)
仕様 新書版、192ページ

出版社による解説はこちら
Amazonの掲載ページはこちら