抄録
プログラミング演習と呼ばれる形式の授業は,多数の学生が教員から与えられた多様な難易度の演習問題に取り組む形式で実施される.特に複雑な仕様をもつ問題ではコンパイル・実行を繰り返しながら実装を完成させていく探索的プログラミングと呼ばれる手法を身につけて取り組んでいくことが望まれている.本研究では,初学者をはじめとするプログラミング学習者に探索的プログラミングを定着させることを目的として,複雑な仕様をもつプログラミング演習問題を生成AIを用いて自動的に分割し,段階的な実装を通して探索的プログラミング行動の学習を支援する手法を提案する.具体的には,生成AIによる問題自動分割システムと,分割後の問題をWeb上で提示する分割問題実施システムを構築し,学習者が段階的にコードを拡張しながらコンパイルや実行を繰り返す能力を養う環境を提供する.ケーススタディでは,約100行規模のプログラミング演習問題を提案システムを利用して分割した場合としなかった場合で被験者のプログラミング行動がどのように変化したかを検証した.結果として,被験者自身によるコードの分割数は概ね増加傾向にあった.また,コード編集時のコンパイル成功率が向上し,一度に編集する行数が減少傾向にあることなどが確認された.