コラム
「「AI時代のプログラミング教育 」 理大科学フォーラム(2026年2月号)に寄稿
1.導入
2022 年末に登場した ChatGPT は、人間らしい文章・会話を生成するシステムとして大きな衝撃を与えた。しかしながら、この時点の生成 AI は、矛盾や平然とした噓(ハルシネーション)を含むなど、その出力に は 吟 味 が 必 要 な シ ス テ ム で あ っ た。2023 年~2025 年は生成 AI が大きく進化を遂げた時代である。もはや現在の生成 AI は、自然言語処理学者を驚愕させたそれらしい文章生成器だけに留まらず、高度な論理的思考が必要な解答や、ソースを元にした調査、文章以外のコンテンツの生成など、ある程度の専門性が必要な作業を代替で行える存在にまで成長した。その結果、産業での利用も一気に拡大し、プログラミングにおいても現在のエンジニアは (一部を除き) AI を活用した開発が主流となっている。2023 年の Cursor、2024 年の Devin、2025 年の Claude Code など、AI コーディングの活用方法やツールは目まぐるしい速さで進化している。ただし、ここで注意すべきは、AI コーディングを評価している方や上手に活用している方々が、AI を活用していないプログラミングを学習してきた人材であるという点である。現在のエンジニアが積極的に AI コーディングを使うべきか否かはこの場で論じない。しかし、この変化は、プログラミング教育の現場、特に教員に対し、① AI コーディングが普及した現在、プログラミング教育は必要か、②必要である場合、AI をどこまで利用させるか、という根本的な問いを突きつけている。本稿は、これらの問題に対する筆者の見解と実践方法を提示することで、劇的な変化を続けるプログラミングに関わる教育現場の関係各位の一助となれば幸いである。
2.プログラミング教育の必要性
筆者は学生から「生成 AI が普及してきて、頼めばAI がコードを生成してくれるのに、プログラミングをわざわざ学ぶ必要があるのか?」という質問を受けたことがある。「魚を与えるのではなく魚の釣り方を教える」という教育の格言は、自立した問題解決能力の重要性を示している。しかし、現在の AI は、「いつでも魚を釣ってくれる非常に優秀な釣り人」のように見え、頼む側は釣り方を学ぶ必要がないように思えてしまう。この認識こそが、「AI がコードを生成するのになぜ学ぶ必要があるのか?」という学生の質問の背景にある。プログラミング教育を「学ぶ必要がある」とする理由を教育機関のレベルに応じて考えてみる。中学・高校といった中等教育機関での目的は、プログラミング教育を通じて物事の考え方や思考力を鍛える、工学的なトライアンドエラーの体験をする、というようなある程度万人向けの理由がある。プログラミングでエラーが出た際の原因の絞り込み方や、コードの修正・実行・結果を確認して再び修正する PDCA サイクルの体験など、プログラミング以外への応用例も少なくない。大学のような高等教育機関では、情報といった専門分野を学ぶ上での利点がある。これらの理由は講師の考え方や講義目的によって多様であるが、筆者は以下の見解に基づき講義・演習を行っている。
● エンジニアを目指す人は、AI 利用を前提とする開発においても、コードが動かない原因や修正方針の指示など、プログラミングへの理解は必要である
● コンピュータサイエンスを深く学び研究する人は、アルゴリズムや計算量という知識がなければ、提案する新しい手法の良し悪しも判断できない
そのため、正常に動作するコードを事前に用意して解説をするスタイルは採用せず、コードはその場でコーディングし動作解説を行う実演形式で実施している。その場でコーディングするためエラーが出ることも多い。むしろ、エラーが出るコードを書くことが目的であり、それによって対処方法を実演して見せることができる。特にプログラミング初学者に対して、エラーは出るものである、プログラミングとはエラーを修正することである、という実態を見せることで、エラーへの抵抗感や苦手意識を取り除く効果にもつながる。
3.プログラミング教育における AI の活用
まず一つの方法として、AI の使用を禁止してプログラミング教育を行う方法を考える。学生が AI 禁止の指示を守るかどうかはさておき、AI を使わせないプログラミング教育が実施できれば、これまでの変わらない人材が育成できる。実際の現場で AI を有効活用している人材が AI なしの教育を受けてきた事実は、「AI を禁止する教育」が将来の活用を妨げない根拠となり得る。しかし、AI の進化が続く中で、この方針は「AI を使わせる教育」との比較検証が必要である。
最近、興味深い研究報告が出ており、その内容の一部を紹介する。この文献では米国の大学生 1000人以上を対象にした調査を行い、学生が AI をアカデミックな支援を求める際、2 つの異なる利用行動があると述べている。1 つ目は Executive Help-Seeking(実行的な支援の追求)で、先ほどの魚を釣る行為を AI に行ってもらう利用方法である。2 つ目は InstrumentalHelp-Seeking(道具的・手段的な支援の追求)である。これは、概念やプロセスをよりよく理解し、自力で問題を解決できるように AI を利用する方法であり、魚の釣り方を覚えるために AI を活用する利用方法に相当 す る。以 下 に、プ ロ グ ラ ミ ン グ 教 育 に お け るInstrumental Help-Seeking の具体例を列挙する。
● デバッグ・エラー解決:「このエラーの原因と修正方法を、1 つずつステップで説明してください」
● 概念の明確化:「○○を引き起こすメカニズムを教えてください」
● コードレビューと改善:「このコードをパフォーマンス、可読性、セキュリティの観点からレビューし、改善点を提案してください」
● 異なる実装方法の比較:「○○と△△の実装例と、それぞれの計算量 (時間複雑度)がなぜそうなるのかを比較して説明してください」
さらにこの文献では「講師が AI の深い利用方法を説 明 し て 推 奨 し て い る 場 合、学 生 は InstrumentalHelp-Seeking を行う傾向が高くなる」という興味深い結果が示されている。つまり、推奨する使い方とその理由や効果、推奨しない使い方とその理由や影響などを、事前に講師が学生に細かく指示を出すことによって、概念やプロセスをよりよく理解するような使い方に誘導することが可能であると述べられている。プログラミング教育で AI の使用を禁止したとしても、今後の学生は、学業においても様々な AI を活用しながら学習を進める時代になるであろう。そのような時代 の 学 生 は 目 的 を 即 時 解 決 す る た め の ExecutiveUse と学習のための Instrumental Use を上手に切り替えて活用する能力が求められる。プログラミング教育には、正解となるプログラムがあり、動かないプログラムには明確な理由があり、変更した結果・効果もすぐに実験して確かめることができる。このような観 点 か ら、プ ロ グ ラ ミ ン グ 教 育 は 非 常 にInstrumental Use の方法を学ぶ上でも学びやすい教育コンテンツだと考える。今後のプログラミング教育では、アルゴリズムやプログラミング言語仕様などのこれまでのコンテンツの他に、Instrumental Use の方法を学ぶ時間を設けて、AI を活用する学び方を修得することが必要になるかもしれない。
筆者は 2025 年前期に開講したプログラミング演習科目で、AI の自由な使用を許可 (ただし、課題のプログラム生成は禁止) し、その効果を観察した。結果、例年と比べ TA(大学院生) への質問が大幅に減少した。この観察から、学生がエラーの原因特定などを AI に問い合わせる、自律的な Instrumental Use をすでに開始しており、講義内容を超えた独自学習を可能にしていることが示唆された。理解が早く、講義・演習の進度を遅いと感じる学生に対する対処 (反対に早いと感じる学生にも可) としても非常に有用である。AI を用いるデメリットは、前述の本質的な学習を阻害するExecutive Help-Seeking を行ってしまう場合と、教員側が成績評価をする際に、AI 使用による不当な評価である。後者は教員側の評価体制の問題であり、学生の能力を高める術として存在する AI 活用を禁止する理由にはならない。また、AI の正しい活用方法を説明した上で Executive Use を行う学生は、ほぼ不当評価目当ての活用であり、やはりこちらも評価側の問題改善で対処可能なデメリットであると考える。
4.まとめ
結論として、現時点で教員側の考えるべき問題は様々あるが、学生に AI 利用を禁止する積極的な理由は見当たらず、むしろ正しい使い方(Instrumental Use)を明示し、積極的に使用させるべきであると考える。しかしながら様々な潜在的な問題、実施して改めて判明する問題などは存在する可能性も高く、プログラミング教育に携わる関係各位のフィードバックをいただけると幸いである。
参考文献1)Aguilar, S. J., Nye, B., Swartout, W.R., Macias, A., Xing, Y.,& Xiu, R.(2025, August). Fostering Critical Thinking inthe Age of AI(Report). USC Center for Generative AIand Society. https://doi.org/10.35542/osf.io/wr6n3_v2
2025年10月 松澤 智史
「今を語る・・・・2019-2020,科学技術の発展と人類」 本学卒業生(卒業アルバム2019年度)に向けて寄稿
科学技術の発展と人類
1969年に現在のインターネットの起源となったARPANET(Advanced Research Projects Agency Network)がアメリカ合衆国で誕生して今年で50年を迎えました.その間,インターネットは様々な研究者,技術者などの力により,現在のような巨大なインフラとしての形を形成してきました.
1991年に制定されたHTTP(Hypertext Transfer Protocol)は,World Wide Webというサービスの手順を示したインターネットサービスの一つであるにも関わらず,誰でも自由に情報を記述し,その情報を必要な人が必要な時に取りに行く手順を示した仕様であったために,その後の人類に多大な影響を与えました.その後GoogleやYahooといった検索エンジンの登場で,Webのサービスは急速に拡大し,現在では,誰でも自由にテキスト,音声,動画といったコンテンツを発信し,また,いつでもその情報を得ることが可能な世界になりました.
インターネットがインフラと化し,いつでもどこでも常時接続可能なネットワークとなったことより,人類は他人の知識や知見を瞬時に得ることが可能になりました.現在のようなインターネットが普及する以前の世界では,多くの知識を持つ人間は「生き字引」として重宝され,人間の能力を測る試験でも,その場でその知識を記憶しているかどうかを問われる試問が多く出題されていました.
大学等の試験でも,カンニングという行為が多発し,問題視されております.もちろんルールを守らない行為に対しては厳正な処罰が下るべきではありますが,監督者の目をくぐりぬけて短時間で得られる情報を書き込むことで試験の点数が上がるという,上で述べた「その場でその知識を記憶しているかどうか」を問う設問がまだ多数あるという事実に対して,まだ人間の能力を問う方法に関して時代に追いついていないようにも思います.
今後,PCやスマートフォンで目的の知識を探す時間すらないような状況以外では,その場で正確に用語を記憶している必要性は(少なくとも過去よりは)薄くなるでしょう.空中ディスプレイの研究が進み,本人しか視認できないような発光が可能になる,あるいはスマートグラスが現在の眼鏡に近いような形状になれば,その人の発言等が記憶していた知識なのか,あるいはその場でインターネットを利用して得た知識なのかを第三者が区別することは難しくなります.そのような世界になれば,記憶していた知識とその場で得た知識をほぼ同等に扱うことが当たり前になるかもしれません.
しかしながら人間は考えるために知識を必要とします.そもそも言語という知識がなければ論理的に物事を考えることもできませんし,当然新しい発想も生まれません.つまり今後は,記憶に留めておく知識,到達する手段のみ記憶しておけば詳細に覚えておかなくても良い知識などのラベル付けや優先順位付けが知識を得ることにおいては重要になるかもしれません.
専門ではありませんが,人間は進化の過程で不必要となった尻尾を失ったと言われております.エアコンによる温度管理が前提の今では,そのうち鳥肌が立つという機能も失われる可能性も指摘されております.
人間の脳も,記憶するということに関しては退化していくのかもしれません.
さて,脳に関しての話に触れたところで少し話題を変えますが,1990年代~2000年代にかけてのコンピュータサイエンスにおける革新はインターネットの普及でした.2010年代の大きな革新は,今の情報科学科の学生の興味のある分野ナンバー1である人工知能(AI)の発展でしょう.
人工知能という用語は非常に曖昧な用語で,著者は多用しませんが,現在の人工知能と呼ばれる多くの理論,システムは深層学習(Deep Learning)と呼ばれる機械学習の一種です.深層学習はニューラルネットワークと呼ばれる1950年前後に誕生した技術の応用になりますが,計算機の発展により,ニューラルネットワークを多層にする+αの改良で,様々な分類を高精度で行えることで注目を浴びました.2017年に深層学習を用いたAlphaGoが囲碁の世界チャンピオンに勝ったニュースや,IBMの質問応答・意思決定支援システムWatsonなどはご存知の方も多いと思います.深層学習は,多くのニューロンで行われた最終的な計算結果の大小で,与えられた選択肢の良さを判定して,分類問題を解きます.計算の過程は,過去の事例で正しく判定した結果が出力されるように(または間違った結果が出力されないように)学習段階で微調整されます.現在は計算結果による画像生成や文書生成などの分類問題を超えた解の出力も可能ですが,基本的には計算結果の使い方の工夫や計算の方法の改良などの応用をした例です.応用の仕方などは日々研究されておりますが,基本的に現在の深層学習で行えることは分類問題と,その応用としてアルゴリズムを組み立てられることに限定されます.
人間は日々多くの分類問題による選択を迫られます.行うか否かという単純な二択の問題はわかりやすい例ですが,車の運転などもハンドルを回す角度,アクセルの度合い(エンジンの回転数),ギアの種類,ブレーキの有無などの組み合わせから最適な組み合わせを選ぶ分類問題にすることができます.ハンドルの角度やエンジンの回転数などの連続値はニューロンが計算した結果の数値をそのまま,あるいは何らかの加工をして用いることもできますが,深層学習でできることは計算結果の数値をどのように解釈するか,どのような意味を持たせるかを人間が説明できることに限定されます.また,分類問題に対しても,内部のニューラルネットワークの構成(ニューロンの配置や初期パラメータ),学習させるためのデータの不足,などの理由により良い精度が出ないことも多くあります.原因がわかるケースはまだ良い方で,何を変更して再学習させるべきかをなかなか見いだせないことも少なくありません.高い精度を出せるニューラルネットワークを作成しても,そのニューラルネットワークがなぜ高精度の分類を行えるのかを説明することは非常に難しく,多くの研究者が解明をテーマとして研究を行っています.ニューロンでの計算は当然数式に落とし込むことが可能ですが,大量でかつ細かい因果関係を大量の数式からどこでどのような特徴を学習しているのかを説明することは非常に困難です.様々な自然現象から特徴的な因果関係のみを抜き出して説明・理解する統計学を好む人間の脳では,そもそも完全に理解することは不可能なのかもしれません.
現在の人工知能と呼ばれるシステムは,多くの場合,非常にうまく作れたシステムが高い評価を受け,あたかも人工知能が万能であるような風潮を産み出しましたが,高い精度のシステムは,何度もトライアンドエラ―を繰り返して作り出す,あるいは他の問題解決において高い精度を出したシステムをベースとして何度も改変を加えて作り出しています.つまり,現在の人工知能はWhy Howがしっかり記述できる科学ではなく,開発者の経験や勘などに頼る部分の大きい工学や芸術の側面の方が強い未成熟な分野です.
当研究室はネットワーク工学を第一の専門分野としてはいますが,ニューラルネットワークや深層学習を用いた研究も盛んに行っており,筆者も人工知能の未来の可能性を追求している研究者の一人ではありますが,現在の人工知能(深層学習)は決して万能ではないことを日々体験しております.人工知能でできること,今後できそうなことを把握しておくことは,将来を考える上で重要なことの一つとなるでしょう.
インターネット,特にWebの発展は,人間の知識(記憶)の能力の一部を肩代わりすることになり,人工知能の発展は,人間の判断を下す能力の一部を肩代わりすることになります.生物は進化の過程で不要なものは退化させ,それ以外の必要なものを進化させていきます.
記憶や判断の能力が退化し,それ以外が進化した人類+インターネット+人工知能がどのような未来を創るのか,自己フィードバックで高度化した知能が人類に代わって文明の進歩の主役になると言われるシンギュラリティは本当に訪れるのか,そしてそこに我々がどのように関与していくのかを一度じっくり考えてみるのも面白いと思います.
2019年12月 松澤 智史
「今どきの大学生」 理大科学フォーラム(2016年10月号)に寄稿
インターネットと携帯端末の普及による講義のあり方の変化
昨今の携帯端末の普及はめざましい発展を遂げている。電車内の乗客はほとんどの人がスマートフォンを持ち,手元に目線を注いでいる。10年20年前の人間からすると少々異様な光景に見えるであろう。このような携帯端末の普及は大学の講義やゼミなどにも多くの変化をもたらしている。
筆者が大学生の頃は講義に持ち込む道具は教科書,ノート,筆記用具等で,携帯電話も所有していたが,講義とは無縁のものであった。今どきの大学生は携帯端末(スマートフォン,タブレット,ノートPC)を講義やゼミに持ち込む人が多い。彼らは講義やゼミで話者が持ち出す専門用語などをインターネットのWebページから別の筆者が作成した資料などを開いて別の角度からの知識も得ている。現在のWorld Wide Web(WWW)は,非常に多くの情報があふれており,携帯端末の高性能化・軽量化により,いつでもどこでもそれらの情報に容易にアクセスできるようになった。また大量のコンテンツから目的の情報を得るための検索技術の発展により,非常に短時間で高度な知識を見つけ,学習することができる。筆者が大学生の頃は,高度な専門知識は大学の教員や,それに準ずるような専門家,または高価な専門書などからしか得られなかったため,大学の講義や学会などは最先端,または高度な専門知識を得るための非常に稀有な機会であったが,昨今の学生は,それら以外にもインターネット上に惜しげもなく公開されている論文やホワイトペーパー,記事などからある程度の知識を簡単に手に入れることができる。こうした変化は,性質上筆者の学科の学生から理系全般,やがて文系学科の学生へ広まっていくと考えられ,教員側も講義のあり方を再考する時期が来ている。
教科書に記載されている内容を黒板に板書する,またはスライドに表示し,その内容をひたすら説明するような講義は,もう価値がないかもしれない。魅力ある講義にするには,その講義に出ることによってのみ得られるような付加価値が求められる。
現在筆者の講義では,学生に「ノートは基本的に取らなくて良い。スライドで見せる文章は,今はもう得ようと思えば講義でなくとも短時間であらゆる方法で得ることができる。それよりも筆者がところどころ挟む経験談やこの知識の捉え方,考え方などを聞き逃さないようにして欲しい」と前置きしている。これは講義改革の第1歩にすぎないが,知識を授与することよりも「講義に出ることによって,学生が興味を持ち,独学でも学習しようと思うきっかけになる」,「講義に出ることにより学習効率が劇的にあがる」,などの工夫の方がより重要になってくるであろう。
2016年6月文作 松澤 智史
「次世代インターネット基盤技術(IPv6)の紹介」 理大科学フォーラム 教養講座(2014年1月号)
ポスター
2023 サイエンス夢工房
「コンピュータサイエンスで遊ぼう」
2022 サイエンス夢工房
「コンピュータサイエンスで遊ぼう」
2022~2024 オープンキャンパス
松澤研究室紹介
2021 DX研究部門キックオフミーティング
動画
2018年 当研究室学生作
「Submission of the report -松澤が待つ-」
音声・BGM無しver