考え直す機会があることで、自分の実力としてプログラムを書く力を改善していける。
自動採点システムって、大学共通テストのマークシートとどう違うのですか?
大学共通テスト(旧センター試験)では、例えば英語の文章に穴が開いていて、そこに対して選択肢の単語から正解を選んでマークシートの番号をチェックします。プログラムも結局は文章なので、正しいプログラムの一部を穴埋めにして、選択肢から正しい単語、文法を選ぶというのが問題のあり方になります。
それだけだと、大学共通テストと変わらないわけですが、プログラミングでは学生が自分の力を伸ばす上で一つ重要なことがあります。それは、コードを書いて実際に自分でテスト(動作確認)をすることです。その結果、単語のつづりが間違っていたらプログラムが動かないし、文法的には合っていたとしても意図通りの動作をしないことが分かります。自分で書いたコードをテストできるということが特徴であり、教育上極めて重要になります。
最初のうちは、穴埋めの選択肢を教員側が提示することもありますが、慣れてくると学生自身が授業の資料を見ながら選択肢を自分で思いつくというところまでやってほしいと考えています。そして、単語の穴埋めだけだったものが、その穴の範囲が広がって、やがては一段落全体が無くても自分で文法を考えてコードという形に落とし込んでいけるようにしたいわけです。
1単語の穴埋めから自由記述としての段落の穴埋めに問題が拡張されても、それを簡単にチェックできるのがプログラミング問題の自動採点システムということになります。

プログラムの世界では、ちゃんと動作するかどうかチェックできるしくみは以前からありますよね。
おっしゃる通り、自動採点システムと言っている中で動いているものは、いわゆるテスト用のコマンドになります。それを使いやすい形にして、このテストに受かったら何点とか、このテストに失敗したら何もわかっていないことになるので零点とか、どのテストに受かったかで配点を決められるようにしているのが自動採点システムの核になります。
教員の負荷軽減にも役立ちますし、実は設定次第では、学生も自分自身で解答を確認することができるわけです。このシステムがなければ、教員はプログラムの目視と実行で採点しなければならず、すごく手間がかかります。その部分を機械的・自動的にやってくれるわけです。
教育効果としては、どういうところに期待できるわけですか。
「DS・AI全学教育機構」という組織名にも強く関係しますが、我々の教育は全学を対象としています。イコール情報系以外の学生まで広く対象としているので、プログラミングが苦手だという人は事実存在します。
でも、そういう人もデータサイエンスやAIを学びたいと思っているし、あるいはもう時代の流れで学ばなければいけないところに来ています。そういった人がどういうふうに効率的にプログラミングを学修すればいいかということを考えなければいけないわけです。プログラミングが苦手な人だと、友達と相談をしても授業の時間内に終わらないことが多々あります。得手不得手があるので仕方がないことですが、重要なのはそのときのフォローです。
自宅などで自習するときでも、ヒントや手助けが得られることが極めて大切になります。学生が自分自身で書いた解答コードについて、合っているかどうかをボタンあるいはコマンドで確認し、間違っていたらそれに気づくことができる。普通だったら先生に提出して1~2週間あるいは半年後に返ってくるまで、結果がわからないわけですよね。そうではなくてその場で間違っているということに気付けたら、先生に提出するまでに修正する機会がある。教育において、考え直すということはとても重要なことです。考え直すことによって自分の実力としてプログラムを書く力を改善していけるというのは、教育効果が高いことだと思います。
システムを作るのは簡単でも、メンテナンスにはとてつもない努力が必要。
Pythonでのプログラミングの自動採点システムは、カリフォルニア大学バークレー校が先駆者だということですね。
実は、自動採点システムの仕組みというものは、古くからあるテスト専用のコマンドを改造したもので、自分たちで作ることも可能です。学内で実際に作っている先生もいます。ただこういうシステムは、作りっぱなしでは駄目です。プログラミングの授業においては、たとえば文法自体が時代とともに変わるので、メンテナンスが非常に重要になってきます。作ること自体はできても、メンテナンスにとてつもない労力が必要となります。カリフォルニア大学バークレー校はシステムを公開するだけでなく、メンテナンス込みでサポートしているというところが、非常にありがたい部分だと考えています。
彼らはオープンソースソフトウェアとしてインターネット上にプログラムを公開して、誰でも使えるかたちで提供しています。また、データサイエンス教育についても力を入れてきました。そのような点で、自動採点システムを含めた大学間交流を行っています。
自動採点システムはいつ頃、どのようにして導入されたか、その経緯を教えてください。
旧東京工業大学では、2023年前半にいろいろと導入の方策を考えました。実際の運用としては10月から、主に私の授業を中心に、他の先生にもお手伝いをいただいて、対象の授業を拡大していきました。2024年度からは、より広い範囲で使うことを考えています。
幸いなことに今、社会的にDS・AIが非常に注目をされています。2022年にはChatGPTや絵を描くための生成系AIがリリースされて、2023年にはTVのワイドショーでもAIが頻繁に取り上げられるようになりました。それにつれて、我々のDS・AI関連の授業も履修者が増加しています。自動採点システムは、履修者増加への対応として導入したわけです。
そのさいに、私はある研究所でサーバーの管理をしていた経験から、新しいシステムを導入するときにコンピューター資源がどれぐらい必要か、あるいは、持続的かどうかといった見積もりができるということで、カリフォルニア大学の方と交流を持って導入を進めたという背景があります。その結果、教員の採点用にGPU付きのある程度の性能のマシンがあれば、それ以外は学生利用も含めて費用がかからないというところに落とし込めています。


教える人を育てて、他大学や高専のリソースに組み込むことも。
オープンソースでインフラ投資もいらないのなら、他大学への展開も進みそうですね。
費用はある意味とても重要で、民間のクラウドサービスを利用して学生が自宅で利用できることも検証しましたので、みんなにとって嬉しい状況に持っていくことができました。 DS・AIに対して社会的に注目が高いのは我々の大学に限った話ではなく、DS・AI関連の授業の受講者はどの大学でも増加しています。我々は教材のウェブサイトでの公開をはじめ、日本の大学全体の教育に貢献していけると考えています。
そのために二つのメニューを考えています。一つは先ほど申し上げた自動採点システムの導入や使い方を含めた教材提供と、Zoomでの面談などによる利用支援です。もう一つは、ティーチングアシスタント(TA)関連です。我々はDS・AI教育に関して、TAの育成に関する特別なプログラムを始めました。彼らが大学を卒業後、そのまま大学教育の分野に就職するかあるいは企業に就職をするかを問わず、人に教える力は重要になってくるわけです。1人の人がDS・AIを理解したら次の人に教えて、その人がまた別の人に教えることでねずみ算式にDS・AIの知識、使い方、経験を広げることが理想であり、そのために教える人を育てることを計画しています。さらに、育ってきた人材を他大学や高等専門学校の教育リソースに組み込むことも検討していて、実際に交渉を始めているところもあります。
旧東京医科歯科大学へは、当面どのように導入していくお考えですか。
他大学とあまり変わりませんが、教育の質確保ということはとても重要ですね。受講生が増えると教員も結構大変なので、自動採点システムで教員負荷の軽減と教育の質確保の両立を行うなど、まず授業運用の面から実務的な交流を進められたらと考えています。徐々に使っていただいて、いろいろなご指摘点をいただけたら嬉しいです。
これからの日本の発展を本気で考えると、やっぱり教育しかない。
最後になりますが、なぜDS・AI教育に携わろうと思われたのですか。
これは、私の世代が強く感じることなのか、個人で感じているだけなのかはわかりませんが、小さい頃からいわゆる失われた10年と言われ、大きくなってくると20年と言われて、ついには30年と言われるようになりました。失われた何年という言葉と共に育ってきたわけです。もう自分を否定されているようなものなんですよ。はっきり言って悔しいです。今自分が実際に大人として成熟してきて、いろいろと行動ができるようになったときに、どうやったら失われた40年と言わせないかということを本気で考えると、やっぱり教育しかないと思います。教育に力を入れることこそが、これからの日本の発展に寄与するということです。
幸いにも、母校でもあるトップレベルの大学でDS・AI教育に関わる機会があるということだったので、これはまさに今後の日本に大きく貢献できるのではないか、と考えて応募しました。建前のように聞こえるかもしれませんが、本音ベースの話です。

オフレコトーク
実は、学生時代から教育を意識していたわけではないんですよね。ただ、小さい頃から社会問題には強く関心を持っていまして、自然と新聞に出ているような見出しに対して、自分だったらどうすればいいのかということを考えてしまうような性格でした。
私は情報ではなく物理学の出身ですが、所属していた研究室も雰囲気として同じようなタイプの人間が集まっていました。当然研究もするんですけれども、研究以外の社会問題についてもいろいろな議論をするわけですね。そして、行き着くのはいつも、やっぱり教育って重要だねという結論でした。そういう意味では、教育の重要性に気づいていたというところがあるのかな。