AI時代に問う「プログラミング教育の本質」飯坂正樹×Tably 及川卓也×田中洋一郎

AI時代に問う、プログラミング教育の本質  プログラミング総合研究所代表 飯坂 正樹氏  Tably株式会社 代表取締役 及川 卓也氏  Tably株式会社 CTO 田中 洋一郎氏
  • 今回お話を伺った方
    • 株式会社プログラミング総合研究所代表

      飯坂 正樹氏

      成果が見えにくいプログラミング教育の課題解決をミッションとし、学習効果を可視化する手法を研究。科学的アプローチに基づいたカリキュラムや評価指標を開発・提供することで、保護者が安心して子どもを学ばせられる教育環境を整備している。

    • Tably株式会社 代表取締役

      及川卓也氏

      米国Microsoft本社でWindows NT日本語版開発に携わり、日本法人では日本語・韓国語版Windows開発を統括。GoogleではChromeやGoogle日本語入力などを担当し、NHK「プロフェッショナル仕事の流儀」にも出演。Qiita運営企業Incrementsでの勤務を経て、2019年にTably株式会社を設立。企業や社会の変革を支援するほか、社外取締役・研究員など多方面で活動中。

    • Tably株式会社 CTO

      田中 洋一郎氏

      業務アプリ向けの開発ツールやフレームワークの設計に携わった後、mixi Platform、LINE Platform の技術統括を行う。日本でのソーシャルアプリケー ションの技術的な基礎を確立しただけでなく、メッセージングアプリにおいても世界に先駆けてBOT Platformの立ち上げを主導した。その後もプラットフォームのさらなる進化に日々チャレンジしている。

生成AI時代におけるプログラミング教育の課題と可能性について、プログラミング総合研究所代表の飯坂正樹氏が、Tably株式会社代表取締役の及川卓也氏とCTOの田中洋一郎氏にお話を伺いました。

AIがコードを書く時代だからこそ人間が学ぶべきプログラミングの本質とは何か、世界に通用する人材育成に向けた教育現場の実践と評価の在り方について考察します。

生成AIが変える「プログラミング能力」とは

鼎談した三人(Tably株式会社代表取締役の及川卓也氏 同社CTOの田中洋一郎氏)の写真

右から:Tably株式会社代表取締役の及川卓也氏 同社CTOの田中洋一郎氏 プログラミング総合研究所代表 飯坂正樹氏


飯坂: プログラミング総合研究所の飯坂です。今日はテクノロジーと教育の最前線で活躍されているお2人にお話を伺ってまいりたいと思います。

及川: Tably株式会社 代表取締役の及川と申します。マイクロソフトやGoogleでソフトウェア開発やプロダクト開発のマネジメントなどを経験し、現在はその経験をもとに若年層、小中高生への教育を進めたいと考えております。

田中: TablyのCTO田中と申します。ソフトウェアエンジニアとしていろいろなサービスやアプリケーション開発をしてきました。現在は初心者向けプログラミング学習サービス「Jasmine Tea」の開発に携わっています。

飯坂: では早速ですが、生成AIが普及する中で必要になってくる「プログラミング能力」について、及川さんからお聞かせください。

及川: 生成AIが出て、世の中がガラッと変わりました。しかし、変化し続ける中でも、決して変わらない部分があります。

それはプログラムを作るときに「何を作るのか」というところ。専門用語でいうと要件定義になります。要件定義は本質として、生成AIが出ようとも変わらないと思います。

一方で、コーディングと言われる部分は、今までは専門のプログラミング言語を用いていたけれども、それが自然言語(人が日常的に使っている言葉)で実現できるようになる。これまでのコーディングスキルをどの程度まで習得しておく必要があるのかについては、疑問が残ります。

ただし、もし自然言語で開発ができるようになったとしても、AIを作る人間は確実に必要だし、AIが作れないようなソフトウェアを作る人間が必要になる。AIを作る人材やAIでは対応できない領域を担う人材は、今後ずっと必要だと思います。

田中: 生成AIが出て、自分自身のプログラミングもガラリと変わりました。

最初はAIなんかに負けるかとプログラムを書いていたのですが、今は自分ではコードを書きません。AIにお願いをして、出てきたものを数回修正する程度です。

その中で良いものを作るために何が必要かというと、本質的な力が問われると思うのです。

優秀なエンジニアであれば、使うプログラミング言語にこだわる必要はそれほどありません。それよりも重要なのは、「何を、どのように作るか」をきちんと整理し、言葉で明確に説明できる力です。

むしろ今後は、そうした力がますます重要になっていくと感じています。

AIがコードを書く時代に人間が学ぶ意味

これからのプログラミング教育について語る及川さんの写真

飯坂: それでは、AIがコードを書く時代において、人間がプログラミングを学ぶ意味はどこにあるのでしょうか。

及川: AIがコードを書く時代になっても、人間がプログラミングを学ぶ意味は確かにあります。

まず、AIには任せられない領域があるからです。

たとえば、倫理的な判断が求められるようなケースでは、人間が自らの責任で判断しなければなりません。状況を理解し、判断できる力を持つには、やはり人間自身がプログラミングやその背景を理解している必要があります。

次に、AIは完璧ではなく、しばしば誤ったコードを生成することがあります。そのミスに気づき、修正できるのは人間だけです。AIを使いこなすうえでも、正しく動作するかを見極める力が欠かせません。

そしてもうひとつ、たとえAIが高度なコードを書けたとしても、人間がプログラミングを学ぶ意味は「楽しさ」にもあります。

思い通りに動かない中で試行錯誤し、やがて自分の手で動かせたときの達成感。これはものづくりの原点とも言える体験であり、その楽しさこそが、学びを続ける原動力になると思います。

AIとプログラミングについて語る田仲洋一郎氏の写真


田中:AIがコードを書く時代になっても、「コンピューターを自分の思い通りに動かす」というプログラミングの本質は変わりません。

ここ何十年も私たちはその手段としてプログラミング言語を使ってきましたが、今はその手段が少し変わってきただけだと思っています。

生成AIの登場によってすべてのコードを書く必要がなくなったとしても、プログラミングの楽しさや創造性は失われません。楽しさを味わえるからこそ、プログラミングを学ぶ価値は今後もあり続けると感じています。

飯坂:及川さんの言う「AIに任せられない領域、倫理的な部分」とは、具体的にはどのようなものでしょうか。

及川: AIは基本的にすでにあるデータをもとに、確からしいパターンを抽出して推論や生成を行います。最初のデータセットに間違いがあったならば、間違いが量産される。偏見やバイアスを生むようなことを生成AIが行ってしまう可能性があります。

AIの力が強くなっているからこそ、誤った振る舞いをするAIによって社会が大混乱に陥る可能性がある。その暴走を防ぐための、ガードレールの役割を私たち人間がしなくてはなりません。

たとえば自動運転で、前に人が飛び出してきた時、右側にガードレール、左に切ったら対向車にぶつかるかもしれない状況で、どうするかに正解はない。それを決めるのは人間です。

いわゆるトロッコ問題*ですが、このようなことを判断するのは人間でなければならないのです。
* 倫理の問題

教育現場での実践と課題「これからのプログラミング教育はどうあるべきか」

司会として問いかける飯坂さんの写真

飯坂: これからのプログラミング教育はどうあるべきかという観点で、実際の取り組みも含めてお話を聞かせてください。

田中: 私たちが取り組んでいるJasmine Teaは、既存のプロ向け言語(Pythonなど)は難しすぎ、ビジュアルプログラミング(Scratchなど)は実社会で使う本格技術に繋がりにくい…その“間”を埋めるためのテキストプログラミング言語・学習サービスです。

1980年代、私が小学生だった頃、まわりの友達はファミコンで遊んでいました。そんな中、私はプログラミングに出会い、「ゲームは自分で作れるんだ」という衝撃を受けたのを覚えています。

きっかけは、ファミコンにキーボードをつなげて使う「ファミリーベーシック」*という機器でした。Jasmine Teaを作り始めた当初は、このファミリーベーシックを再現するようなイメージで開発を進めていました。
* BASIC言語(初心者向けのプログラミング言語)を使って、簡単なゲームやアニメーションを自作できる

しかし、あまりに古く感じられたため、現代的な要素を取り入れる必要がありました。そこで、プログラミングの進化した良い部分を組み込み、今の時代に合った形へと改良しました。

プログラミング学習サービスJasmine Teaの画面
出典:Jasmine Tea公式サイト

飯坂: Jasmine Teaは、テキストでコーディングするとScratchのようにビジュアルで動く仕組みになっていますね。

田中: 登録されているキャラクターたちを動かすとか、作曲もできますし、音声認識もするので自分の声でキャラクターを操作することも可能です。

いろいろな機能を盛り込んではいるのですが、それをできるだけ簡単に、直感的にプログラミングできるよう工夫して仕様を考えました。

飯坂:学習の段階でいうと、いわゆるScratchのようなビジュアル言語とテキスト言語の間くらいで使うイメージでしょうか。

田中:そうですね。当初はScratchをやっていた子どもたちが、いきなりJavaScriptなど難しいところに行って挫折しないような、ビジュアル系とテキスト系の橋渡しになるものを考えていました。

ただ、実際に学校で使ってもらうと、意外にもScratchを経験していない子どもたちが一定数いて、Jasmine Teaが初めてのプログラミング体験になるケースも多くありました。初めてでも理解して、使いこなしていますよ。

メインターゲットは中学生ですが、小学校4年生くらいでもなんとか使用できるかと思います。

飯坂: Jasmine Teaですが、プロ検のCFRP(Common Framework of Reference for Programming Skills:プログラミングスキル共通参照枠)という、プログラミング能力の尺度基準に準拠した形でカリキュラムを設定いただいたと伺っています。その経緯について教えていただけますか?

田中: CFRPを見た時に「これはぴったりだ」と思いました。

従来のプログラミング言語は、オブジェクト指向や関数型といった、プロが使うための高度な概念が含まれており、初学者や中学生には難しい面があります。

一方、Jasmine Teaは、そうした複雑な概念を排除して、できるだけ基本となるものだけで構成できるようめざしました。

CFRPは、基本要素である「順次・繰り返し・条件分岐・配列」といった、プログラミングには欠かせない基礎中の基礎がしっかりと体系化されています。

しかも、CFRPに沿って学習を進めれば、自然とプログラミングの制御構造が全て理解できるという構成になっている。これを見て「まさに求めていたものだ」と感じ、CFRPを基にしてJasmine Teaの教材を作成し、現在も活用させていただいています。

プログラミング教育の評価という課題

プログラミング教育について語る田中氏と及川氏の写真

飯坂: ありがとうございます。プログラミング能力検定(プロ検)は約5年半前にスタートしました。

当時はプログラミング教育が学校や民間で広がり始めた時期で、しかし「教えられる人がいない」「家庭もよくわからない」といった状況がありました。

学びを継続するためには、できたことを小さなステップで評価できる仕組みが必要だと考え、そこで策定したのがCFRPです。

設計の思想としては、エンジニア養成の書籍を調査し、基礎知識を6段階に分割して定義しました。その後、国家試験などとも範囲が重なることに気づき、結果的に教育現場やスクールでも活用されています。

資格としてだけでなく、学習を継続するための「ものさし」としても広がりを見せています。

CFRP(プログラミングスキル共通参照枠)の表
出典:プロ検

及川: 私自身はこれまでプロのエンジニアと一緒に働いてきたので、細かいレベル感での評価は不要でした。しかしJasmine Teaを始め、初心者に教える立場になると、何をめざすべきか、どのレベルに到達しているかを判断する基準が必要になります。

仮に私がプログラミングにあまり詳しくない中学校の教師だとします。生徒に課題を出して、「先生、できました!」と持ってこられた時、まず「ちゃんと動くかな?」と確認して、期待した結果が出力されれば「よくできたね」と評価するでしょう。

ところが、プログラムの中身を見ると、同じような処理を何度も書いていて、本来なら繰り返し処理を使えば3行で済むところを30行も書いているかもしれません。動作はするけれど、効率的ではない。

そんな時、CFRP(プログラミングスキル共通参照枠)のような客観的な評価基準があると、「この生徒は順次処理と分岐は理解しているが、繰り返し処理がまだ使えていない。次はそこを教えよう」という判断ができます。

CFRPという基準があると、「ここまで理解できている」「次はこれを教えよう」という具体的な指導が可能になりますね。

田中: CFRPでは配列操作(データの集合を扱う技術)など、基本要素を段階的に学べますが、実際の評価はそれを組み合わせて目的を達成できるかどうかにあります。

たとえば繰り返し処理を使わず同じコードを何十回も書いていても動けば正解とされる場合もあります。しかし本当に評価すべきは最適な組み合わせの理解です。

子どもたちのコードを添削しても、それぞれに個性や違いが現れます。その多様な解答をどう評価するかは非常に難しいと思います。

飯坂: プログラミングの評価は、短いコードが良いとか、スピードであるとか、あるいは目的が達成していれば中身はいいとか、教育の場面ではどういった観点が重要なのでしょうか。

田中: 課題解決型の学習をしているようですが、やはり目の前の課題をどう解決していくか、グループディスカッションで導き出すとか、そこでさまざまな視点があることを学ぶのが大事ではないかと思います。

むしろ正解を知るのではなく、どうやったらいいのかを一生懸命に考える、考え方みたいなところが重要だと思います。

世界で通用するIT人材とは

世界で通用するIT人材について持論を語る田仲洋一郎氏

飯坂: では、世界で通用するIT人材とはどのような存在だと思われますか。

及川: IT人材といっても幅広い定義がありますが、ここでは「世界中で使われている重要なソフトウェアやシステムを開発できる人材」としましょう。今でいうと、AWSやGoogle Cloudのようなクラウドベンダーですね。

ノーコード、ローコード、生成AIの技術が発達した現在では、データさえ用意できれば、自然言語による指示やビジュアルな操作だけで必要なシステムを構築できるようになりました。

この変化により、従来のプログラミングスキルよりも重要になるのは、業務に関する深い知識と適切な要件定義(システムに必要な機能や性能を明確にする作業)の能力です。

ただ、それでも基盤の部分は変わらず必要であり、ここは絶対に置き換えることができません。

システムの基盤技術は代替不可能で、だからこそ巨大IT企業が各国の規制対象になるほど力を持っています。これを行うには、生成AIがあろうとも、高度なプログラミングができるような人材を育てなくてはなりません。

IT人材育成について語る及川氏と田中氏の写真

飯坂: 及川さんは実際にMicrosoftで現地のエンジニアと一緒に仕事をされていたと思うのですが、世界の最前線でインフラレベルの開発をしているエンジニアと、それ以外のエンジニアとの違いは何でしょうか。

及川: 世界的な基盤ソフトを作るエンジニアは、トップレベルの大学でコンピューターサイエンスを学び、大体マスターまで取得しています。

日本にも同レベルの人材はいますが、重要なのは実践経験です。

国内の限定的なサービスなら教科書通りで動きますが、LINEやYahooのような大規模サービス、世界規模のサービスになると利用者数が桁違いで、教科書通りでは動きません。

そうした修羅場を試行錯誤で乗り越えた経験と得た知識こそが、世界に通用するエンジニアのスキなのです。

飯坂:田中さんは、まさにそのあたりを行われていたわけですよね。

田中: それこそグローバルなサービスやシステム開発を行うと負荷に耐えられません。耐えられるようにするにはどうしたらいいのか、いくつものレイヤーを下がって調査していかなくてはなりません。

問題を解決するには、ビジネスレイヤー(業務層)からミドルレイヤー(システム中間層)、OSレイヤー(基本ソフト層)、ハードウェアまで下がって原因を探る必要があります。

どこをチューニングすべきかを判断するには、まず、深い学問が必要です。そしていかに修羅場を通って各レイヤーの経験値を積んでいるか、これによってソフトエンジニアの優秀さは変わってくると思います。

プログラミング教育の本質とは

鼎談を終えて飯坂氏、及川氏、田中氏3人の写真

飯坂:学術的に学ぶという面では、高度なところまでいくと原理原則の世界に入っていく、そのベースラインとなる数学もしっかり理解しなくてはならないことになりますか?

及川:重要なのは、やはりロジカルシンキングです。プログラムは基本的にはロジックの組み合わせですから。専門領域では確かに高度な数学知識も必要ですが、全体的に考えると論理的思考力が鍵になると思います。

情報という科目が新設されたのも、すべての社会人にプログラミングの一定のリテラシーが必要だからでしょう。

たとえば経済学部でもデータサイエンスは必須になってきていますし、社会学であってもPythonを使った分析ができることは重要です。つまり、学問においても社会人になってからも、プログラミングスキルは大きな武器になるツールだと考えています。

飯坂: では最後に、「プログラミング教育とは何か」について、お2人からひと言ずつ、いただきたいと思います。

及川: プログラミング教育には3つの重要な意味があると思います。

1つ目は、プログラミングが社会人にとっての基礎リテラシーになっていくだろうということ。つまり、どんな職業に就いてもプログラミングは基本的なツールであり、社会人として必要な素養になっていくということです。

2つ目。現代は多くの仕組みがソフトウェアで動いていますが、その中身がブラックボックス化されてしまうのは望ましくありません。その仕組みを理解し、支えられる人材を育てることも、教育の大切な役割です。

さらに3つ目は、プログラミングというのは一種の「ものづくり」であり、できた時の達成感が非常に大きく、純粋に楽しいものだということです。

社会を動かしているシステムやソフトウェアを作ること自体の面白さを学ぶ、実感してもらうことが、プログラミング教育のとても大事な要素ではないでしょうか。

田中: 私も、プログラミングはまず「楽しいもの」だと思っています。小さなマイコン(小型コンピューター)から、普段見えない場所で動いているシステムまで、さまざまな規模のものを自分の手で作れるのは本当に面白いです。

知識や技術は、日々の積み重ねによって深まります。そうした学びの積み重ねを大切にできる教育環境が、やがて世界に通用する人材の育成につながるのだと思います。

飯坂:  私も中学生の時にプログラミングを始めてゲーム作りに夢中になりました。そこで得たのはプログラミングスキルではなく、世の中に何かをアウトプットできるという自信でした。これが現在の仕事にも大きく繋がっています。

プログラミングを通じて論理的思考力が身につき、会話や文章で「話の筋が通っていない」「論理に穴がある」といったことに敏感になりました。論理的思考力は、プログラミング以外のあらゆる場面で活かせるスキルです。

プログラミング教育の目的は単にプログラマーを育てることではなく、こうした思考力を養うことにあると考えています。

プログラミング能力検定は、共通リテラシーとしてのプログラミング力を客観的に測る尺度として、子供たちが挫折せずに自信をつけられるツールです。

Jasmine Teaのようなテキスト言語学習ツールや測定の仕組みを普及させることで、未来に繋がることでしょう。本日は貴重なお話をありがとうございました。
今から対策しませんか?新・大学入試
お近くの教室を探す
コエテコ経由で体験申し込みされた方全員にAmazonギフトカードプレゼント中!
体験レッスン+口コミ投稿された方全員に
Amazonギフトカードプレゼント中!

あわせて読みたいガイド

プログラミング教育がスッキリわかる!
よく分かるプログラミング教室ガイドを読む

RECOMMENDこの記事を読んだ方へおすすめ

運営者情報

コエテコ byGMO 」は、東証プライム上場企業である GMOインターネットグループ株式会社 の連結グループ会社、GMOメディア株式会社によって運営されています。 編集は、同社の教育サービス事業部「コエテコマガジン」制作チームが担当しています。

商号 GMOメディア株式会社 (GMO Media, Inc.)
設立年月日 2000年10月13日
GMOメディア株式会社の事業内容 メディア事業、ソリューション事業
所在地 東京都渋谷区桜丘町26-1 セルリアンタワー 12F
資本金 7億6197万円(2024年12月31日現在)
上場市場 東京証券取引所 グロース市場(証券コード : 6180)
主要株主 GMOインターネットグループ株式会社
東京証券取引所 プライム市場(証券コード : 9449)
許可 厚生労働大臣許可番号
有料職業紹介事業(13-ユ-316281)
運営者情報の詳細はこちら