中国地区

教育システム情報学会 2021年度学生研究発表会

空欄補填問題によるプログラミング学習におけるヒートマップによる学習活動の可視化
Visualizing Learning Activities by Heat Map
for Fill-in-the-Blank Questions in Programming Learning
和泉 優太*1, 松本 慎平 1, 垣内 洋介 1
Yuta IZUMI*1, Shimpei MATSUMOTO*1, Yosuke KAKIUCHI*1*1
広島工業大学情報学部*1
Faculty of Applied Information Science, Hiroshima Institute of Technology
Email: {bl18004, s.matsumoto.gk, y.kakiuchi.du}@cc.it-hiroshima.ac.jp
あらまし：プログラミング学習において教授者が学習者に指導をする際，学習者のプログラミング理解度に合わせた適切な指導をすることが求められる．学習者の理解度を効率的に把握する手段として，ソースコードの一部に空欄を設けた空欄補填による学習課題が有用だと考えられている．空欄に対しては多肢選択形式の問題が採用される場合が多い．多肢選択形式での空欄補填学習を行う場合，不適切な解法，すなわち，試行錯誤的に解の発見を試みる探索的なプログラミング活動の抑制が重要となる．不適切な学習活動の抑制に対しては，一般的には PC 教室の授業などで用いられるモニタリングソフトウェアの利用が効果的である．一方，空欄補填学習では画面変化や操作パターンが単調であるため，特に大人数の講義の場
合はモニタリングソフトウェアの画面監視は現実的ではない．このような状況において，大盛らによって提案されたシステムの利用が効果的だと考えられるが，多肢選択に基づく空欄補填のプログラミング学習に対しての有用性は明らかにされていない．そこで本研究では，大盛らのシステムが，多肢選択に基づく空欄補填学習のモニタリングに有用であることを明らかにする．
キーワード：空欄補填，プログラミング，モニタリング，ヒートマップ

1.

2.

はじめにプログラミング学習において教授者が学習者に指導をする際，学習者のプログラミング理解度に合わせた適切な指導をすることが求められる．特に，教授者は早期に学習者の理解度を把握し，彼らの弱点を補うことが重要となる．このような取り組みの推進に対しては，ソースコードの一部に空欄を設けた空欄補填による学習課題が有用だと考えられている(1)．学習の容易性を高めるため，多くの場合，多肢選択形式の問題が採用される場合が多い．ただし，多肢選択形式での空欄補填学習を行う場合，不適切な解法の抑制が重要となる．不適切な解法とは，試行錯誤的に解の発見を試みる探索的な活動である．
このような不適切な学習活動の発見に対しては，通常，PC 教室の授業などで用いられるモニタリングソフトウェアの利用が効果的だと考えられる．一方，空欄補填学習では画面変化や操作パターンが単調であるため，モニタリングソフトウェアの効果は限定的だと考えられる．特に，大人数の講義の場合，モニタリングソフトウェアの画面監視は現実的ではな
い．このような環境に対しては，大盛らによって提案されたシステム(2)の利用が効果的だと考えられるが，空欄補填学習においての有用性は明らかではな
い．空欄補填問題学習の場合，大盛らのシステムだ
けでは不適切な学習活動を十分に検知できない可能性が考えられる．そこで本研究では，大盛らのシステムが，多肢選択に基づく空欄補填学習のモニタリングに有用であることを明らかにする．

諸概念

2.1 空欄補填によるプログラミング学習教材
空欄補填の学習課題とは，いくつかの入出力例とソースコード中にいくつかの空欄が設けられたプログラムが学習者に与えられ，学習者は入出力例のとおりにプログラミングが動作するように空欄に入る
適切な命令を考える課題である． 構文は選択肢で与えられる場合もあれば，自由記述形式で回答する場合もある．
2.2 モニタリングシステム
大盛らは，学習活動の過程で発生する入力操作のうち，マウスのクリック・マウスの移動・キーボードの押下のデータを取得し，それらの情報を圧縮表示して可視化する手法と，それを実装したシステムを提案した．大盛らが行った実験では，オフィスアプリケーションの基本的な操作技能を学ぶ一般的な講義において，教員を模した被験者が提案システムを利用し，検出すべき学習者の発見に有用であることを明らかにした．
大盛らの活動状況可視化システムについて概要を説明する．まず，学習者の PC で入力操作が検知されると，そのデータはコレクタによってサーバに送信され，サーバ内のデータベースに登録される．登録されたデータは可視化処理後，表示インターフェースを通じて教員に提示される．本研究では，学習者の活動の指標として，「マウスクリック 1 回」「キーボード入力 1 回」「マウス移動 100 ドット」を 1単位の活動として考え，これらの情報を学習者の PC

169

中国地区

教育システム情報学会 2021年度学生研究発表会

学習者数は 17 とする．次に，教授者を模した被験者に対して，可視化した結果を提示する．被験者は，大学 3，4 年生 11 名とした．被験者に不適切な学習をしている者の検出を行わせ，その検出率を算出した．実験時間は 10 分とした．

から収集し，ヒートマップで可視化する．そして，空欄補填学習における不適切な活動とされる「過剰な操作」と「学習の停滞」の検出を試みる．
2.3 学習者用システム
本研究では，空欄補填問題の学習者用システムをして Windows 用 C 言語学習支援システム Hello C(3)を用いる(図 1 参照)．Hello C は，学習者用端末アプリケーションである Hello C クライアントと教授者用アプリケーションである Hello C サーバから構成される．

4.

図 1 Hello C の外観

3.

結果

学習状況別の判別精度を大盛らと同様の方法で算出した．その結果，F 値の平均が 0.73 であった．大盛らの研究の実験では，ヒートマップ可視化による判別精度が F 値で 0.70 であり，得られた F 値に基づき，提案システムの有用性が認められている．本研
究の実験では，大盛らの研究とほぼ同等の F 値 0.73が示されていたことから，多肢選択に基づく空欄補填学習においては，大盛らのシステムによるヒートマップが有用であることを確認できたと言える．再現率に関しては，総当たりと停滞，それぞれの学習状況において，共に 88%と高い数値が得られていた．
よって，それぞれの学習状況を行っている学習者に対して適切な学習を支援可能だと言える．以上より，学術的問い「大盛らのシステムは空欄補填問題学習に有効か」を明らかにできたと言える．

5.

おわりに

本研究では，大盛らのモニタリングシステムの空欄補填問題学習における有用性を明らかにすること目的とし，Hello C と大盛らの活動状況可視化システ
ムを用いた実験方法を提案した．提案法では，HelloC を用いた空欄補填問題学習の際の活動状況をコレクタにより収集し，そのデータをヒートマップにより可視化した．評価実験を行い，学習法が不適切な学習者の検出率を明らかにした．総当たり的な操作を行う学習者の誤検出率が 12%と他よりも高かったが，総当たり的な学習，学習が停滞している学習者の検出率は共に 8 割を超えていた．よって，大盛らのシステムは有用だと結論付けた．

実験方法

本研究の流れを図 2 に示す．まず，学習者の活動状況データを生成する．その後，教授者を模した被験者が，不適切な活動を行っていた学習者をどの程度判別できたかを調査する．

謝辞
本研究は，独立行政法人日本学術振興会科学研究費助成事業(基盤研究(C)20K0319，No.19K02987)の助成を受けて実施した成果の一部である．

図 2 本研究の取り組みの流れ

参考文献

学習者を模した被験者を用意し Hello C を用いて空欄補填問題での学習を行う．その際，活動状況可視化システムのコレクタを用い，学習者の活動データを収集する．収集した活動情報に加え，不適切な学習を行っている活動として，空欄に対し，総当たり的に選択肢をあてはめ，正解を導き出そうとしている活動と，学習から逃避している場合や，順調に学習できていないなど，学習が停滞している状況を学習の時間別にあらかじめ用意し，元の活動データの中にランダムに挿入する．これらの活動データを全て結合し，ヒートマップでの可視化を行う．今回，(1) 五島僚佑, 浅井創, 島川博光. 空欄補充問題の自動ラベリングによる 苦手学習項目の抽出. システム制御
情報学会研究発表講演会講演論 文集, Vol. 63, pp.
1503–1510, 2019.
(2) 大盛将, 垣内洋介, 松本慎平. 授業における pc 操作
情報を用いた 活動状況可視化手法. 教育システム情報学会誌, Vol. 36, No. 2, pp. 107–117, 2019.
(3) 松本慎平, 大下昌紀, 買田康介. C 言語初学者及びその教授者のため のサーバ・クライアントに基づくプ
ログラミング学習支援システム の開発. 電気学会論文誌 C (電子・情報・システム部門誌), Vol. 140, No. 9,pp. 1096–1109, 2020.

170