見出し画像

AI時代のプログラム教育について?

まとめ

いわゆるSTEM教育の重要性から、文科省はプログラム教育の課程を策定し進めている。その内容は試験のための教育という意味では適切でも、プログラム技術の本来の視点からは疑問がつく内容だ。さらに最近のAI技術の発展によって、プログラミングの作業や仕事が大きく変化してきている。そうした状況で今のプログラム教育は、意味があるのだろうか?

本文

プログラム教育のはじまり

 先進国の中でも、日本のAI等の先端技術の遅れやプログラマー不足はかなり顕著です。
 デフレで新技術への投資が少ないこと、経営者が勉強不足で先端技術に対する理解がないこと、社内では技術者と言ったスペシャリストを下位に置く傾向があり給与が少ないなど、原因はいろいろあるとは思います。しかし社会的にはSTEM教育が不十分だいうことで合意ができたようで、国はプログラムを教育課程に入れることを決定しました。
 国の将来をかけるということで、文科省は頑張ったんだと思います。大学入試でプログラムの出題まで想定したものを策定しました。

衝撃のサンプル例題

 ところでプログラムというのは、コンピューターが理解する語彙(命令と呼ばれます)と、ある種の文法のある言語です。いろいろな歴史的経過があり、何種類かのプログラム言語が存在し、目的によっては使える言語が制約されることもあります。
 世界中で使用されるプログラム言語ですが、コンピューターが発展するのと同様にプログラム言語も発展してきました。発展の過程で文法が変わることもありますし、言語の語彙が増えることもあります。世界の最高レベルのプログラマーが話し合い、そうした変更を毎年加えていきます。そうした意味で、会話に使う自然言語と同様にプログラム言語は日々進化する言語です。

 文科省の人にとっては、「プログラムが言語が日々進化する」という事実は我慢ができなかったようです。教育課程の説明として用意されたプログラムの出題サンプルを見て私は衝撃(あるいは「笑撃」)を受けました。なんと文科省は、「出題用のプログラム言語」なるものを用意し出題サンプルを作っていました。
 私の予想は、文科省の人等はプログラミングを数学のようにとらえ、必ず答えが一つになるような問題を作成しようとしているのではないかと思います。そのためには出題の前提となるプログラム言語を、数学の公理のように固定したのだと思われます。しかし言うまでもなくそれはプログラムの実態とはかけ離れていて、実用的なSTEM教育として適切かどうかは、はなはだ疑問です。

AI時代のプログラミング

 chatGPTの発表から世界は一変しました。chatGPT以前のプログラミングは、前段階で準備した設計書に従い少しずつ入力し作り上げていくものでした。それが今ではいわゆる自然言語でプログラムの内容を言うだけで、chatGPTは大方のプログラムを作ってくれます。
 こう言うとプログラムという作業や仕事はもはやなくなったように思われるかもしれませんが、そんなことはありません。プログラムを構成するモジュール(部品)程度は作ってくれますが、大きなシステムになると難易度は昔も今も変わりません。あらすじを言えばchatGPTは短い作文はしてくれますが、本一冊書いてくれるほどではないのと同様です。
 とはいえ作業に伴うプログラム言語の細かなルールに気を付けるという精神的負担は、ずいぶん減りました。そういう意味でchatGPTはプログラミングという作業の生産性を強烈に向上させました。同様の理由で、「出題用のプログラム言語」と実際に使用しているプログラム言語の違いは、AIの時代にはもはや無意味と言っていいでしょう。

これからのプログラム教育

 私の経験ですが、プログラム作成の難易度は最終的なシステムの大きさで飛躍的に増します。理由は単純で、システムを構成するモジュール同士の整合性を取る作業があるからです。
 chatGPTを含めAI技術はこれからも発展していきますが、こうした理由から簡単な入力で巨大なシステムを作り出すような時代は、まだしばらくは来ないと私は予想します。よって科学技術の発展においてプログラム教育することの重要性は無くなることはありません。プログラム言語の詳細な語彙や文法の細部の理解は不要ですが、プログラムを実行した時の処理の流れを適切に理解する能力の重要性は、今以上に大切になっています。

 またプログラム作成にかぎらず、chatGPTのような会話型のAIを作ってなにか作業をしようとするとき、AIにどのように入力するかが重要になってきます。複雑で高度な結果を求めるには、AIに入力するのもかなりの注意を要します。この問題はプロンプト工学とよばれ、学術的にも研究されている問題です。実はここにも、処理を順序だてて理解する能力が必要とされるケースが存在します。

 こうしたことを踏まえると、プログラム教育は数学のように決まった回答のある問題でなく、国語の問題ようであるのが適切に思われます。実際の表現方法は無数にありますが、答えには条件や要点があって、そこを抑えていない答えは間違いだという問題の構成の仕方です。

 多分こうした可能性も含め文科省では試行錯誤をしていくのだろうと思います。大変な時代だなと思いつつも、新しい才能が驚きに満ちた発見や発明をしてくれる時代が来ることを期待します。

この記事が気に入ったらサポートをしてみませんか?