小学校での教育とプログラミング
小学校にプログラミング教育が導入されようとしています。ところが現場も盛り上がっているのかというと、なかなかすんなりと進むようでもないみたいです。学校が抱えている数々の問題の優先順位からすると、プログラミング教育はそんなに高くないという話も聞きます。
世の中が急速に変化しており、それに対応して教育も変わってゆく必要があります。大人たちは自分が受けていない教育を子どもたちに教えなきゃいけない。これは大変な時代ですよ。その大変さの筆頭が「プログラミング教育」なんですね。まさか自分が子どもにプログラミングを教える日が来るとは、想像したことがない先生が大半なんじゃないでしょうか。いや、先生だけじゃなく大人全体がですよね。
小学校5年生の理科では、種が発芽する条件(水、温度、空気)を7時間、植物が育つのに栄養や日光が必要ということを7時間かけて習うんだそうです。「水をあげないと花は枯れてしまう」くらいは学校で習わなくてもわかるかもしれませんが、スーパーに売られているお米や野菜がどうやって育てられたのかは、習わないとわからない子がいるかもしれませんね。
中学になると花や茎といった名前や光合成を習って、高校では細胞までいきます。植物や動物は我々の生活にとても身近ですから、どれも大事な内容です。社会全体も、市民がだいたいこれくらいの知識を持っていることを前提に作られ動いています。5年生の理科だと、他には天気図とか電磁石とか、物の溶け方なんかもやるようです。いろんなことをちゃんと習っているんですね。
コンピュータの認識の違い
一方で、突然世の中に登場してきたコンピュータですが、あっという間に社会のとても重要な地位を締めるようになってしまいました。コンピュータが原因のトラブルで、電車が一斉に動かなくなるってちょっと信じられない話ですが現に起きてますよね。コンピュータはほとんど全ての職業に関わってきていて、その影響力といったら、植物が人間に与える影響に匹敵するくらいと言ったら言い過ぎでしょうか?
ところが、社会全体で「コンピュータとはなにか」「コンピュータがどう作られているか」といった基本的な知識がまったく共有されていないわけです。それを知らないのにコンピュータは誰でも使えるようになりました。産業界は競って使いやすいコンピュータを開発してきましたから、どんどん使いやすくなりました。「え、中身を知らなくたって使えればいいんじゃない?」ですか? これって「お米なんて作り方を知らなくても食べられればいいのよ」と同じです。産業界にとってはお金を出してくれればどっちでもいいのでしょうが。やはり、それではダメでしょう。
自然科学とコンピュータはまるで違う
急激な変化だったし、大半の人たちが知らないことだから、自分も知らなくてもいいんじゃない。というのが大方の意見かもしれません。ところがもっと怖いことがあるんです。ほとんどの自然科学は人類が誕生する前から世の中にありました。その謎を解明して、我々の社会に役立つようにして人類は発展してきました。まだ解明されていない謎が沢山残っているにも関わらず、自分たちが制御できる範囲で自然科学を使いこなしています。もしかして、コンピュータもこれと同じだと思っているのではないでしょうか。謎があったって使えればいいという。
ところが、違いますよね。コンピュータに謎は1つもありません。数学の問題として解けていないのはありますが、少なくともいま動いているコンピュータで、なぜ動いているかわからない、というものはありません。誰かが細かなところまで考えて作ったから動いているのです。
コンピュータ教育の重要性
社会のごく一部の人が全部を知っていて、大半はほとんど知らないという状況はとても怖いことです。たとえば簡単に人を騙せます。医者と患者も同じような関係ですが、医者は国家資格で行動を縛られていますからまだ信用できます。コンピュータにはそんな資格もないですし、匿名で行動できるんで、できる人が本気になればかなり怖いことができます。仮想通貨で何億円もの盗難事件がいくつもありましたが、夢の中の話じゃないですからね。知らない人からみたら、お化けが盗んだと同じようなもんですよ。でも、知っている人にとってはちゃんと理屈があって盗んでいるんですから。
というわけで、コンピュータの基礎はもちろん学校でも教えるべきですが、それ以前の話としてすでに社会でコンピュータを使っている大人たちがきちんと学ばないといけないということでもあるのです。
学習方法の考察
では、コンピュータをどうやって学ぶか。これがなかなか曲者です。一番の方法は直接体験することです。いまコンピュータの専門家になった人はそうやって体験から学んできました。しかし、それには時間がかかりすぎですし、専門家だって最初はコンピュータで遊んでたり好きだったりで、長い時間をかけることがそれほど苦じゃなかった人たちがやってきたやり方です。いま必要なのはそこまでの情熱がない人でも、小学校の理科のような易しさと丁寧さで学べる方法です。
ひとつはその人の経験に合わせて例え話をする方法でしょうか。たとえば「自動車は餌のいらない馬車」と言えば、馬車を知っている人なら「ああそれは便利だ」と思うでしょう。映画は動く写真だし。まあ実際、自動車によって社会がどう変わったかは、餌がいらないどころではないわけですし、映画の魅力は写真が動く以上のことがありますけれど。そういう意味では、コンピュータは自動的に高速に計算する機械、と言えばよいといえばよいのですかね。人間が手で動かす計算する機械はありましたから。でも、それでわかった感じはしないですよね。
コンピュータの秘密①
まず「高速」の部分が自動車や映画の発明とは比べ物にならないのです。馬車と自動車を比べると価格・速度・1日の移動距離・耐久性などなどせいぜい10〜100倍の性能比ですよね。世の中の発明で2桁の性能向上はかなり珍しい方です。普通は1.2倍くらいです。
ところがコンピュータだと簡単に億という数字がでてきますからね。速度や容量や大きさの性能向上がです。億という数字はゼロが8つ並んでいるだけなので、むちゃくちゃすごい感じがしませんが、それは桁という発明のおかげであって、本当に億の数を並べてみたらやっぱりすごい数ですよ。さらにわかりにくくさせているのが、コンピュータが小さくなったこと。この小ささが我々を油断させます。東京ドーム何個分だったらもう少し慎重に構えるんですが、まさかこんな手のひらのサイズに収まるなんてね。
ようするに、コンピュータは規模の違いが大きすぎて、何かにたとえて説明するのがとても難しいのです。これがコンピュータの秘密その1です。
コンピュータの秘密②
それから、コンピュータの中身を知らないのに、ただ上手に使えるようになった人。こういう人の目の前には、とても誤解しやすいコンピュータ像が横たわっています。その人が知っているのはコンピュータの性質なのか、それともコンピュータの上で動いているあるアプリの性質なのか。野菜や果物をいくら沢山食べたからといって、植物の性質を自然と理解できたりはしません。「植物は甘くて美味しい」という表現は誰もがナンセンスだと思いますが、それは理科教育がうまく行っている証拠なのです。ところが、特定のアプリの性質とコンピュータの性質を混同している発言は山のようにあります。これが秘密その2です。
コンピュータの秘密③
コンピュータの賢さはどこから来るのか。本来のコンピュータはとても単純なことしかできず、とても賢いとは言えません。ところが、我々の想像をはるかに超えて大量な計算を組み合わせて高速に計算させたことで、とても賢く見えるようにも動かせるのです。賢さは絶妙な組み合わせ方の結果ですが、ちょっと間違うととても常識はずれな動きも平気でします。これが秘密その3です。
このようなことを一般の人に話をすると、コンピュータにもちゃんと順序立てて学ばなければならない基礎があるんだということを知ってみなさんびっくりされます。まずはそういうものの存在を知ってもらうところからですね。大人たちにとって、学校で習わなかったことですが、学ぶのが遅すぎたということはありません。いまからでも学ぶべきでしょう。
社会全体にコンピュータへの理解が広がった後であれば、小学校のプログラミング教育はもっとスムーズに進むんじゃないかと思います。順番が逆なんですね。