レベルエンター山本大のブログ

面白いプログラミング教育を若い人たちに

プログラミングを学ぶべき理由

2020年に小学校でプログラミングの授業が必修化することに関連して、プログラミング学習の理由について、議論が活発になっています。

私は、プログラミングは「コンピュータとの対話の手段」であり、本当の目的はコンピュータを知り、使いこなす方法を学ぶということだと考えています。

若い世代にとって、スマホを含めコンピュータに接する時間はどんどん長くなっています。
親しい隣人とも呼べるコンピュータを制御し使いこなすことができることは、頼れる相棒を生涯にわたって持つということだと言えます。

プログラミングは論理的思考を学ぶために有効か?

プログラミング学習の義務教育化に向けて、「プログラマーばかり育ててどうする」という外部からの声に反論するために、プログラマーを育てるのではなく、論理的思考を育てるのだ」とその目的を表現したりします。

体育が必修だからといって、全員がオリンピック選手を目指さなくてもよいように、プログラミングを学んだからといって、全員がプログラミングを仕事にしなくても良いのです。

確かに、全員がプログラミングを仕事にしなくても良いと思います。そこは同意。

ですが後半の「論理的思考を育てる」という部分には少々疑問があります。
プログラミングをするときに論理的思考は必要ですが、それを学ぶのにもっと効率の良いやり方はあると思います。
例えば、正しい国語を学ぶことや数学を学ぶことです。

Viscuitの開発者である原田さんのブログで共感した部分です。
http://devroom.viscuit.com/2016/10/02/%E8%AB%96%E7%90%86%E7%9A%84%E6%80%9D%E8%80%83%E3%81%AE%E5%90%91%E4%B8%8A%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%95%E3%81%AA%E3%81%84%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E6%95%99/

論理的思考能力を鍛えたければ,他のもっといい方法があります.よく考えたゲームとか.プログラミングは筋が悪いです.

モダンな(笑)プログラミングは論理的を求めてはいません.

実はひどいプログラミングツールを使ってプログラムを作らなければならない場合に,論理的思考能力がなければなにもできない,ということがあります.上記「プログラミング教育は論理的思考能力の向上を目指す」と主張している人たち,そしてそれに反論している人たちは,ひどいプログラミングツールを使ってプログラム作った(しかし動かなかった)という経験が強く残っていて,そんな狭い考えに支配されているのだと思います.ここで言えるのは,ひどいプログラミング=論理的思考能力必須 です.

わざわざプログラミングを学ばなくても論理的思考は学べます。
「プログラミングを学ぶ」ことがありきで、目的をカッコよく後付けしただけのように感じます。

実際、子供さんをコンピュータに長時間触れさせることは、親御さんからのウケは悪いものです。

そこに、別角度の目的を据えて反論を逸らしていますが、本音を言えば「世界的にプログラミングが価値ありとされている中、日本が置いていかれるのはまずい」ということでしょう。


私は、「コンピュータでできることと、できないこと、そして次の可能性を知る」という目的が良いように思っています。
コンピュータは、この先も長らく人類の頼れる隣人になると思います。
偏屈で頑固でこだわり屋だけど、能力は高いという困った隣人のことをよく知りましょうという目的です。

正しい知識がなければ、「AIが人類を滅ぼすかも」みたいな不安に駆られることでしょう。
「写真に写ると魂が抜かれる」的ですね。
人類を滅ぼすとしたら、AIよりよっぽど人間のほうが怖いと思います。

コンピュータを怖がらずに武器として、道具として使いこなすこと。

それが若い人みんなに習得して欲しい力です。