プログラミング教育ってなんのため? / 創作風エッセイ
▼登場人物一覧
1.チユリ……全寮制の某女子校に通う少女。質問好き。
2.せんせい……小説家のような人。チユリの質問に答えている。
一つ、思考実験を紹介します――人間とAIの思考の違いを簡単に表した実験です。
ホールのケーキを、三人分に均等に分けたいということになりました。
ある人にこれをお願いすると、その人はなるべく差が出ないよう、ケーキを三つに切り分ける方法について考えました。
しかしAIに訊ねて出た結論は、『ホールのケーキをミキサーにかけて液状にし、計量カップで三等分にする』というものでした。
どちらがより正確に三等分にできるか――答えはもちろん後者でしょうが、しかしAIの方法を選択する人は恐らくいないでしょう。ケーキを液状にしてしまっては美味しく食べることができません。
ではなぜ、AIはそんな方法を思いついてしまったのだろう……そう不思議に思われた方ほど、プログラミングの勉強は楽しいものになるかもしれません。
さて、チユリがプログラミングについて訊ねてきたのには、私が物を書いている傍ら、学校でICT教育に携わっているからだと思います。
今回はその辺りからの知見もまじえながら、チユリの疑問と、冒頭の実験についても考えてみましょう。
端的に言ってしまえば、義務教育課程でプログラミングを学ぶことは、将来的にプログラマーになることと直結はしません。
もちろんまったく意味がないわけではありませんが、実際のプログラマーが扱っている言語と、授業でよく用いられるプログラミング言語とではあまりに差があります。
というか、言語ですらないことがほとんどで、すでに決められたブロックを繋ぎ合わせていくだけの簡単なもの――まさにチユリの言うパズルゲームのようなものです。
その結果、プログラムは一応でき上がるのですが、あれはプログラマーからすれば、まだフローチャート――プログラムの設計図よりも更に簡易的な、プログラムの『流れ』を作っただけに過ぎないように思われるでしょう。
しかし、この『流れ』を理解することにこそ、プログラミングを学ぶ意味があると私は思います。
プログラムの『流れ』とは、言わばコンピュータの思考手順です。
これを理解することは、コンピュータがどう考えているかを理解することに繋がります。
コンピュータは人間と比べ、主に以下の処理を得意にしています。
1.順次処理
2.ループ処理
3.条件分岐
この中で最も基本的な処理が1の順次処理で、『与えられた命令を順番にこなすこと』です。
こう言ってしまうと、「それくらい人間でもできるのでは」と疑問に思う方もいるかもしれません。
しかし人間は、自らの意思と感情を持っているため、時に与えられた命令に逆らってしまうこともあります。
簡単な例を挙げるなら――子供たちに『手を洗ってからおやつを食べるように』と言ったとします。
多くの子供たちはその通り従うかもしれませんが、中には面倒くさがったりお腹がぺこぺこなのを言い訳にして、手を洗わずにおやつを食べ始める子がいるかもしれません。
人間であれば上記のようなことが起こりますが、コンピュータではありえないことです。コンピュータには感情もなければ肉体もないため、空腹になるようなこともありませんからね……。
冒頭のAIがなぜあんな結論を出したのかも、もうほとんどの方がお察しのことかと思います。
人間は『ケーキを三人分に分けたい』と聞くと、つい固形のまま切り分ける方法を考えてしまいます。食べるためにケーキを三等分にしたいのだろう、と勝手に想像してしまうからですね。
しかし肉体がなく、なにも食べる必要のないAIは、『食べるために』という前提がなければ想像がつきません。ゆえにどんな形でも、より均等に分けられる方法を選択した、ということですね。
これが人間とコンピュータの根本的な思考の違いであり、この思考の『流れ』を理解することに、プログラミングを学ぶ意味があると考えます。
チユリを含め、これからの子供たちは少なからず、コンピュータと時間を共にすることが増えていきます。なんならすでに四六時中、コンピュータに囲まれて生活していると言ってもいいでしょう。
プログラミングを学ぶことは、コンピュータがどんな風に考えるのかを理解すること――つまり、コンピュータと仲よくやっていく方法の一つなわけですね。
せっかく長い時間を共にしていくのですから、どうせなら仲よくなれる方法を知っておきたいとは思いませんか?
チユリは中々に勘が鋭い……。
実際のところ、冒頭のような思考実験は存在しません。
私が頭の中で、もし人間ならこう考え、AIならこう考えるかな……と空想した産物に過ぎないもの、例えとして用意したものです。
しかし念のために断っておきますが、私はAIではなく小説家もどきですので。そこはやっぱり、あしからず。
この記事が気に入ったらサポートをしてみませんか?