研究概要 |
現在,大学におけるプログラミング教育では可動性が優先され可読性は軽視されている。だが可読性が軽視されたプログラミングは動作への理解を阻害し,学習効果を低下させる可能性がある。そこで本研究では,「読みやすいソースコードを書かなければいけない」と学生に意識させるためのシステムを設計・開発した。具体的には,学生がプログラム課題を提出するシステムに,可読性が低いコードに対して修正指示を出す機能を追加実装した。本システムの可読性に関する検出項目は,1.インデントが崩れている,2.コピー&ペーストによる同じ処理が複数ある,3.変数や関数名が不適切である,4.スペースが不足している,5.1つの関数が長すぎる,の5項目である。このうち1,2は昨年度までに実装済みであり,本年度は残り3~5の実装を行った。開発したシステムは実際の授業において運用を行っており,今後も継続する予定である。また,システムによって適切な指摘が行われているかを検証するための評価実験を行った。さらに,本システムによる教育効果を明らかにするため,大学のプログラミング教育における可読性の影響の調査・分析を行った。我々は,プログラムの可読性に関する様々な要素が学習そのものと密接な関係があるという仮説を立てた。検証のために大学のプログラミング実習の2年分・6900個以上のプログラムから,学生の習熟度と可読性に関する25を超える要素を抽出した。得られたデータを解析し,プログラミング教育における可読性の影響を検討した。例えば変数名やコメントと得点との関係から,それらの要素が学習に及ぼす影響を分析した。
|