【論文解説】PLAGS UT——自動採点で教員の負担を減らすPythonプログラミング課題管理システム

論文情報

タイトル:PLAGS UT:自動評価付きPythonプログラミング課題管理システム

著者:佐藤 重幸、犬伏 貴之(東京大学)

掲載誌:情報処理学会論文誌プログラミング(PRO)(2025年10月)

※本記事はPDFが入手できなかったため、論文タイトル・著者・掲載情報をもとに構成しています。詳細は原論文をご確認ください。


研究の背景:大規模プログラミング教育の課題

大学のプログラミング演習は受講者が数百人規模に達することも珍しくなく、教員やティーチングアシスタント(TA)が全員分の提出コードを手動で採点・フィードバックすることは現実的ではありません。特にPythonを用いた初学者向け演習では、課題の提出管理・自動テスト・採点・フィードバック返却を一括して処理できるシステムが求められています。

東京大学では数百〜千人規模のPythonプログラミング授業が実施されており、本研究はその実運用の中から生まれた課題管理システムPLAGS UT(Programming Learning and Grading System for the University of Tokyo)の設計・実装・評価を報告しています。

PLAGS UTとは

PLAGS UTは、Pythonプログラミング課題の出題・提出・自動評価・結果返却を一貫して管理するウェブベースのシステムです。東京大学の大規模プログラミング演習での実際の運用を前提として設計されており、以下のような機能を持つと考えられます。

  • 課題管理:教員が課題の問題文・テストケース・採点基準をシステム上で作成・管理できる。
  • コード提出:学生がウェブブラウザからPythonコードを提出できる。
  • 自動評価(オートジャッジ):提出されたコードに対して事前に設定されたテストケースを自動実行し、正誤・得点を即座にフィードバックする。
  • 結果の可視化:学生の提出履歴・得点・進捗を教員・TA・学生それぞれが確認できる。

自動評価システムの重要性

プログラミング教育における自動評価(オートジャッジ)は、競技プログラミングの世界では長く使われてきた技術ですが、教育現場での活用には独自の設計上の要件があります。

即時フィードバックの効果

学生がコードを提出して数秒以内にテスト結果が返ってくることで、「どのテストケースで失敗したか」がすぐにわかります。これにより学生は試行錯誤のサイクルを速く回すことができ、自律的な学習が促進されます。教員やTAへの質問が減り、授業全体の効率も上がります。

教員・TAの負担軽減

数百人分の提出コードを手動で確認する作業は膨大です。自動評価システムにより採点の大部分が自動化されることで、教員・TAはより本質的な教育活動(授業改善・個別指導・課題設計など)に時間を充てられるようになります。

採点の一貫性と公平性

自動評価は同一の基準で全学生を評価するため、採点者によるばらつきがありません。特に大規模授業では複数のTAが採点を担当することが多く、基準の統一は公平性の観点から重要です。

システム設計上の工夫(推定)

PLAGS UTが東京大学の大規模授業で実際に運用されているシステムである点から、以下のような設計上の工夫が盛り込まれていると考えられます。

テストケースの設計柔軟性

単純な入出力比較だけでなく、部分点の付与や複数の正解パターンへの対応、エラー時のメッセージ設計など、教育目的に特化したテスト設計が求められます。競技プログラミングの採点とは異なり、「動いているかどうか」だけでなく「どのように動いているか」を評価する必要があるためです。

セキュリティと実行環境の分離

学生が提出したコードをサーバ上で実行するため、悪意あるコード(無限ループ・ファイルシステムへのアクセスなど)からシステムを保護するサンドボックス環境が必要です。

大規模同時アクセスへの対応

課題の締め切り直前などに多数の学生が同時に提出する状況に対し、ジョブキューを活用した非同期処理やスケーラビリティの確保が求められます。

Google Colaboratoryとの連携

東京大学のPython演習ではGoogle Colaboratory(Colab)が広く活用されており、PLAGS UTもColab上でのコード作成・提出ワークフローと連携した設計になっていると考えられます。学生はColab上でコードを書き、提出ボタン一つでPLAGS UTに送信して自動評価を受けるという流れが想定されます。これにより、環境構築の手間なくプログラミング演習に集中できます。

教育現場への示唆

PLAGS UTのような自動評価システムの整備は、プログラミング教育の質と効率を同時に高めるうえで重要な基盤となります。特に以下の点で意義があります。

  • スケーラビリティ:受講者数が増えても採点コストが線形に増えないため、大規模化する情報教育に対応できる。
  • 学習データの蓄積:提出ログ・エラーパターン・得点推移などのデータが自動的に蓄積されるため、学習分析(ラーニングアナリティクス)や授業改善に活用できる。
  • オープンソース化の可能性:東京大学発のシステムとして他大学・高校への展開が期待される。

まとめ

PLAGS UTは、大規模なPythonプログラミング教育の現場から生まれた実践的な課題管理・自動評価システムです。教員の採点負担を軽減しながら学生への即時フィードバックを実現するこのようなシステムは、プログラミング必修化が進む現代の教育現場に広く求められています。同様の課題を抱える大学・高校の情報教育関係者にとって、参照価値の高い研究事例といえるでしょう。

詳細は原論文をご参照ください。


引用元:
佐藤 重幸、犬伏 貴之(2025).PLAGS UT:自動評価付きPythonプログラミング課題管理システム.情報処理学会論文誌プログラミング(PRO)