プログラミング教育における実績可視化システムの提案と評価
Citation
@article{weko_204270_1,
author = "華山,魁生 and 柗本,真佑 and 肥後,芳樹 and 楠本,真二",
title = "プログラミング教育における実績可視化システムの提案と評価",
journal = "情報処理学会論文誌",
year = "2020",
volume = "61",
number = "3",
pages = "644--656",
month = "mar"
}
どんなもの?
プログラミング教育において、評価をゲームにおける実績の形式で行うようにした。
先行研究と比べてどこがすごい?
従来のやり方、つまり井上先生のGUIテストシステムみたいなものには次の課題があった。
- ブラックボックスに実行した結果だけで採点している
- 良いところを褒めてくれず、問題だけ指摘するので、苦手意識の原因に
そこで、良いプログラムを書くと実績を解除することができる仕組みに。
技術や手法のキモはどこ?
- プログラムの品質計測で使われるメトリクスや、コーディングスタイルについてのルールを設定して、その条件を満たせば実績を解除したことになる仕組み。 Lv.1, Lv.2 と難易度もつけることができる。
- 学生は GitBucket にコードを push する。すると、システムは自動的に、従来のテストと、実績判定のための品質計測ツールを実行する。
どうやって有効だと検証した?
Java でコンパイラを作成する授業で、実際に利用した。
- このシステムの指摘を受けて、修正コミットをする学生を確認できた
- アンケートで、プログラムの品質に対する意識が高まったと肯定的な意見が65%
- そもそもの課題(コンパイラ)が難しかったので、このシステムを利用する余裕がなかった学生も
次に読むべき論文は?
「本研究は文法習得のような基礎的な内容ではなく、コンパイラ開発といった高度な理論に基づく実践・演習形式の授業を想定している」とあるので、本論文の他の参考文献を読むことで、もっと基礎的な授業での実施状況がわかるかもしれない。
- プログラミング教育にゲーム性を取り入れる: Gamification of a Software Engineering course and a detailed analysis of the factors that lead to it’s failure
- そもそもコンピュータで採点するって?: How shall we assess this?