プログラミング教育で論理的思考力は伸びる?肉まんで解説
プログラミングの意義について調べる人
「プログラミングは論理的思考力を身に着けるのに有効と聞きました。そもそも論理的思考とはどのような力で、どのような時に力を発揮するのでしょう。
みんなプログラミングを学習してるのは、論理的思考力とは関係なくて、スマホやコンピュータが発展し、プログラムが昔よりも身近で大切な事柄になったからではないのですか?」
こんな疑問に答えます。
この記事を書いている私はIT業界歴13年、年収1,000万円ちょっとの金融系エンジニアです。中学生の頃から大学までプログラミング教育を受け、大学院ではセキュリティの視点から当時最先端のプログラミング言語理論を研究していました。
これまでの経験を踏まえ、プログラミングを続けることで身に付く論理的思考力について記事にしました。お役にたちましたら幸いです。
本記事の内容
- 論理的思考力とはどのような力?
- なぜ論理的思考力が必要?
- なぜ論理的思考力を伸ばすのにプログラミング教育が有効?
それでは順に解説します。
論理的思考力とはどのような力?
論理的思考力とは、論理的に考えることのできる力のことです。
論理的思考の例:
もしローソンに行って肉まんが10円だったら買う?買わない?
論理的思考力とはどのような力でしょうか。次の例で考えてみましょう。
仮にローソンに行って肉まんが10円で売っていたら、あなたはどうしますか?
選択肢(10円肉まんを買う、買わない?)
- 選択肢1:安いから買う
- 選択肢2:怪しいから買わない
論理的思考力とは、なぜ?と考え抜く力です。上の選択肢で、「安い」とか「怪しい」と思ったら、次は「なぜ安い?」とか「なぜ自分は怪しいと思ったんだろう?」と考えて行きます。考えるコツは次の3つです。
考えるコツ
- 背景を考える・・なぜ安い?何かのキャンペーン?
- 広く考える・・・他のローソンも10円?肉まん以外の商品も安い?
- 深く考える・・・普段より何円安くなっている?店にどんなメリットがある?
なぜ論理的思考力が必要?
ではなぜ論理的思考力が必要なのでしょうか。それは、考えを整理して有効な結論を下すためです。
先ほどの肉まんの例で、10円で売っていた背景と目的を次のように理解したとします。
考えつつ調べてわかったこと
- 肉まんの商品リニューアルのキャンペーンで今日から3日だけ安い
- キャンペーン期間中はどこのローソンでも安い
- ローソンは10円では赤字だが味に自信があるから一度食べて欲しいと思ってる
これらの情報からベストなタイミングで買うとしたらどうなるか考えてみます。
すると、「今はお腹いっぱいだから試しに明日の朝、会社の近くのローソンで買おう」という結論に至ったとしましょう。
論理的に考え、論理的に判断を下せば、自分にとってベストな行動ができる
ここで、もう一度最初の選択肢とこの結論を比べてみましょう。元々ふわっとしていた判断が、論理的思考により具体的に実効性のある判断を下すことができました。
Before(選択肢)とAfter(結論)を比較してみる
- [Before] 安いから買う
短絡的な行動で満腹な時には不要な商品で太るだけ - [Before] 怪しいから買わない
ふわっとして物事をよくわからないままにしている - [After] 今はお腹いっぱいだから明日の朝に会社の近くのローソンで買う
しっかり考え、自分なりのベストな結論を導き出せている
なぜ論理的思考力を伸ばすのにプログラミング教育が有効?
次に、論理的思考力とプログラミングになんの関係があるのでしょうか。
プログラミングをし続けると論理的思考力が身に付くのですが、その理由を解説します。
選択肢1の「安いから買う」をプログラムにしてみる
引き続き10円の肉まんを買うか買わないかの例を続けます。
選択肢1の「安いから買う」という行動をプログラミングするとこんな感じになりますが、このままではコンピュータは理解できません。
コンピュータには理解できない
《条件》価格が安いとき 《処理》肉まんを買う
「安い」はコンピュータにとって主観的すぎて、この《条件》はコンピュータが理解できません。そこで、以下のように書き換えます。
コンピュータにも理解できる
《条件》価格が50円以下のとき 《処理》肉まんを買う
選択肢2の「怪しいから買わない」をプログラムにしてみる
選択肢2はより難しいですね。「怪しい」と感じる理由を深堀しなくてはなりません。この文脈では、「価格が怪しいほど安い」と解釈できます。
それでもコンピュータには理解できない
《条件》価格が怪しいほど安いとき 《処理》肉まんを買う
まだ主観的すぎて、コンピュータが理解できません。以下のように書き換えます。
コンピュータにも理解できる
《条件》価格が定価より30%以上割引になっているとき 《処理》その商品は買わない
プログラミングとは、やりたい事をコンピュータにわかる論理的な言葉に翻訳すること
プログラミングでは、「価格が安い」とは一体いくらのことか設定しなくてはならなくなります。
論理的思考力を伸ばすのにプログラミング教育が有効な理由
この例のように、プログラミングする際、コンピュータにわかる言葉に翻訳する過程で、論理的思考力が鍛えられるのです。
どのようなプログラミング言語を選択しても、プログラムコードを書く時には必ず論理思考に基づいてコーディングする必要があります。良い頭の体操になりますね。
結論:よく考えて頭を鍛えよう。プログラミングはトレーニングの手助けをしてくれる。
プログラミングと論理的思考を学びたい人にオススメの書籍
プログラミングの勉強は何から?今すぐプログラミングを始めよう
プログラミングを勉強したいですが何から始めればいいでしょう?プログラミング言語はたくさんあるし、難しそうです。何から始めたらいいでしょうか。→こんな悩みに答えます。
学習に必要なのはパソコンだけ/独学でOK/今すぐ始めよう/プログラミング学習の継続に必要なトライアンドエラー
プログラミング教育で論理的思考力は伸びる?肉まんで解説
論理的思考力とはどのような力?
なぜ論理的思考力が必要?
なぜ論理的思考力を伸ばすのにプログラミング教育が有効?
習得しやすい簡単なプログラミング言語は?【挫折しない学習法も提案】
習得が簡単なプログラミング言語とは
挫折しないプログラミング学習プラン
今すぐプログラミング学習を始めよう
趣味でプログラミングするなら何を作る?【子供もプログラミングを楽しめる】
趣味でプログラミング その1
ロボット(Sphero)を動かす
趣味でプログラミング その2
マインクラフトを使ってPythonのプログラミングをする
将来性はある?プログラミングを習得する意義について解説します
「プログラミングについて興味があります。でもAIが進化してプログラミングなんて不要になるかもしれません。果たしてプログラミング学習に将来性はあるんでしょうか?」
①AI時代でもプログラミング学習は無駄になりません
②最も将来性が高いのは、「新しい」「稼げる」プログラム
プログラミング学習に最適なOSは? 【Windows/Mac/Linux】
プログラムコードはOSに依存しなくなった
プログラミングがOSに依存しないから、どのOSを選択してもOK!
OSごとの特徴や細かい違いを解説
【超初心者向け】エンジニアならプログラミング言語を複数勉強しないと食べていけない話
複数の言語を習得しないと、エンジニアは食べていけない話
・ 複数の習得が必要な理由1:システムは複数の言語で動く
・ 複数の習得が必要な理由2:使う言語が現場によって様々だから
どうしても複数の言語を学ぶのが嫌なら枯れきった言語を習得する
今回は以上です。参考になりましたら幸いです。