プログラミング学習において学習者の理解の差は大きく、個々の学習者の理解度に応じて適切に学習支援を行うには、学習者の理解の程度を表した学習者モデルが必要である。学習者の理解不足や知識の間違いは、学習者の作成したプログラムの誤りとなって表れると考えられる。 そこで初心者の作成したプログラムを調べ、プログラムに含まれる誤りを分析し、コンパイラーから出力される診断メッセージよりプログラムの誤りを推定する誤りモデルの定義を行った。誤りモデルを求めるため、まずプログラミングの基礎的な問題を用意し、初心者のプログラム理解の程度を、テストの形式で調べた。初心者の作成したプログラムに含まれる誤りを9グループ40種類に分類した。またプログラムを、実際に計算機に通しコンパイルメッセージを出力させた。さらに1種類の誤りダケからなる誤りのサンプルプログラムを作成し、各誤りに対して出力されるコンパイルメッセージを調べた。初心者のプログラムから分析した誤りに対するコンパイラからのメッセージとの関係を基にベイズの定理を用いて、コンパイルの診断メッセージより、プログラムの誤りを推定する誤りのモデルを定義した。さらに、このモデルがプログラムの誤りを適切に表しているか検証を行った。 学習者モデルは、学習内容をモデル化した教材モデルと学習者の誤りを推定する誤りモデルを掛け合わせることにより構築を行った。そのため、初心者に対するプログラミング教材の関連図をもとに教材を9つの誤りグループに対応付け、教材モデルを作成した。 今後、構築した学習者モデルをもとに、学習者の誤った知識や不十分な知識を推論し正しい知識を定着させる知的CAIの作成を行う予定である。
|