理解状況度に着目した空欄補充問題によるプログラミング学習支援システムの提案
2008MI094 加藤 拓也

2008MI145 森 拓矢
指導教員

1 はじめに講義において学習者の理解を深めるには，講義で行う学習範囲に合わせて問題を繰り返し学習する必要がある．講義による学習のみでは，理解が充分に得られなかった場合に自主学習用コースウェアを用いて講義による学習を補完する自主学習形式がある．自主学習用コー
スウェアとは，資料を閲覧し問題を解いていく学習支援システムであり，学習者全員が同時間，同一場所に集まる必要がなく自由な時間と場所，自分のペースに合わせて学習できる利点がある．
既存の自主学習用のコースウェアにおいて，講義の補完が充分にできていない問題がある．学習者の理解状況の把握が不充分であり，理解状況に適した問題を出題できず，理解していない学習範囲の問題を理解できるまで学習できていない．一般的なドリル演習型の教材 [1] では，理解しているかどうかの判別を行わず，問題を出題している．
本研究の目的は，プログラミング言語を学習する際に，学習者毎の理解状況に適した問題を繰り返し出題する自主学習支援システムを提案することである．本研究では，既存の自主学習用の学習支援システムに，問題毎の解答に至るまでの過程の把握に正誤だけではなく解答時間，誤答回数，解答の種類を取り入れる．これらを用いて，理解の状況を表す値である理解状況度を数値化し算出する．理解状況度の変化の値に応じて出題する問題を変えることにより，理解が不充分な学習者には現在の難易度より低い難易度の問題を出題し，理解が充分な学習者には現在の難易度より高い難易度の問題を出題する．これにより，理解するまで繰り返し学習をすることや，学習者に適した問題の提供が可能となる．提案した学習支援システムについて評価実験を行い，理解状況度による出題が学習に効果があることを確認した．

2008MI183 沖 良太

蜂巣 吉成
習問題を自動的に出題するシステムの構築をしている．
AEGIS では，正解に至るまでの過程が考慮されていない点が問題として挙げられる．正解に至るまでの過程には，解答時間，誤答回数なども考えられるが，それらの情報が AEGIS では考慮されていない．本研究では学習者の 1 問に対する解答時間，誤答回数，解答の種類から求まる理解状況度を取り入れ，学習者が正解に至るまでの詳細な理解の状況を表す値である理解状況度の算出を行っている．

3 学習支援システムのモデルの提案
本研究では理解状況を考慮した自習学習支援システムを提案する．3.1 節では提案システムの基となる学習モデルについて述べる．提案システムでは学習者の理解状況を測定し，学習者に合った問題を繰り返し出題する．
3.2 節ではシステムの概略を，3.3 節では問題形式を，3.4
節では理解状況度について説明する．
3.1 学習モデルの概要
文献 [3] では「できる」から「分かる」を用いた学習モデルについて述べている．学習を始めて覚えていたものが書けるようになることが「できる」，暗記した内容だ
けでは解くことが難しい問題が解けることが「分かる」である．この「できる」から「分かる」を繰り返し行い，学習者の理解を深めていく．
この学習モデルの特徴として，繰り返し学習することによる学習者の理解向上，解いた問題から更に次の問題をこなしていく繰り返し学習の効果により，理解が不充分のまま次の問題へ進む学習者を減らす特徴がある．
3.2 学習支援システムの提案

2 関連研究練習問題自動生成システム AEGIS は，学習者が解いた問題に対する理解度を算出し，それに応じて問題の難易度を変化させ学習者に練習問題を出題するものである[2]．理解度算出は，解答の正誤，学生の過去の理解度，問題の難易度を考慮した上で計算している．自分の理解度よりも低い難易度の問題を不正解した場合，過大評価されていると判別して理解度を下げる．対して，自分の理解度よりも高い難易度の問題を正解した場合，過小評価されていると判別して理解度を上げる．したがって，自己理解度に合わせた難易度の問題を出題し，学生に練図1

学習支援システムモデル図

図 1 に本研究で提案する自主学習支援システムの概略を示す．図では 1 つの学習範囲 (例えば，if 文や if-else文など) における出題方法を示している．問題は難易度により分類されており，難易度 3 の問題はその範囲において理解すべき標準的な問題である．難易度 2，1 の問
題はより簡単な基礎的な問題である．
ドリル形式では，難易度の低い基礎的な問題から順に出題していくのが一般的であるが，本研究では標準的な問題から出題していく．これは一定の理解が得られている学習者に対して基礎的な問題を出題することで学習意欲が低下することを防ぐためである．また，理解が不十分な学習者に対しても，最初に標準問題を出題することで，正解はできなくても理解すべきことが明確になる．
提案方法では，ある難易度の問題に不正解であった場合，難易度を下げて問題を出題する．正解した場合は，理解状況度を測定する．理解状況度は，解答時間や誤答回数などから計算される 0% から 100% の値である．同一の難易度の前問の理解状況度との差を調べ，差が 15ポイント以上の場合は同一の難易度から再度出題し，15ポイント未満の場合は難易度を上げて出題する．詳細は，3.4 節で述べるが，理解状況度の差が大きい場合は，3.1 節の学習モデルの「できる」の段階で，小さい場合は「わかる」の段階に相当する．「できる」の段階で繰り返し出題することで，「できる」から「わかる」への移行を支援する．15 ポイントは予備実験により算出した値である (4 節の評価実験によりその妥当性を示す) ．難易度 3 で「できる」状態になった場合は，その範囲の学習は終了となる．また各難易度で「できる」状態になる前に，出題する問題がなくなった場合も学習終了となる．
3.3 問題形式
学習支援システムの問題形式は次の 3 種類があるが，本研究では空欄補充形式を採用する．
空欄補充形式プログラム全文を記載し文中の一部を空欄とし出題する形式である．プログラムをゼロから記述するのではな
く，プログラムの大枠内にある空欄部分を補完させる．
理解状況度の算出が容易であり，空欄内に学習者が自ら記述することで，より実践的な力をつけることができる．
選択形式
プログラム全文を記載し，文中の一部を空欄として出
題し空欄部分に当てはまる解答を選択肢から選び解答する形式である．空欄補充形式と似ているが，選択式であり解答が見えているので適切な理解状況度が測れない点が本研究には適していない．
全文記述形式
問題文にプログラムの説明を記載し，その問題文からプログラム全文を入力する形式である．解答の入力量が多く，採点が難しい点が本研究には適していない．
3.4 理解状況度
理解状況度は，学習者の 1 問に対する解答時間，誤答回数，解答の種類から求まり学習者が正解に至るまでの過程を表す値である．0% から 100% の値で，解答が正解時のみ算出される．100% に近いほど，学習者が速い時間，少ない誤答回数で正解し，現在の学習範囲において本システムによるこれ以上の学習は必要ない状態を表す．不正解時は出題した問題が不適切な難易度の問題であり理解状況度の算出は行わない．
3.4.1 理解状況度算出の際の判断材料
学習者の解答の正誤と誤答回数，解答時間，解答の種類を理解状況度算出の判断材料として用いる．
解答時間
問題が表示されてから学習者が空欄補充問題のすべての空欄に正解の解答を入力するまでの時間を表す．空欄
補充なのでプログラムと問題文を見て理解した上で解答しなければならなく，解答時間が短いほど理解状況度は高く，解答時間が長いほど理解状況度は低い．各問題に対して制限時間を設けており，誤答回数にも同様に制限を設けている．どれだけ長く問題に取り組ませても制限内に正解が導き出せない場合，それ以降考えても正解にたどり着く可能性は低く，学習意欲の低下も招く．
誤答回数
学習者が正解の解答を入力するまでの誤答の回数を表す．数が減少すればするほどプログラムの内容を正確に理解する能力が高くなり誤った理解をしていないので誤答回数が少ないほど学習者の理解状況度は高く，多いほど理解状況度は低い．また，理解状況度算出の式では誤答回数に制限を設けている．
解答の種類
p (0 ＜ p ≦ 1) という指標で表し，模範解答であれば1 である．理解状況を測る上で学習者の入力した解答が模範解答であるか，近い解答であるかを把握する．
3.4.2 理解状況度算出式
理解状況度の要素として，解答時間 t，誤答回数 n，解答の種類を表す指標 p がある．これらの要素は理解状況度に対する互いに独立な要素であり，1 つの値として見る必要がある．それらの情報を反映した算出式があれば学習者の理解状況を把握できると考えたので理解状況度＝ (解答時間) × (誤答回数) × (解答の種類) × 100 として理解状況度の算出式を次に示す．

(Tmax − T0 − T )/(Tmax − T0 ) ×1
(Nmax − × n)/Nmax × p × 100[%]
2{T= t − T0= 0(if t ≥ T0 )(otherwise)

Tmax : 解答制限時間 (秒)T0 : 問題を読むための時間 (秒)t : 解答時間 (秒)Nmax : 誤答を最大許容する回数 (回)n : 誤答回数 (回)p : 正解の種類によって決まる値 (0 ＜ p ≤ 1)

理解状況度の変化
同難易度での前問との変化値を見ることで学習者の理解状況が分かる．ある問題を解いたときに，2 問間で見た場合の理解状況度の差が大きいときは，前回の問題を解いたことで大きく理解したことを示し，学習者が理解の途中である状態を表す．差が小さいときは，理解が充分な状態で安定して問題を解くことができている状態を表す．この考えは学習曲線の一般的な考えである「練習量が蓄積されるにつれて学習能力が上昇する」という考えに基づいている．
理解状況度では，各学習者に適した問題数をこなし経験が蓄積されるにつれて問題間の理解の上昇値が減少し，これ以上の理解が得られる可能性が低くなる．したがって，問題数をこなすと理解が充分な状態に近づく．
この変化を把握して，理解が充分な学習者はより高い難易度の問題による学習を行い，不充分な学習者はより低い難易度の問題による学習を行う．学習支援システムでは理解状況度の変化は学習者側に表示はせずシステム内の問題の遷移のときのみ遷移条件の材料として用いる．

3.4.3

4 評価実験
実験内容・目的本研究で提案した自主学習支援システムを評価対象にし，理解状況度と問題の遷移がない学習支援システムを比較対象に評価実験を行った．本システムを Perl プロ
グラミングを学習し始めた大学生 18 名が使用し，正解数や理解状況などについて測定した．学習範囲は，if，for(連想配列含む) の 2 つである．
1 つの学習範囲内には難易度 3，2，1 の計 3 つがあり，難易度 3 は，その学習範囲において理解してほしい標準的な問題であり，難易度 2，1 はより易しい問題である．
学習者によって理解状況は様々なので学習中に出題される問題数は異なる．また，システムによる学習の終了後にはアンケート形式による対象者からのシステムや問題に対する意見の収集をした．評価実験の目的は，test1の後におこなう test2 の際に提案システムによる学習により学習理解の向上が実現されること，各学習者に適した問題数の出題ができているか，学習者の理解状況度が学習曲線に基づいているかの確認を行うことである．
4.2 手順STEP1 で は 18 名 に テ ス ト 問 題 を 解 い て も ら う ．
STEP2 では対象をグループ A，グループ B と人数が半分になるようにシステム内でランダムに分ける．グループ A には，理解状況度を導入した学習支援システムを用いて学習を実施し，グループ B には，理解状況度を導入していないシステムによる学習を実施する．最後にSTEP3 で，再度テスト問題に解答する．
グループ A は図 1 で示したように難易度が高い方か
ら 3，2，1 と出題していく．各難易度で 4 問ずつ用意した．出題する問題数は各学習者の理解状況によって異なる．グループ B は一般的なドリル形式のように難易度が低い方から 1，2，3 と出題していき，各難易度で 1 問

図2

評価手順

4.1

図3

グループ A の正解数の変化ずつ出題する．STEP3 では STEP1 と同様にテスト問題を行うが，出題する問題は test1 の類似問題とする．
STEP3 まで終了したら評価実験終了とする．
4.3 実験結果
正解数の変化
図 3，図 4 はグループ A，B の test1 から test2 の正解数の変化の結果である．以下に，両グループの test1 から test2 への増加した正解数の平均値とデータの散布度を示すものとして標準偏差を示す．グループ A の平均値は約 2.8，標準偏差は約 1.23 である．グループ B の平均値は約 1.6，標準偏差は約 1.21 である．これより，グループ A の方がグループ B に比べると平均値で約 1.2増加量が大きいといえる．
理解状況度の変化
理解状況度は，全体的に 1 問目と 2 問目の間の変化
値は大幅に変化し，2 問目と 3 問目では減少し，理解状図4グループ B の正解数の変化を防ぐ．評価実験から繰り返し学習の効果を確かめた結果，正解数や理解状況の上昇が見られたので学習効果は充分である．したがって，理解が不充分のまま次の問題に進む学習者が減少し，繰り返し学習は妥当である．
5.2 問題の遷移に対する妥当性
既存のシステムでの詳細な理解状況の把握が不充分であり，学習者に適した問題の出題ができていない．本研
究では，学習者の理解状況度の変化を見て，変化値を用いた問題の遷移を加え，学習者の理解が安定していないときは，高い難易度の問題に進まないようにする．
評価実験から問題の遷移による学習効果の結果，理解状況度の変化は，学習曲線に沿った変化をしており学習者に適した問題の出題ができていた．難易度 3 の問題を理解できていれば難易度を下げることなく少ない問題数で学習終了する．難易度 3 の問題を理解できていない場
合は難易度 2 や 1 に進み多くの問題数をこなして学習終了する．各学習者に適した問題数で理解をしておりそれぞれ正解数は上昇したので学習効果は充分である．したがって，学習者に適した問題を出題する目的を満たし，問題の遷移は妥当である．

6 おわりに

図 5 理解状況度の変化例

況が安定し次の問題へ進み学習曲線の考えと合致している．グループ A の学習者の結果を代表例として挙げた．
図 5 での学習者 A5 は，1 問目はおよそ 10% の理解状
況を指しており，2 問目と 3 問目では 88%，98% という結果が出た．1 問目から 2 問目での変化値は，78 ポイン
トと大幅な上昇をしており，理解の途中である．2 問目
から 3 問目での変化値は，10 ポイントと変化の幅が狭くなり学習者の理解状況が安定している．他の学習者も，問題を解いていくと変化の幅が狭くなり学習者の理解状況が安定している．A9 は 2 問目までで理解状況が安定しており 3 問目の出題は無い．したがって，1 つの学習範囲で，充分な理解が得られ理解状況が安定したときは，より高い難易度の問題へ遷移を行い，理解を深めることで理解が不充分で次の範囲に進むことが減少する．

5 考察
本章では，評価実験の結果から繰り返し学習や問題遷移の妥当性についての考察について述べる.
5.1 繰り返し学習の妥当性
既存のシステムでは，繰り返し学習が不充分で次の問題へと進むことがある．本研究では，単に正解したら次の難易度に進むのではなく，2 問間の理解状況度の差が小さくなり，できる状態になるまで同難易度で繰り返し学習をすることで理解が不十分のまま進んでいくこと

本研究では，学習者の理解状況に応じた問題を出題する自主学習支援システムを提案した．学習者が問題 1 問を正解するまでの解答時間や誤答回数などを計測し理解状況度として算出する．システムは複数の問題を出題するが，それらの問題に対する理解状況度の変化を学習曲
線に当てはめ，学習者が充分に理解したかを判定する．
実際にシステムを実現し，評価実験を行った．理解状況度を考慮しないシステムと比較した結果，提案システムを利用した方が理解の向上に繋がることを確認した．
今後の課題としては，より多くの学習者に対して提案システムを利用してもらい評価を行うことが挙げられる．また，今回の評価実験では見られなかったが，理解状況度が低い値で，その変化が収束する場合の対処も今後の課題である．

参考文献[1] 荻原 秀和，富永 浩之，松原 行宏，山崎 敏範，“個に対応するドリル型 CAI システム-学習者レベルに適応する問題提示-，” 電子情報通信学会技術研究報告.
ET，vol.103，no.697，pp.197-202，Jan. 2004．
[2] 菅沼 明，峯 恒憲，正代 隆義，“学生の理解度と問題の難易度を動的に評価する練習問題自動生成システ
ム AEGIS，” 情報処理学会研究報告. DD，vol.2003，
no.11 ，pp.25-32，Apr. 2003．
[3] 梶浦 文夫，“プログラムの繰り返し学習による効果，” 電子情報通信学会技術研究報告. ET，vol.104，no.342，pp.85-88，Oct. 2004．