「プログラミング的思考」という言葉を耳にしたことはありますか? 2020年から、文部科学省が定める教育課程の基準である「学習指導要領」のなかで、小学校からのプログラミング教育が必修化されました。必修化されたことで、プログラミング的思考がこれまでよりも注目されるようになっています。
仕事や生活で役立つ思考方法なのであれば、大人になってからでもぜひ身につけておきたいですよね。とはいえ、「プログラミング的思考とはどのようなもの?」「どうやって身につけたらいいの?」という疑問を抱いている方もいるでしょう。
この記事では、プログラミング的思考の具体例や身につけ方、プログラミング的思考が学べる本などを紹介していきます。
プログラミング的思考とは?
プログラミングとは、意図した計算をおこなうようにコンピューターに指示を出すことで、そのために用いる言語をプログラミング言語といいます。では、プログラミング的思考とはなんでしょうか。文部科学省の手引き*1では、「プログラミング的思考」は次のように定義されています。
「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、1つひとつの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」
簡単にまとめると、プログラミング的思考とは「課題に対する解決方法を論理的に考える力」のことです。プログラミング的思考では、「抽象化」「分解」「一般化」「組み合わせ」「シミュレーション」という段階を経て、1つひとつのステップをクリアしていきます。
「抽象化」では、課題を一般的な観点から理解しやすいよう、簡素かつ明確にします。次に「分解」では、課題を分割して必要な動きや順序を考えます。さらに「一般化」をおこない、動きに対応した命令に変換します。「組み合わせ」では、異なる要素を組み合わせて新たなものを作り出します。そして「シミュレーション」することで、課題を解決するために試行錯誤しながら改善していきます。
この思考能力を身につけることができれば、生活や仕事のあらゆる場面で活用することができます。
論理的思考との違い
プログラミング的思考と似た概念として、「論理的思考(ロジカルシンキング)」という言葉を聞いたことがある方もいるのではないでしょうか。論理的思考は、「行動的・直観的思考」と対照的な考え方で、物事を体系的に整理し筋道を立てて解決に導く思考法です。
論理的思考では、「演繹法」「帰納法」「アブダクション(仮説形成)」の3つの土台となる考え方を使います。「演繹法」とは、普遍的な前提をもとに、個別の課題の結論を得る方法です。「帰納法」では、逆に個別・特殊な事例から一般的な法則を見出そうとします。また「アブダクション(仮説形成)」とは結論となる事象に規則を適用して、前提を推論する方法です。
プログラミング的思考は、論理的思考の一種です。論理的思考では物事の論理的な関係性を考えながら筋道立てて理解することを目指すため、プログラミング的思考と通じる部分がありますよね。
そのなかでもプログラミング的思考は、解決に至るまでのプロセスを重視します。論理を組み立て、そこからいかに効率的な手段を選択するかが、プログラミング的思考のポイントです。
論理的思考の鍛え方や主な考え方についてもっと知りたい方は、次の記事もご覧ください。
プログラミング的思考の具体例
プログラミング的思考は、具体例を使って考えると理解しやすいです。例えば、「目玉焼きを作る」という行動をプログラミング的思考に沿って考えると、次のような手順になります。
- 冷蔵庫を開ける
- 卵がある? YESなら4へ、NOなら3へ
- スーパーに行き、卵を購入する
- 卵を取り出す
- フライパンを火にかける
- フライパンに油を引く
- 卵をフライパンに割り入れる
- 卵を焼く
- 焼き加減はOK? YESなら10へ、NOなら8へ
- お皿に盛りつける
- 調味料はかける? YESなら12へ、NOなら14へ
- 調味料を選択する(塩、しょうゆ、ソース、ケチャップ、マヨネーズなど)
- 調味料をかける
- 終了
みなさんが目玉焼きを作るとき、普段は無意識のうちにこれらを考えながら行動しています。細かく分解していくと、これだけたくさんの手順があり選択を繰り返していることがわかります。
上記はあくまでも一例ですので、調理の途中で塩コショウを振ったり、調理器具やお皿を選んだりと、ほかの過程が加わればさらに手順が増えることになります。
プログラミング的思考では、このように選択や行動を要素に分けて組み立て、明確化していきます。問題解決のために効率的・論理的に考える力といえるでしょう。
プログラミング的思考を身につけるメリット
プログラミング的思考は、生活のさまざまな場面で役立てることができます。身につけておくことで、次のようなメリットを実感することができるでしょう。
問題解決能力が向上する
2016年に文部科学省がおこなった「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」では、プログラミング的思考は「将来プログラミングに携わる仕事に就きたい子どもに限らず、これからの時代を生きていくにあたって普遍的に必要となる力」*1だと議論されています。
現代では、IT技術の進歩に伴い社会をとりまく状況がどんどん変化しています。またコロナ禍のように、思ってもみなかったような状況に社会全体が直面する可能性もあります。仕事だけではなく、さまざまな局面で問題点を明らかにし、解決の手順を示す力が求められます。解決策を筋道立てて考え、それを他者に伝えるために、プログラミング的思考が役立つといえるでしょう。
創造性が身につく
AI(人工知能)のめざましい発展により、人間がおこなってきた仕事が次々と自動化されています。正確かつ迅速に作業することが可能で休息も不要なAIが発展すれば、不要になる職業があるともいわれています。
AIに代替されない仕事の例として、ゼロから何かを生み出すような創造性が必要とされる仕事があげられます。創造性を身につけることは、これからの時代に欠かせないスキルです。
プログラミング的思考を身につければ、新しいものを作り出すために効率的なステップを考えて実現していくことができます。イメージを具体化し創造する力が身につくでしょう。
キャリアの可能性が広がる
プログラミング的思考は、ビジネスのあらゆる場面で役立つ思考方法です。もとはプログラミングをするために使われる考え方ではありますが、物事を分解・組み立てて最も効率的な道を探るという思考過程はビジネスに通ずるものがあります。
プログラミング的思考が身につけば、新たな企画を考えて必要なことを取捨選択したり、それを筋道立てて人にプレゼンしたりと、自分の考えを論理的にまとめて正確に伝えることができるようになるでしょう。また、相手のアイデアを的確に受け取り、仕事をスムーズに進めることが可能になります。
プログラミング的思考の身につけ方
プログラミング的思考は、課題を解決するためのプロセスを分解し、試行錯誤しながら組み立てていく体験によって身につけることができます。
小学校でおこなわれている教育でも、「プログラミング」という教科をあらためて設けるのではなく、各教科の授業のなかでプログラミング的思考を活用するという形がとられています。子どもたちはもちろん、大人になってからプログラミング的思考を身につけたいと考えている方も、普段の生活のなかでプログラミング的思考のスキルを養っていくのがおすすめです。
それでは、プログラミング的思考の身につけ方を具体的にみていきましょう。
日常生活のなかでアルゴリズムを考える
目玉焼きを作る具体例でみたように、プログラミング的思考はあらゆる場面に応用することができます。つまり、日常生活のなかのあらゆる行動をプログラミング的思考で逆算して考えてみることで、プログラミング的な考え方が身体に染みついてくるといえるでしょう。
料理のほか、買い物や掃除、自動販売機での商品購入まで、普段はまったく意識せずにおこなっている行動の段取りをあらためて考えてみてください。家族や友人たちと一緒に、どのようなフローが最も効率的かを議論しながら考えてみるのも良いでしょう。
パズルやゲームを解く
プログラミング的思考を楽しく身につけるためには、パズルやゲームを解くのがおすすめです。
スマホやタブレットでできるゲームアプリのほか、カードゲームやボードゲームを通じてもプログラミング的思考を身につけることができます。カードゲームやボードゲームでは、相手の出方を予想して戦略を立てたり、思わぬ展開に対応したりと、プレイヤーは常に思考を繰り返しています。この考え方こそが、課題の分解・組み立てをおこなうプログラミング的思考です。
一般的なパズルやゲームによってプログラミング的思考を身につけることもできますが、遊びながらプログラミング的思考力やひらめき力を養うことを目的としたゲームとして、ロジカルニュートンというパズルゲームシリーズもあります。
プログラミング的思考が学べる本を読む
「すきま時間を使ってプログラミング的思考を身につけたい!」と考えている方は、プログラミング的思考が学べる本を読んでみてください。
プログラミング的思考が学べる本としては、子ども向けのものから本格的なプログラミング言語が使われた専門的なものまで、さまざまな本があります。プログラミングに興味がある方は、実際にプログラミング言語が学べる本を読むのもよいでしょう。
また、本を読むという行為自体も、プログラミング的思考力を養うために役立ちます。文脈から書き手の意図を汲み取りつつ、テーマに沿って文章を頭のなかで再構成していく作業によって、論理的な思考力が身につきます。
プログラミングについてさらに知りたい方は、次の記事も読んでみてください。
プログラミング的思考が学べる本
プログラミング的思考が学べるおすすめの本を紹介します。自分が興味を持って読み進められそうな本を選びましょう。
プログラミング教育導入の前に知っておきたい思考のアイディア(教育技術MOOK)
この本は、プログラミング教育の第一人者である黒上晴夫氏、堀田龍也氏により、現場での各教科で考えられるプログラミング的思考のアイデア25事例が紹介されているムック本です。
普段の学校の授業のなかで実践できるヒントとアイデアが満載で、教育に携わっている方におすすめしたい1冊となっています。
著者:黒上晴夫/堀田龍也
価格:1,540円
出版社:小学館
発売日:2017年7月15日
小学校6年生までに必要なプログラミング的思考力が1冊でしっかり身につく本
この本には、無料で使えるプログラミング学習サイト「Scratch」で作れる作品が16個収録されています。多種多様な作品を作るなかで物事を順序立てて考えるコツが身につくため、論理的思考力を高めることができるでしょう。
絵を描く、音を鳴らす、ストーリーを作るなどいろいろな楽しみ方ができるので、子どもの好きや得意を伸ばすことができます。
著者:熊谷基継
価格:1,650円
出版社:かんき出版
発売日:2020年7月8日
教養としてのプログラミング的思考(サイエンス・アイ新書)
「プログラミングに馴染みがないけれど、本を読んでプログラミング的思考を身につけたい!」と考えている方におすすめの本です。練習問題を考えながら読み進めていくうちに論理を組み立てる技術が身につく本で、パソコンを使って作業したり、授業を受けたりする必要がありません。
プログラミング言語に関する専門的な書籍とも異なり、物事をプログラミングするための論理的な思考方法に焦点が当てられています。通勤する電車など、ちょっとした時間を使って少しずつプログラミング的思考を身につけることが可能です。
著者:草野俊彦
価格:1,100円
出版社:SBクリエイティブ
発売日:2018年3月16日
プログラミング的思考はこれからの時代に必須のスキル
ここまでプログラミング的思考について解説してきました。これからの時代を生き抜くために、プログラミング的思考を活用することが求められています。学校で勉強している子どもたちだけでなく、すでに社会で活躍している大人もこの思考方法を身につけることでビジネスにも役立てることができるでしょう。
女性向けキャリアスクールのSHElikes(シーライクス)では、データ分析コースやプログラミングコースの勉強を通じてプログラミング的な思考力を養うことができます。全45以上の職種スキルが学び放題で、今後のキャリアに役立つスキルを身につけることができます。ビジネスに役立つ思考力や知識、スキルの装着に興味がある方はぜひ無料体験レッスンに参加してみてください。
女性向けキャリアスクールSHElikes無料体験レッスンはこちら
*1 文部科学省「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」