プログラミングで頭が良くなる?!

プログラミングをすると、
頭が良くなるのでしょうか?

頭が良い、とは?

頭が良いとは、なんでしょう?
記憶力がよい、ということでしょうか?
記憶力がよいなら、学校の勉強は、
そこそこ出来ます。

でも、ここでいう「頭が良い」というのは、
多角的に考えられる、
俯瞰的に考えられる、
という意味です。

これは、ある課題があったときに、
いろんな場合を考慮に入れて、
総合的に判断できる、
ということです。

そしてこのような総合的な判断が
即座にできることを、
「頭のキレがいい」とか、
「頭の回転がいい」とか、
いいます。

抽象化ということ

ここには、苫米地博士がいう、
抽象化が大いに関係してきます。
抽象化とは、
物事を高い視点で見ること、
と言えます。

小学校の算数は簡単だけど、
中学校の数学が急に難しく感じるのは、
なぜでしょうか?

これは豊明市役所の生涯学習課さんの
プログラミング講座を担当したときにも
お話したのですが。

算数は、より具体的なものとなっています。
50円のりんごを5個買ったらいくら?という具合です。
答えは、250円です。
ところが数学になると、もっと一般的・抽象的になり、
50円のりんごをx個買ったらいくら?となります。
答えは、50x円です。

ここで、りんごが5個と具体的だったものが、
りんごがx個という抽象的なものに変わると、
途端に難しく感じるのです。

苫米地博士は、
日頃から意識的に抽象化を行うと、
頭が良くなる(IQが高くなる)と言っています。

例えば、「犬」がいたら、
抽象化して「哺乳類」
もっと抽象化して「動物」
植物も含めて「生物」という具合です。
「犬」→「哺乳類」→「動物」→「生物」
の順に抽象化されています。

プログラミングの本質は何か?

プログラミングの本質は、抽象化(一般化)です。

例えば50円のりんごを買ったときの値段を求めるプログラム。
「りんごの個数は?」と聞いてきて、
個数を入力すると、
値段を出してくるプログラムは、こんな風。

ここでは、xという変数の代わりに、
「答え」という変数を使っています。

プログラミングって、
このような抽象化(一般化)の連続なんです。
これを趣味の延長として楽しんでやるのですから、
頭が良くなるわけですね。

もちろん、学校の勉強も大事です。
でも、詰め込んで(記憶して)アウトプット(書き出す)、
という勉強だけでは、応用力は身につきません。
特に数学は、記憶力だけでは太刀打ちできません。
そこで、学校の勉強はもちろんのこと、
それを補完するのが、プログラミング教育です。

2020年の小学校でのプログラミングの義務教育化、
このような本質を考慮しているのか否かは、
わかりませんが。

ゼロワンスタジオを詳しく見てみる!