本研究プロジェクトでは、プログラミングの教育及び学習を効率化する支援機能を備えたユーザインタフェースを探求し、国内外で重要視されているプログラミング教育及びIT人材育成に貢献する理論を確立することを目差した。初年度は、プログラミングの学習支援環境に蓄積されたデータを活用するためのエコシステムのアーキテクチャを提案し、本構想を実現するためのシステムを構築した。さらに、集積データを活用し、エラー検知、コード修正、コード補完に関するいくつかの機械学習モデルを考案し実装した。2年目は、引き続き各種モデルを拡張・洗練し、性能向上を図った。特に、エラー検知、コード補完、エラー分類を支援する機械学習モデルを改善し評価を行った。これらのモデルは、解答コードが蓄積された教育的な内容の問題セットを用いて評価が行われた。実験結果は、プログラミングやアルゴリズムの入門レベルの問題セットに対して、高い精度でバグ検知とコード補完が行えることを示した。3年目は、本研究構想を実現するための理論となる教育データマイニング及びシステムのユーザインタフェースを探求した。具体的には、教育現場から得られた学習者のデータを解析する機械学習モデルを考案し、自律型学習を支援するユーザインタフェースの設計を行った。最終年度においては、これまで考案してきたモデルを洗練し、特にソースコードを機能レベルで分類する機械学習モデルを実装し評価した。本プロジェクトで考案・実装したモデルにより、学習者、課題、採点履歴、ソースコードを含むデータセットを用いた、コーディングタスク用のモデル開発や教育データマイニングが可能となった。これらの理論、技術要素、アーキテクチャ、経験は主要な国際学術雑誌や国際学会にて発表された。また、本ユーザインタフェースは通年アジャイル的に開発され、機能を制限した上で運用されている。
|