「プログラミング的思考」とは? 重要性と鍛え方を徹底解説
小学校プログラミング教育がスタート
学習指導要領改訂により、2020年から小学校においてもプログラミング教育が始まりました。「子どもは授業についていけるだろうか?」「家庭でもプログラミング学習をさせるべきだろうか?」といった不安を覚える方も少なくないでしょう。
しかし、小学校プログラミング教育では、実際にコーディング(プログラム言語を使ってプログラムを書くこと)をするわけではありません。ベースとなる「プログラミング的思考」を育むことが目的なので、過度に心配する必要はないといえます。
とはいえ、プログラミング的思考は、これからの時代を担う子どもたちに必要不可欠な能力です。可能であれば、家庭学習に取り入れておきたいものでもあります。
「プログラミング的思考」とは?
文部科学省は、プログラミング的思考を次のように定義しています。
「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」※1
もう少しかみ砕くと、プログラミング的思考とは、ある目的を達成するために必要な手順や動作を試行錯誤しながら考える、論理的な思考力のことです。
お気付きの方もいるかもしれませんが、プログラミング的思考はコンピュータプログラムに限ったものではありません。我々は、日常でも何気なくプログラミング的思考を行っているのです。
※1 引用:文部科学省『小学校プログラミング教育の手引(第三版)』より
https://www.mext.go.jp/content/20200218-mxt_jogai02-100003171_002.pdf
「プログラミング的思考」の一例
例えば「限られた時間と食材でいかに効率的に夕飯を作るか?」といった場面でも、プログラミング的思考は使われています。
多くの方は、「夕飯の完成」というゴールに向けて、さまざまな工程を適切な順番で行い、時には複数の工程を同時進行で行うなど、どうすれば素早くゴールに到達できるかを思考しているはずです。
このように、料理ひとつとっても、人間は無意識的にプログラミング的思考をしています。
しかし、これをロボットやコンピュータにやらせようと思うと、非常に膨大な指示書(プログラム)が必要になります。
コンピュータは人間の指示を忠実に反映する反面、細かく指示しなければ何もできません。指示した内容が間違えていれば料理は正しく完成しませんし、「塩を少々」などのあいまいな指示や矛盾があるとフリーズしてしまうでしょう。
普段何気なく行っている作業を細かく分解し、コンピュータにわかる表現(記号)で指示する能力も、プログラミング的思考の重要な要素です。
プログラミング的思考の重要性
現代ではコンピュータが生活のさまざまな場面で利用され、今後もAIやロボットの活用は加速度的に拡大していくとされています。
コンピュータを効果的かつ主体的に活用するには、仕組みの理解が欠かせません。コンピュータの仕組みを理解するための第一歩が、プログラミングへの理解です。
従来、プログラミングの知識はプログラマーなどの専門職だけが持っているものでした。しかし、これからの時代は職業や業界を問わず、普遍的な知識として求められています。
プログラミング的思考の鍛え方
プログラミング的思考を鍛えるのに最も手軽な方法が、「プログラミングとはどんなものか」を体験することです。子ども向けのプログラミングソフトやアプリを活用すれば、ゲーム感覚でプログラムを体験できます。
また、普段何気なく使っている機器や装置の仕組みを想像したり、内部構造を推測したりすることも有効です。
例えば、ジュースの自動販売機の中身はどうなっているか、車のナビはどうして現在地を示すことができるのかなど、クイズ形式で子どもに考えさせてみましょう。
重要なのは、正解を当てることではなく想像してみることです。ブラックボックス化したものの中身を想像することで、段階を踏んで考える習慣が身につき、プログラミング的思考力の強化につながります。
プログラミング教育は家庭でもできる
料理をはじめ、家事はプログラミング的思考の宝庫です。部屋の片づけや掃除、洗濯、買い物などの手伝いを積極的にやらせてみましょう。
この時、実行に移す前に計画を立てるだけでなく、終わってから反省点を洗い出すことも重要です。どうすれば効率的にこなせるか、どこを改善すれば楽にできるかなど、実行後に振り返ることで学びは深まります。
まずは家事の手伝いからプログラミング学習を取り入れてみてはいかがでしょうか。