本研究では、プログラム教育を視野に、プログラムの相互理解や説明の上で必要となる概念を言語表現の観点から整理する、プログラム説明概念辞書構築の研究を行った。また、その整理・構築に基づいて、プログラム説明を通してプログラムを学習する教材開発、及び、学習・教育方法の研究を行った。 具体的には、プログラム説明概念辞書の整備・構築には、プログラムソースコードに対するリポジトリマイニングと、プログラム説明文章に対するテキストマイニングの2方向からのマイニング手法を研究開発する形で行なった。それぞれのマイニング手法には、機械学習の技術を積極的に導入し、プログラム説明に関わる知識整理を有効に支援するマイニング技術を開発することができた。これらの技術開発では、当初の研究計画策定時の状況よりも、当該補助期間において人工知能に関わる研究が急激に発展したため、それらの潮流と整合性を持つように、計算機による二次利用が可能な知識表現を採用した。このことにより、当初計画よりも、自然言語によるプログラム理解の説明をより客観的に分析することが可能となり、教材開発、教育方法の研究に対しても、より積極的に計算機を導入することが可能となった。 また、以上のプログラム説明概念辞書の整備・構築を通し、プログラムの初級学習者に対しては、プログラムの部分要素を自然言語で説明することの評価及び、学習者へ理解受容性のフィードバックを客観的に行うことを基本とする教材・教育法の開発を行った。 さらに、学習者がプログラムの基本知識を具体的な情報システム・処理の部分要素に対応付ける課題を、中級学習者の課題と位置づけ、学習者及び既存教材の言語データをプログラム説明概念の観点から分析した。このことにより、学習者の習熟度合いに応じた段階的な教材の導入・構成法とその指導に資する知見を得ることができた。
|