夜中に目が覚めた。おかしな夢を見ていた。どこかの子供と人間とロボットの違いはどこにあるかについて語り合っているらしかった。私は「ロボットは仕事をしていない時に電源を切っておいてもまた起動させることができるが、人間は死んでしまったらもう生きかえることはない。だから眠っている間も様々なことを感じとっている。」と主張していたようだ。その時、微かな風を顔に感じた。気のせいだと思ってそのまま眠ろうとしたが、やはり何かを感じる。その時、隣の部屋のエアコンが微風が常に出る状態のままだったのに気付いた。まさに、眠っているときも微かな風を感じ取り、夢まで見ていたのだ。
人間とロボットの違いについて考えていたのにも理由がある。この夏は、小学生を対象にしたプログラミング教室の支援をボランティアで行う機会が多かった。そこで様々な疑問を感じるようになったのだ。一体、小学生からプログラミングを学ぶことの目的は何なのか。どんなことを身につけさせたいのか。そのために最も有効な手段は何なのか。こういったことは、多くの教育の専門家が研究し、議論をしてきたはずである。少なくとも大学生以上の大人世代に対して教育をしてきただけの「素人」の私などが付け焼刃で考えたところで答が出るとは思えない。であれば、私自身の原点に立ち返って考え直してみるしかない。
以前から、私は、プログラミングは一種の言語コミュニケーションであると思っている。自然言語が人間同士のコミュニケーションのためのものである一方で、プログラミング言語は人間とコンピュータ、さらにはロボットや自動車や電子機器とのコミュニケーションの手段である。言葉でほかの人の心を動かし行動に移させる、逆に、相手の言葉を理解し行動するのが自然言語コミュニケーションである。それを有効に、かつ円滑に行うのはかなり難しい。その言語の文法を知っていればできるというものではない。一方で、プログラミング言語でコンピュータに仕事を依頼し、その結果として様々な機器を動かしたりデータの交換をしたりするのは、文法の知識があればできるように見える。でも本当だろうか。そのような時、人間とロボット(コンピュータ)との違いについて考えてしまったのだ。
自然言語によるコミュニケーションの相手が人間であり、プログラミング言語によるコミュニケーションの相手が機械であるとすれば、相手の複雑さから見て自然言語を使う前者の方がずっと難しい。機械は人間が作ったものであり、仕組みは明らかである。そして、それについての教育は算数(数学)や理科(物理、化学)でもできる。他に必要な基礎力は論理的な思考力とも言われるが、それも従来のカリキュラムの中で学ぶのは可能だ。
生活の中に存在する多くのデジタル機器の仕組みを知り、その機能を実現しているコンピュータを動かすのに必要なのが「プログラミング」であると伝えられればおのずと学ぶ方向性が見えてくるように思える。そのためには、より多くのデジタル機器の利用経験を通じてどうそれを制御するかを考えることが役立つのではないか。
私たち人間は、機械よりもずっと複雑な仕組みを持つ同士でコミュニケーションを取っている。大したものだ。プログラミングを学ぶことの意味を考えだしたら眠れなくなった。
自分の信念に従って行動する「高い志を持つ、市場価値の高い技術者」を育成します。
「市場価値の高い技術者の育成」を目指して、
コンサルティングと研修のサービスを提供します。
所長:石田厚子 技術士(情報工学部門)博士(工学)
コンサルティングと研修のサービスを提供します。
所長:石田厚子 技術士(情報工学部門)博士(工学)
トップページ > コラム
眠りながら風を感じる
2024.8.25