中国地区

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

空欄補充問題によるプログラミング学習における学習活動可視化に関する研究
A Study on Visualization of Learning Activities in Programming Learning by
Fill-in-the-blank Questions洲濵 拓弥*1, 岡田 悠馬*1, 重松 大志*2, 松本 慎平*1,Takumi SUHAMA*1, Yuma OKADA*1, Hiroshi SHIGEMATSU*2, Shimpei MATSUMOTO*1*1
広島工業大学情報学部*1
Faculty of Applied Information Science, Hiroshima Institute of Technology
Email: {bm20062, bm21024, s.matsumoto.gk}@cc.it-hiroshima.ac.jp*2
広島工業大学大学院工学系研究科*2
Graduate School of Science and Technology, Hiroshima Institute of Technology
Email: md22004@cc.it-hiroshima.ac.jp
あらまし：多肢選択形式で空欄補充によるプログラミング学習を行う際，不適切な学習活動を抑制することが重要となる．不適切な解法とは，総当り探索的な戦略を指す．このような不適切な学習活動を把握するために，いくつかの先行研究が行われ，限定的ながらその有用性が示唆されている．一方で，総当り的な操作を行う学習者に対する誤検出率の高さが課題として指摘されている．この課題の改善に向けては，総当り的な操作の検出に効果的だとされているレーベンシュタイン距離に基づく可視化が有効であると考えられるが，多肢選択形式に基づく空欄補充によるプログラミング学習における不適切な学習活動の検出に対して，その有用性は明らかではない．そこで本研究では，このことの調査を目的とする．本研究の結果，レーベンシュタイン距離を用いた可視化による学習プロセスのリアルタイム監視は，不適切な活動を行っている学習者の検出には不十分であることが示唆された．
キーワード：空欄補充，モニタリング，レーベンシュタイン距離

1.

はじめに教育においては，教授者が学習者の個々の理解度を的確に把握することは欠かせない．しかしながら，プログラミング教育の場合，理解度を細かく捉えることは容易な課題ではない．特に初心者に対しては，教授者が早期に学習者の理解度を把握し，彼らの弱点を補うことは重要である．このような取り組みを推進するためには，ソースコードの一部に空欄を設け，それを学習者が補う形式の空欄補充によるプログラミングの学習課題(以降，空欄補充学習)が有効であると考えられている(1)．初学者に対して空欄補充学習を実践する場合，学習を容易にするため，多肢選択形式の問題が頻繁に用いられる．多肢選択とは，いくつかの選択肢の中から最も適切な命令を選ぶ形式の問題である．
多肢選択形式で空欄補充学習を行う際，不適切な学習活動を抑制することが重要となる．不適切な解法とは，総当り的に解を見付けようとする戦略を指す．このような不適切な学習活動を把握するために，大盛らが提案したヒートマップによる学習活動の可視化システム(2)が効果的であると考えられる．そこで和泉らは，大盛らの活動状況の可視化手法が空欄補充学習のモニタリングに利用可能であることを明らかにした(3)．一方で，総当り的な操作を行う学習者に対する誤検出率の高さが，和泉らの研究によって指摘された．この課題の改善に向けては，総当り143的な操作の検出に効果的だとされているレーベンシ
ュタイン距離に基づく可視化 (4)が有効であると考えられる．そこで本研究では，レーベンシュタイン距離による活動状況の可視化が，空欄補充学習のモニタリングに有用であるかどうか調査することを目的とする．本研究の取り組みにより，プログラミング教育において，教授者が学習者の理解度を早期に把握し，適切な指導を行うための適切な可視化手法を明確にできる．この点に本研究の意義がある．

2. 諸概念2.1 空欄補充の学習課題
空欄補充の学習課題とは，いくつかの入出力例とソースコード中にいくつかの空欄が設けられたプログラムが学習者に与えられ，学習者は入出力例のとおりにプログラミングが動作するように空欄に入る適切な命令を考える課題である．設定される空欄はデータや制御の流れを遮断するため，空欄に補充することはプログラムが正しく動作するように遮断された部分を補完することである．

2.2 モニタリング
大盛らは，学習活動の過程で発生する入力操作のうち，マウスのクリック・マウスの移動・キーボードの押下のデータを取得し，それらの情報を圧縮表示して可視化する手法と，それを実装したシステムを提案した(2)．大盛らが行った実験では，オフィス

中国地区

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

アプリケーションの基本的な操作技能を学ぶ一般的な講義において，教員を模した被験者が提案システ
ムを利用し，検出すべき学習者の発見に有用であることを明らかにした．

3.

システム概要3.1 学習者用システム
本研究では，空欄補充問題の学習者用システムをして，Hello C(5)と呼ばれる学習支援システムを用いる．Hello C は，学習者用端末アプリケーションである Hello C クライアントと，教授者用 Web アプリケーションである Hello C サーバによって構成される．
Hello C クライアントは，C 言語初学者が学習目的に応じてプログラミング可能な Windows 用アプリケーションである．
3.2 活動状況可視化システム
本研究では，2 種類の可視化システムを使い、その有用性を比較した．1 つ目は空欄補充学習を行っている学習者のカード操作量をヒートマップで可視化した物である．学習者の活動の指標として，ヒートマップの円が濃くなればなるほど学習者の操作回数が多くなっている. 時間経過ともに学習者の活動状況を読み取ることが出来るようになっている．2
つ目はレーベンシュタイン距離を Hello C から取得し，折れ線グラフで可視化したシステムである． 活動状況可視化システムは，React 18.2.0，Javascript を用いて開発した．レーベンシュタイン距離とは，ゴールまであと何手で行けるのかを数字で表したものである．本研究では，学習者の活動の指標として，カードの操作情報からレーベンシュタイン距離を算出し，折れ線グラフで可視化する．本研究でのレーベンシュタイン距離の考え方としては，正解のカードを適切な順番で配置できており，かつ各カードが有する空欄に対して，正解となる候補を選択できていた場合を距離 0 とする．

4.

実験方法

本研究の流れを以下に示す．まず，学習者 Hello Cを用いて空欄補充問題での学習活動を行ってもらい，その活動状況を提案システム用いて学習者の活動状
況データを生成する．この学習活動の際，学習者の何人かに総当たり的な回答)を行ってもらう．学習者の全データを結合し，レーベンシュタイン距離を用いて可視化を行う(実験群)．その後，教授者を模した被験者が，不適切な活動を行っていた学習者をどの程度判別できたかを調査する．同様のデータの可視化をヒートマップで行い(統制群)，2 群の差を示す事で，提案法の有用性を示す．

5.

結果及び考察表 1 は，教員を模した被験者に対してヒートマップによる可視化状況を提示した際の精度を表している．表 1 より適切な学習者と総当たり法のいずれも144

F 値の値がヒートマップの方が上回っている．
本研究の実験の結果，ヒートマップの可視化をレーベンシュタイン距離の可視化が上回っていなかった．そのため，リアルタイムモニタリングにおいては，レーベンシュタイン距離は有用ではないことを明らかにできた．先行研究(4)において，レーベンシ
ュタイン距離による学習活動の可視化の有用性は，オフライン(事後)のデータ分析において示されていた．今回，リアルタイムの可視化の場合において，レーベンシュタイン距離は適切ではない可能性を示唆した点で，本研究は意義があると言える．
表 1 実験結果(F 値の比較)
従来法
提案法
0.80
0.78
適切
0.60
0.47
総当りおわりに6.

本研究では，空欄補充による作問学習の学習ログからレーベンシュタイン距離を算出し，折れ線グラフとして可視化するシステムを実装し，リアルタイ
ムモニタリングにおけるレーベンシュタイン距離の可視化の有用性を検証した．その際，ヒートマップを用いた可視化システムと比較し，その有用性を評価した．結果，レーベンシュタイン距離を用いたシステムでは，従来のシステムに比べ，総当たり的に学習を行っている学習者を検出できないことが示唆された．

謝辞
本研究は，独立行政法人日本学術振興会科学研究費助成事業(基盤研究(C)23K02697，22K02815)の助成を受けて実施した成果の一部である．
参考文献(1) 五島僚佑, 浅井創, 島川博光. 空欄補充問題の自動ラベリングによる苦手学習項目の抽出. システム制御
情報学会研究発表講演会講演論文集 , Vol. 63, pp.
1503–1510, 2019.
(2) 大盛将, 垣内洋介, 松本慎平. 授業における pc 操作
情報を用いた活動状況可視化手法. 教育システム情報学会誌, Vol.36, No. 2, pp.107–117, 2019.
(3) 和泉優太, 松本慎平, 垣内洋介. 空欄補填問題によるプログラミング学習におけるヒートマップによる学習活動の可視化. 教育システム情報学会 2021 年度学生研究発表会講演論文集, pp.169–170, 2022.
(4) 奥平泰基, 重松大志, 松本慎平. カード操作方式によるプログラミング学習支援システムにおけるトグルを含む学習課題の学習プロセス可視化手法の提案.
第 90 回情報システム研究会資料, pp.23–28, 2022.
(5) 松本慎平, 大下昌紀, 買田康介. C 言語初学者及びその教授者のためのサーバ・クライアントに基づくプログラミング学習支援システムの開発. 電気学会論文
誌 C (電子・情報・システム部門誌), Vol. 140, No. 9, pp.
1096–1109, 2020.