2020年から必修化された小学校におけるプログラミング教育。
その最大の目的は、「プログラミング的思考」を育むことです。

親としては、プログラミング的思考がどんなものか理解しておきたいな。
そこで今回は、プログラミング的思考のこんな疑問について解説していきます。
- プログラミング的思考ってなに?
- プログラミング的思考はなぜ大切なの?
- 論理的思考の違いは?
- どうやって身につければいいの?
プログラミング的思考とは

プログラミング的思考とは、目標達成のために必要なことを順序立て、効率的に実行できるよう改善していく力のことです。
文部科学省の資料ではこのように定義されています。
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
出典:厚生労働省「小学校段階におけるプログラミング教育の在り方について」

うーん、なんか難しい…。
もう少し分かりやすく教えて!
文字が長くてちょっと分かりにくいので、具体例を出してみます。
「プログラミング」と聞くと、写真のようなイメージを持つ方もいると思います。

プログラマーの人がプログラミング言語を編集している画面です。
しかし、プログラミング的思考はこうした職種以外にも通用する考え方です。
例えば「親子丼」のレシピを考えるときはどんな材料が必要か、どのような手順で作るか順序立てて考えますよね。
試作を繰り返して、より美味しい親子丼のレシピを目指す工程はプログラミング的思考そのものです。
仕事で例えると、業務をマニュアル化したり、良い製品やサービスのために試行錯誤を繰り返すといった作業にはプログラミング的思考が求められます。
つまり、プログラミング的思考はどの職種に就職おいても必要な考え方なのです。

なるほど!
でも、どうして最近になって小学校の授業に取り入れられたんだろう?
なぜプログラミング的思考が必要なのか

小学校の授業にプログラミング的思考が取り入れられるようになったのは、人工知能やAIの普及により、現在の授業内容だけでは通用しない社会になるという推測がされているからです。
文科省では、具体的に思考力・判断力・表現力を養う必要があると提言しています。
人工知能やAIは、ロボット掃除機などの普及によって身近な存在となりました。
便利な発明である一方、マニュアルに従う作業は人間よりコンピュータの方が得意なため、どんどん自動化され、人間の仕事が奪われはじめています。

確かに、マニュアル化された作業は自動化したほうが人的ミスも出ないし効率がいいよね。

そういえば、私の職場では会計がセルフレジになったなぁ…。
あの人たちはどこに行ったんだろう?
専門家も、将来の仕事についてこのように予測しています。
今後10年~20年程度で、半数近くの仕事が自動化される可能性が高い
マイケル・オズボーン(オックスフォード大学准教授)
子供たちの65%は将来、今は存在していない職業に就く
キャシー・デビッドソン(ニューヨーク市立大学大学院センター教授)
そこで文部科学省は、これからの時代を生き抜いていくために、プログラミング的思考で思考力・判断力・表現力を養うことを新学習指導要領に取り入れました。
具体的には、このような力を身に付けることを目指しています。
- 情報を読み解く
- 情報技術を手段として使いこなしながら、論理的・創造的に思考して課題を発見・解決し、新たな価値を創造する
- 感性を働かせながら、よりよい社会や人生の在り方について考え、学んだことを生かそうとする
また、もう一つの背景としてITに携わる人材の確保があります。
コンピュータをはじめとしたICT機器に触れる機会が多い現代で、その仕組みや操作方法を理解しておくことは就職した際に役立ちます。

確かに、今ではどの職場でもパソコンなどの機器を扱うよね。
文科省は、まずは普段当たり前のように使っている機器を「魔法の箱」と思わず、プログラミングで人間の意図した処理を行わせることができるものと理解してもらうことをねらいとしています。
そこから派生して、最終的にはプログラミング的思考を身に付けることを目的としています。
プログラム的思考と論理的思考の違い

プログラム的思考と論理的思考は違うの?と思う方もいると思いますが、プログラミング的思考は、論理的思考にさらに効率性を求めた考え方です。
- 論理的思考…「網羅性」を重視
- プログラミング的思考…「効率性」を重視
論理的思考は、考えられる道筋を全て挙げる「網羅性」を重視しています。
プログラミング的思考では、論理的思考を活用し、そのなかでより効率的な道筋を選択する「効率性」が求められます。
つまり、プログラミング的思考は論理的思考の中に含まれると考えることができます。
プログラム的思考で身に付く5つの力

プログラミング的思考を学ぶと、5つの力を身に付けることができます。
抽象化
抽象化とは、大切な部分のみを抽出し、他の部分を除くことです。
例えば、親子丼、カツ丼、天丼は材料や作り方に違いはあるものの、「丼に入れる」「ご飯の上に具材を乗せる」という点では同じ「丼もの」と捉えることができます。
分解
分解とは、全体像を1つずつ分けて考えることです。
例えば親子丼は、鶏肉、たまご、たまねぎ、三つ葉など、色々な食材から構成されています。
料理でいうところの材料を考える作業が分解です。
組み合わせ
組み合わせとは、目的のために試行錯誤しながら手順を考えることです。
親子丼のたまごを入れたあと、10分煮たら火が入りすぎてしまったので、今度は7分で煮てみたらちょうどよい半熟になりました。
このように、目標を達成するために試行錯誤して最適な手順を導くことを組み合わせといいます。
一般化
一般化とは、関係性を見つけ出し、ほかでも使用できるようにすることです。
例えば、先ほどの「組み合わせ」によって、親子丼をおいしく作れる手順を見つけ出したとします。
この親子丼を他の人でも再現できるように、わかりやすくまとめる作業が一般化です。
分析・評価
分析・評価とは、目標達成のために作成した手順が最適か検証することです。
本来の目的を達成しているか分析したり、その過程を評価する作業がこれに当てはまります。

んー、なんだか難しいね…。
小学生でもプログラミング的思考を楽しく学べる方法はないのかな?
プログラミング的思考を楽しく身に付ける方法3選

これまでプログラミング的思考について解説してきましたが、なんだか難しそう、小学生が理解するのは大変そう…と思われた方もいると思います。
そこで、小さいお子さんでもプログラミング的思考を楽しく身に付ける方法を紹介します。
料理を作る

1番始めやすいのは、料理を作ってみることです。
料理には、プログラミング的思考の要素がたくさん含まれています。
調理する手順を考えたり、自分で作った料理を試食して評価し、改善するといった過程はプログラミング的思考と同じです。
1からレシピを考えるが難しい場合は、まずは料理本のレシピ通り作ってみて、自分の好みのレシピに改良していくという方法もいいですね。
プログラミング的思考が学べる本を読む
楽しく勉強したいお子さんには、プログラミング的思考が学べる本やゲームもオススメです。
プログラミング的思考が学べる本といっても、決して難しい内容ではありません。
ストーリー仕立てで、読み進めていくうちに自然とプログラミング的思考を身に付けることができる絵本も販売されています。
ルビィのぼうけん
- 世界中でベストセラーになっている
- ストーリー仕立てで読みやすい
- 優しいイラストが人気
- 後半に自分で考える練習問題がある
アベベのぼうけん
- ストーリー仕立てになっている
- 遊んでいるうちにプログラミング的思考が身に付く
- RPGが好きな子にオススメ

イラストがかわいいから読んでみたいな!
うんこドリル
- 大人気「うんこドリル」のキャラクターが登場
- 7つのカテゴリーでプログラミング的思考が学べる
- お手頃価格で始めやすい
プログラミング的思考が学べるゲームで遊ぶ

ゲームが好きなお子さんには、プログラミング的思考が身に付くゲームもオススメです。
プログラミングが学べるゲームには無料のものも多く、代表的なものはこちらの3つです。

ビスケットはNTTが開発した教材で、文字を一切使わず、イラストをマウスで操作するだけでプログラミングできるのが特徴です。
未就学児でも遊べるため、保育園や小学校低学年の授業でも使われています。

サイトにアクセスするだけで、誰でも簡単にプログラミングができちゃう!
ロブロックスとマインクラフトは、名前を聞いたことがある方も多いのではないでしょうか。

ロブロックスは無料のオンラインゲームです。
誰でもプログラミングで作品が作れて、作った作品をプラットフォームに掲載することで世界中の人に作品をプレイしてもらうこともできます。

マインクラフトは、NintendoSwitchのソフトが販売されたことがきっかけで爆発的に人気が出ました。
自分で町をつくるゲームですが、プログラミングの技術を身に付けることで、より自由にカスタマイズができるようになります。
教育版のマインクラフトは、学校の授業でも使われている教材です。

息子はロブロックスやマインクラフトをやってみたいと言っているけど、1人で勉強するのは難しいし、私も教えられないし、どうしよう…。

ロブロックスやマインクラフトのプログラミングは少し難しく、インターネットで検索したり、攻略本を読みながら理解することが必要になってきます。
最近ではロブロックスやマインクラフトを教材にしたプログラミングスクールも多いため、習い事として始めてみるのもオススメです。
プログラミングスクールは、小学校でプログラミング教育が必修化されたことで人気を集めています。

オンラインで学べるプログラミングスクールなら送迎が必要ないし、月謝も比較的安めだよ!
オンラインで学べるプログラミングスクールを紹介している記事もあるので、気になる方はチェックしてみてください。
まとめ|プログラミング的思考は難しくない!

いかがでしたか?
プログラミング的思考は難しそうなイメージがありますが、生活の中で当たり前に使われている考え方であることが分かりました。
また、AIや人工知能が発達するなかで、プログラミング的思考を身に付けることが将来の就職にも役立つことがわかりました。
最近では本やゲームなどで楽しく学べるものも多いので、身近なものからプログラミングを取り入れてみてはいかがでしょうか。
コメント