山田祥平のRe:config.sys

読み書きソロバン、プログラミング

 2020年度から実施されるという新学習指導要領における「プログラミング教育の必修化」が話題になることが多い。もっとも科目として「プログラミング」が加わるわけではない。プログラミング的思考の要素として求められる「課題解決のための手順を論理的に考える力」を養うためのものだという。

コーディング=プログラミングではない

 ジャストシステムがクラウド型通信教育「スマイルゼミ 小学生コース」を、2020年度から実施となる新学習指導要領に対応させ、大幅リニューアルすることを発表した。「プログラミング」講座を2018年3月からスタートする。

 ただ、プログラミングといっても、小学生がプログラミング言語を学んで実践的なプログラミングに取り組むというわけではない。あくまでもプログラミング的な体験を通して最適解を論理的に導き出す思考力を身につけさせるというものだ。

 ジャストシステムILS事業部廣庭雅一氏は次のように説明する。

 「コーディングを覚えることがプログラミング教育の目的であるとの誤解が広がりつつあるが、ジャストシステムはプログラマーの早期養成講座をやるつもりはない。コーディングではない大事なことがあるのではないかと考える。

 そもそも情報技術は時代によって変化するものだ。これまでの過程をたどっても、アセンブラからBASIC、CやC++、Java、PythonやRubyと時代ごとに求められる言語は変遷してきた。だから、2030年代になったときに今の子どもたちに必要な力とは何なのかを考えたとき、特定のプログラミング言語を習得することよりも、普遍的に求められる力を身につけることが重要だ」。

 プログラミングを学ぶ小学生が大人になる2030年代に、トレンディで時代が求めるプログラミング言語が何かはわからない。だからこそ、プログラミング言語に依存することのない思考力としてのプログラミングを身につける必要があるというわけだ。

 そこで同社はプログラミング的思考を体感することと、プログラミングで教科の学びを深めることに重きを置くことにしたという。

 タブレットを使い、児童が1人で学べる教材のサンプルを見せてもらった。課題は

  • 5Lぴったりの水を入れよう

というもので、浴槽のような大きな容器に500mL、8dL、5Lのバケツを使って5Lぴったりの水を入れる。

 この課題を

  • (1)「(ばしょ)まで歩く」
  • (2)「(入れもの)」を持つ」
  • (3)「入れものに水を入れる」
  • (4)「入れものから水を出す」

という4つの要素からなる命令セットを使って解くわけだ。

 もちろん正解は1つではない。すぐにわかるように5Lのバケツを使えば一度ですむし、500mLの容器なら10回分だ。8dLを5回と500mLを2回でもいい。この過程で5Lの水を入れるための解決方法を導き出すと同時に、m(ミリ)、d(デシ)といった単位の接頭辞について学ぶことができる。

 ここで興味深いのは命令セットのなかに使わない命令がないこと、そして、新たな命令を追加できないことだ。

 だから、水道の蛇口と容器をホースで結び、5Lのマーキング位置に達するまで水を流し、達したところで蛇口を閉じるといった方法を思いついたとしても、それを課題解決の方法としては使えない。あくまでも命令セットに用意されたかぎられた要素を使って問題を解決しなければならない。

 優れた発想の芽を摘むような印象もあるのだが、ジャストシステムでは、問題解決のために使える手段はつねに限定されるものであり、その制限、枠組みのなかで問題解決をするのも重要だとしている。

大人の先を行く子ども

 こうして子どもたちがプログラミングのための論理的思考を身につけようとしているなかで、教える側にも大きな負担がのしかかってくる。個人的にも中学生のころに「移行テキスト」を使って「集合」や「行列」を学んだ世代だが、教えるほうがよくわかっていなかったと思う。というよりも、複数の正解があることに教師が慣れていなかったような印象もある。

 高校生になって物理で加速度などを学んだが公式を丸暗記するだけだった。数学で微分や積分を学んだのは翌年以降だったが、あのとき物理と数学の科目の垣根を超えて教わることができれば、すべてがスンナリと解決できたのになと思う。これまた教える側もたいへんだったのだろうと思う。

 こうした移行期には、新たに学ぶ子どもの発想のほうが教える側よりすすんでいるということなのかもしれない。

 その一方で、子どもたちがジャストシステムのスマイルゼミなどで自習するために使うタブレット端末はどうなのか。学習のためのものだから安心して子どもに預けることができるというのが親の論理だ。

 ところが、親はタブレット端末管理のために使うパスワードを新たなものに変更しないままで子どもに渡す。子どもは子どもで、親が引き出しの奥に保管してある業者から端末といっしょに送られてきた書類に記載された初期パスワードをこっそりと盗み見、管理権限を得て好きなゲームやSNSアプリをインストールして親のいないところで楽しんだりもするわけだ。

 いわば子どものハッキングだが、親はそんなことをしているとは夢にも思わない。その程度のコンピュータリテラシーしか持たない親が大勢いたりするのが現実だ。

今問われる教える側の資質

 ジャストシステムが言うように小学生にプログラミング言語とその使い方を教えることに意味はない。だが、論理的に問題を解決するための方法は知っておいてほしいと思う。

 WebブラウザでPC Watchのサイトが開かないとき、「PCがインターネットにつながらない」と大騒ぎするだけではなく、どこに問題があるのかを突き止めるために、PC Watchのトップページがおかしくなっているのか、インプレスのサイト全体がそうなのか、ほかのドメインはどうなのか、ブラウザを変えたらどうなのか、壁の引き込み線からONU、Wi-Fiルーター、OS、PCのWi-Fiクライアント、ブラウザアプリのどこに問題があるのかを順にチェックしていって最終的に何が壊れているのかを導き出せるような能力は、生きていく上で必要なものだし、将来、仕事を進める上でも重要な要素となるだろう。

 先日来日した元Intelで現VMware CEOのパトリック・ゲルシンガー氏は「これからは文章の読み書きソロバンからコードの読み書きと数学の時代」という。「コーディングはコンピュータと人間のインタラクション」とも言う。

 個人的にはプログラミング、とくにコーディング作業の一部は将来的にAIの仕事になるようにも思っている。まさに人間は「課題解決のための手順を論理的に考える力」を持ち、それをAIにコーディング以外の方法で伝えることでコーディングの作業をAIがになってくれるようになるかもしれない。

 ゲルシンガー氏は「AIはあくまでも補佐」であるとし、「本当に重要なのはコーディングではない何か」であるとするジャストシステム。

 だが、双方ともに考えていることは同じじゃないか。今はコンピュータとのインタラクションのために求められるもっとも効率のいい手段はコーディングであるかもしれないが、将来はそうでなくなる可能性は高い。大事なことは教える側が、そのことをきちんと把握しているかどうかである。

 教える側の資質が問われているということなのだろう。