2014 Fiscal Year Research-status Report
複数のプログラム言語の単体テストに対応するプログラミング自動採点システムの開発
Project/Area Number |
25330426
|
Research Institution | Kinki University |
Principal Investigator |
森山 真光 近畿大学, 理工学部, 准教授 (00283953)
|
Project Period (FY) |
2013-04-01 – 2016-03-31
|
Keywords | プログラム学習アセスメント / 単体テストフレームワーク |
Outline of Annual Research Achievements |
1年目に開発した単体テストフレームワークを用いたプログラム学習アセスメント支援Webアプリケーションを改善した。改善点は、1) 提出プログラムの正否を単体テストの終了ステータスで確認する点と、2) 提出プログラムの採点のマイクロサービス化、の2つである。 従来の提出プログラムの正否は、単体テストから出力される文字列を正規表現を用いてチェックしていた。1つ目の改善は、提出プログラムの正否を、単体テストの終了ステータスを用いてチェックするように変更した点である。プログラミング言語毎に単体テストフレームワークは異なる。そのため、プログラミング言語毎に正否をチェックする正規表現を準備する必要があった。代りに、複数のテストを通過した場合は終了ステータスが0で、通過しない場合は0以外の値であることを利用した。この改善により、管理者のみが行えた採点対象プログラミング言語の拡張を、問題を出題する教員も行えるようになった。 2つ目の改善は、プログラムの提出および成績集計をするサービスと、提出プログラムを採点するサービスを分離し、採点するサービスをマイクロサービス化した点である。これらのサービスを分離するために、従来のWebアプリケーションのHTTPリクエストメッセージ送信による提出方法を、ディレクトリ監視された提出先ディレクトリへの書き込みによる方法に変更した。ディレクトリ監視された提出ディレクトリに提出プログラムであるファイルが生成もしくは更新されたイベントにより、採点を行う。この改善により、提出方法をHTTP以外にも、ファイルコピーやFTP等の複数のプロトコルで行えるようになった。 採点を、テストクラス毎ではなく、テストメソッド毎にチェックを行い、項目特性曲線を用いて学生の理解度の検証を行った。その結果、オブジェクト指向を理解せず、プログラムを実行している学生を確認できた。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
プログラム学習アセスメントと、他のアセスメントであるタイピングと単語並べ替え問題とプログラム穴埋め問題とプログラム知識選択問題の間の連携を検討した。その結果、プログラム学習アセスメントと他のアセスメントには、大きな相関がなかったため。
|
Strategy for Future Research Activity |
学生の学習機会の増加および学生間の交流の活生化を目的として、本プログラム学習アセスメントにSNS (Social Network Service) の導入を検討した。事前に、学生にアンケートを実施したところ、プライベートなソーシャルメディアのアカウントを学習に使いたくないという学生が多く見られた。そこで、ソーシャルメディアの導入の代替として、電子掲示板による情報共有と、電子メールやRSS (Rich Site Summary) によるプッシュ通知による学習機会の増加と学生間の交流を行う。
|
Causes of Carryover |
ラックマウントサーバが計画していた型番の販売が終息し、新たな型番を購入したため。
|
Expenditure Plan for Carryover Budget |
ラックマウントサーバの増設に充てる。
|