ビスケットのあれこれ

ビジュアル言語ビスケット(Viscuit)に関するあれこれを書いてゆきます.

プログラミングを学ぶべきたった一つの理由

2015-10-27 15:51:23 | 1
いよいよプログラミング教育ブームですが,自分の子供に教える・教えないという範囲ならば好き嫌いで済みますけれど,小学校義務教育への導入という極端な話になると,なかなか議論は尽きません.とはいえ,海外に遅れてはいけないということで,反対派を一気に押し切るというのは私は好きではありません.私の根底にあるのは,これほど面白くて大好きなコンピュータを万人に好きになってもらいたい,という気持ちがあるからです.義務教育への導入の理由は万人を説得できるものでなければならないと考えています.

たとえば,最近出版された神谷さんの「子どもにプログラミングを学ばせるべき6つの理由」という本を例にとりますが,この本は非常にうまく現在のプログラミング教育ブームをまとめている良い本です.今のブームの理由がわかると思います.しかし,ここであげているような6つの理由では,根っこから反対している人を説得できないのではないかと思うのです.それらの理由はすべて正しいけれども,すべて反論の余地があります.例えば「楽しい」という理由はぼくもその通りだと思うけれども,じゃあ楽しいのは他にないのかと言われると他にも楽しく学べるものはあります.その他「問題解決能力」「論理的思考力」「将来の可能性」「自分に自信」「創造力」というのもまったくその通りだし,一つのことでこれだけ6つも特徴が揃っているものはプログラミングの他にないとプログラミング側の人は思いますけれども,反論側の人からすると,それぞれ別にわざわざプログラミングでやらなくたって他で教えられるじゃないか,とも言えてしまいます.創造力なんて工学系の人は安易に口に出してはいけない言葉で,美大を出た人の教え方には到底叶わないですよ.なので,僕はこれらの特徴は副産物として,つまり他の理由としてプログラミングを学ぶけれど,学んだおかげで付録で付いてくるもうけものにしておいて.で,他の理由(それが僕は絶対的にプログラミングを学ぶ理由だと思っていますが)それ一点で主張してゆくことが,反対派に反論の余地を残さない方法なのではないかと思うのです.もうけものの理由の方は,それぞれ専門家がいらっしゃるので(「自分に自信」をつけさせる専門家とか)その方々に「プログラミング教育ってこういう分野にもつかえますね」と言ってもらうのを待ってからでも遅くはなくて,まあ第二フェーズで話題になることでしょう.

で,我々コンピュータの専門家が責任を持って口に出して良い「プログラミングを学ぶべき理由」というのは「コンピュータとは何かを知るため」の一点だと思います.この話をしたとき専門家ぽい人にびっくりされることがありました.「そんなものはやっていくうちに自然と身につくのではないか」だそうです.リコーダーをちょっと吹いただけで音楽とは何かを語れるようになるのかというと,なるともならないとも言えないですが.少なくともその議論の中に音大でバリバリ音楽を追求した人が関わっていなければ,非常に薄っぺらい議論になるくらいは想像できます.

昨今のプログラミング教育ブームは,コンピュータとは何かを追求している研究者ではなくて,コンピュータをどう活用するかという実務家の周辺で起こっているので「コンピュータとは何かを知るため」という深い議論にならないのではないでしょうか.コンピュータを使った研究者はたくさんいますが,コンピュータとは何かを追求している研究者は激減して,やはり世の中にすぐに役に立つ研究が人気ですし,研究費も豊富です.そういった違いも一般の人にはわからないですよね.すごいシステムを作ったプログラマーの方がプログラミングの専門家っぽくてわかりやすいですしね.

なぜ,「コンピュータとは何か」が重要なのでしょうか.それは,これから20年後のコンピュータがどのように進化しているかだれにもわからないからです.ヒントとしては,コンピュータがいかに進化したとしても変わらない普遍的な性質を見極めるということだと思いますが,それこそまさに「コンピュータとは何か」を議論するということです.

どんな教科でも,小学校で教えることは,まずはその分野の普遍的なこと(に優しく触れられるもの)を優先的に教えて,大学の専門になるに従って常にホットで実務的な内容にシフトしてゆきます.

たとえば,こんなことです.コンピュータの一つの命令というのは非常に小さい変化しかさせることができません.小さい変化を大量に組み合わせることで複雑なことができます.その動作が高速で正確なのであたかも最初からコンピュータはすごいことができるかのように見えますが本当は違います.ものすごい賢い部分もあるのに,肝心のところで馬鹿だったりします.すべては人間が作ったプログラムによって決まるのです.

コンピュータとは何かを考えると,同時に人間が考えるというのはどういうことかを考えたりもします.人間が苦労せずに簡単にできてしまうことが,コンピュータでは苦労したり,その逆だったり.

こういったことを,単なるお話として知るのではなくて,プログラミングという体験を通じて理解してゆく.そのためにプログラミングを学ぶべきなのです.

ということで,このブームの間に,いろんな種類のコンピュータ周辺の専門家たちと「コンピュータとは何か」の議論を深めて,そこからプログラミング教育の絶対的な理由を構築していかねばと思うのでした.

最新の画像[もっと見る]

コメントを投稿