研究概要 |
高度情報社会においてプログラミング教育の重要性とそのニーズは高く,知的プログラミング教育環境は益々重要となってきた.これを知的CAIの概念に基づく知的プログラミング環境として実現するには,生徒のプログラム中の論理エラーを適切に指摘し,それに基づいて訂正の助言を行い正しい知識を提示する機能が必須である.我々は既に10数年前よりこれを目的としてプログラム理解の研究に取り組み,独自にPASCALを対象とするプログラム理解システムALPUSの開発に成功した.本研究では,ALPUSを基盤として言語独立で汎用なプログラム理解システムの研究開発を行うことであり,特にCおよびPASCAL両言語を対象として実験システムを開発し,実際のデータによって評価を行うところまでを行った.更に,このシステムをINTERNETを通して広くサービスするシステムの開発に着手した. 汎用化の方法は,言語独立な抽象言語ALを設計し,CあるいはPASCAL言語で書かれた学生のバグを含むソースプログラムを,先ずALの記述に変換し,次にこの記述を標準的なプログラミング表現に'正規化'し,最後に,同じくAL形式で記述されたプログラミング知識との照合を行うことによって,学生の不完全なプログラムを意味的に理解し,バグとその原因を推論するというものである. 本研究によって,プログラム理解システムALPUSの基本部分をほぼ完成させることができた.また,実際のデータを用いて評価実験を行い,ほぼ予期した能力を持つことを確かめられた.ただし,対象プログラムがクイックソ-ト法を中心とした2,3のアルゴリズムに限定されていることや,スタンドアローン型システムでは実用化が困難なため,INTERNET化に着手し,その基本設計を行った.今後は,この成果を基盤として,WWWによるバーチャルプログラミング教育環境へと展開する予定である.
|