研究実績の概要 |
本学で実施してる授業「プログラミング入門」において、実際に使用されている課題、回答に基づいて、自動採点のための方策を検討した。本授業では言語として、Jupyter Notebookで動作するPythonを題材にしており、授業で行われた課題の自動採点プログラムの試作を行った。 ①提出された課題のソースコードに対して、採点基準を正規化しデータとして落とし込むことを行った。データとしては線形化されたテキスト形式(Yamlによって記述)とし、プログラム言語に依存しないフォーマットで試作し、検証を行っている。 ②編集履歴については、「Jupyter Notebookを使ったプログラミング演習のログ解析手 法に関する考察」(人工知能学会第二種研究会資料,2023(KSN-032),07-,2023-03-13,一般社団法人 人工知能学会)で報告した手法に基づいて引き続き分析を行っている。 ③実行結果については、課題として出力が指定された課題が多いため、揺らぎが少ないと考えていたが、理解度の違いにより様々な出力があることが分かった。実行時のエラーについての分析は、ソースコードの判別と同様に基準を設けることが必要であることが分かったため、①と同様のアプローチにより、採点する方法を検討、検証を行っている。 ①③で用いられる採点基準テキストは自動採点プログラムによって解析されるが、採点基準(例:ソースコードに~が含まれる、実行結果が~に等しい、など)に加えて論理演算(NOT, AND, OR)を加える必要があることが分かったため、採点基準テキスト自体を一部構造化言語のような形式にすることを検討している。
|