• HOME
  • ITコラム
  • 【図解】プログラミング的思考とは具体的にどんな考え方なのか?
ITコラム

【図解】プログラミング的思考とは具体的にどんな考え方なのか?

2021年5月12日

2021年5月14日

学校でプログラミング教育が必修化されてから「プログラミング的思考を育てましょう」という言葉をよく耳にするようになりましたが、「プログラミング的思考って何?」という方も少なくないのではないでしょうか?この記事では、図を用いて、プログラミング的思考とはどういった考え方なのか徹底解説していきます。

プログラミング的思考とは?

 

まずは、文部科学省の定めている「プログラミング的思考」の定義を見ていきましょう。

自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力

引用元:小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)–文部科学省

 

難しく定義されているように見えますが、要約すると「必要な動きや組み合わせを考えて、問題解決のために効率的かつ論理的に考える力」といえます。

このことをコンピュータを動作させることに即して考ると、

  1. コンピュータにどのような動きを実現させたいのか課題を明確にする
  2. 課題を解決するための必要な動きと順序を考える
  3. コンピュータが理解できるよう、一つ一つの動きを対応する命令(記号)に置き換える
  4. これらの命令(記号)をどのように組み合わせるかを考える
  5. どのように改善すれば自分が考える動作により近づいていくのか試行錯誤する

 というようになります。

上の一連の流れを図で表すと次のようになります。

良く誤解されがちですが、プログラミング的思考は、プログラミング能力(コーディング能力)が求られているのではありません。あくまでも問題解決的な考え方であって、生活や仕事のあらゆる場面で活用できる力とも言われています。

具体的にはどのような考え方なのか?

もう少し具体的にプログラミング的思考を理解していきましょう。

例えば、自動販売機で飲み物を買う行動を一つ一つ行動の組み合わせとして考えると、次のようなフローチャートで表すことができます。

ただ単に飲み物を買うだけでも、「120円ちょうどあるかな?なかったらお札使おう」など無意識に状況を考えながら行動を起こしているかと思います。今回紹介したのは簡単な例ですが、このように、やることの要素を分解したりまとめたりして、組み合わせを考えるのが「プログラミング的思考」です。

ビジネスなどの場面では、この思考のフローチャートがもっと複雑になってくることでしょう。これからは「必要な動きや組み合わせを考えて、問題解決のために効率的かつ論理的に考える力」が求められてくるのです。

プログラミング的思考と論理的思考の違いとは?

似たような論理的思考(ロジカルシンキング)という言葉も聞いたことないでしょうか?2つの言葉は同じ意味なのでは、と感じた人もいるかもしれませんが違いを解説していきますね。

論理的思考は、次のように定義されています。

論理に基づいて思考する能力(の高さ)という意味で用いられる表現。道理や筋道に則って思考を巡らせて結論を導いたり、あるいは、複雑な事柄を分かりやすく説明したりできる能力として主に捉えられる。

引用元:論理的思考力–Weblio

要するに「因果関係を整理し順序立てて表現・判断していく思考」を意味します。プログラミング的思考ととてもよく似ていますが、簡単に図にすると次のようなイメージです。

プログラミング的思考は、論理的思考の中でも効率的で最適な手順を考えることを指しており、論理的思考にプログラミング的思考が含まれているのです。

プログラミング的思考が必要とされる理由とは?

プログラミング的思考とはなにか理解できたでしょうか?

では、なぜ学校でプログラミング教育を必修化させてまで「プログラミング的思考」が求められているのでしょうか?

プログラミング的思考が求められるようになった背景を順に見ていきましょう。

【背景】プログラミング的思考はもはや基礎的な教養となる

近年のICT(情報通信技術)の発達はめざましく、わたしたちの生活も数十年の間で大きく進化しました。スマートフォンやお掃除ロボットなど、数年前までなかったものが今では違和感なく生活に取り入れられているという例は多くあります。この進化は今後も加速し、コンピュータやこれに関連する技術は、生活でも仕事でも益々欠かせないものになっていくでしょう。つまり、今後生きていくうえでは、新しい技術を使いこなす普遍的なスキルが求められるようになると言えます。

 文部科学省は、プログラミング教育必修化の意義を以下のように述べています。

あらゆる活動でコンピュータ等を活用することが求められるこれからの社会では、コンピュータを理解し、上手に活用していく力を身に付けることは、これからの社会ではどのような職業に就くとしても極めて重要

引用元:小学校プログラミング教育の概要1–文部科学省

エンジニアにならない人なら必要ないスキルと思われがちですが、それは数学者にならなくても数学を学ぶように、プログラミング的思考はこれからの社会を生き抜くための基礎的な教養となっていきます。本格的に使わないから必要ないというスキルではなくなっているのです。

【注意】プログラミング力を身につけるわけではない

プログラミング的思考を身につけると聞いて、本格的なコーディングなどコンピュータを使ったプログラミングを想像した人も少なくないと思います。しかし、小学校でのプログラミング教育で身につけたいのは「プログラミング的思考」であって「プログラミング(コーディング)力」ではありません。小学校の段階では、プログラミング的思考を他の教科の中にも取り入れ、子どもたち自ら思考をコントロールする力が養われるのを目指しています。

 

【背景】IT人材が大幅に不足している

 プログラミング教育必修化の背景のひとつとして、IT人材が圧倒的に不足していることが挙げられます。

 2019年3月の「IT人材需給に関する調査」によると、日本のIT人材は2018年時点ですでに約22万人不足しており、2030年には79万人も不足すると予測されています。

(参考:『IT人材需給に関する調査 2019年3月|みずほ情報総研株式会社』

 

また、スイスの有力ビジネススクールが毎年発表している「2020年世界デジタル競争力ランキング」において、日本は64ヵ国中27位(前年23位)という結果となっています。この調査は、経済的・社会的変革に向け、各国政府や企業のデジタル技術の利活用能力を示したもので

 ① 知    識:新技術を発見し学習できる能力

 ② 技    術:デジタル技術の発展

 ③ 将来への備え:デジタルトランスフォーメーションに対する準備

の3部門9項目52細部指標を測定し評価が行われています。

出典:『日本のデジタル競争力は低位にとどまっている|TDB景気動向調査』

日本は、最大の強みでもあるロボットなどの科学・技術基盤があるにも関わらず、それを活かすデジタル人材や取り入れる企業が少なく、すでに能力を持っている人材さえもうまく活用しきれていないと評価されています。技術を活かす人材や場が少ないことがデジタル競争力の足かせになっていると考えられ、世界的なデータから見ても日本のIT人材は著しく不足していることがわかります。

プログラミング的思考が求められるのは小学生だけではない

小学校でのプログラミング教育必修化が話題になっていることで、プログラミング的思考は子どもが学ぶべきものという印象が強くなっているのではないでしょうか。しかし、プログミング的思考が求められるのは小学生だけではありません。

仕事でもプログラミング的思考は重要です。「伝えたつもりが、意図した通りに伝わっていなかった」という現象は、相手にも理解してもらえるような伝え方をしていなかったために起こります。コンピュータを相手にするとき正しく動作するように順序立てて話すのと同じように、「相手に理解してもらえるよう言語化する」というプロセスが必要です。今後、ビジネスに携わるうえではプログラミング的思考は備えておくべき教養と位置付けられるような時代になっていくことでしょう。

プログラミング的思考はプログラムを構築する際にベースとなる “考え方” であるので、プログラムを書くことに限らず、さまざまな場面において応用可能なのです。

まとめ

プログラミング的思考とは、プログラミング能力(コーディング能力)が求られているのではありません。日常生活にも仕事にも応用できる問題解決的な考え方であって、生活や仕事のあらゆる場面で活用できる力です。

これから社会に出る子どもたちだけでなく、現在その大きな変化の渦中にいるわたしたち大人も、身につけていくべき基礎的な教養といえるでしょう

WRITER -この記事を書いた人-

学舎さくら編集部

未経験からプログラマーを目指せる就職支援付きプログラミングスクール。プログラミングの基礎知識や、IT業界への転職に向けた情報など、未来のITエンジニアに役立つ情報を発信しています。

最新記事

プログラマーはきつい?残業、人間関係などプログラマーの働き方を検証

2023年6月5日

プログラマーを含むITエンジニアは、これからの産業の成長に欠かせない重要な職業であり、就職を目指す若者も増加傾向にあります。第一生命保険株式会社が毎年小・中・高

【厳選】インフラエンジニアに必要なスキルを学べるITスクールをご紹介

2023年5月29日

インフラエンジニアに必要なサーバやネットワークといった「ITインフラ」の学習方法には、自宅サーバの構築やネットワークエミュレータの使用などがありますが、まったく

プログラミングが上達するコツとは?コツを活かす学習計画の立て方も紹介

2023年5月29日

「プログラミングを独学しているけど、上達している実感がない」「自分の学習方法が間違っているのかな?」「プログラミングが上達するコツってあるの?」 プログラミング

最新記事

0

プログラマーはきつい?残業、人間関係などプログラマーの働き方を検証

0

【厳選】インフラエンジニアに必要なスキルを学べるITスクールをご紹介

0

プログラミングが上達するコツとは?コツを活かす学習計画の立て方も紹介

0

インフラエンジニアは底辺ではなく、社会的意義が高く将来性のある仕事!

0

インフラエンジニアはなぜ「やめとけ」?その理由と適性を簡単解説!

TOPへ戻る