中国地区

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

データ依存関係を追うプログラミング学習の視線運動を用いた分析
Analysis of programming learning to track data dependencies
using eye movement
井手口 翔英*1, 松本 慎平*1, 林 雄介*2, 平嶋 宗*2
Shouei IDEGUCHI*1, Shimpei MATSUMOTO*1,Yusuke HAYASHI*3, Tsukasa HIRASHIMA*3*1
広島工業大学情報学部*1
Faculty of Applied Information Science, Hiroshima Institute of Technology
Email: {bl18008, s.matsumoto.gk}@cc.it-hiroshima.ac.jp*2
広島大学大学院工学研究科*2
Graduate School of Advanced Science and Engineering, Hiroshima University
Email: {hayashi, tsukasa}@lel.hiroshima-u.ac.jp
あらまし：プログラミングの導入教育においては，プログラムを読むことの支援がまず重要な役割を果たすことが示唆されている．このような考えのもとで学習者の支援を実現するためには，“プログラムを読む”ことに関する分析が必要となる．そのための一つの方法として，読解過程を視線運動から分析できることが先行研究で明らかにされた．先行研究の成果は限定的ではあるものの，プログラムのデータ依存関係の影響を視線から読み取り分析することが可能であるとされた．また，正しくトレースする力を読解力とした場合，読解力と，視線にデータ依存関係が現れた総量との関係が示された．視線にデータ依存関係が現れる総量は，データ依存関係を追う学習で決定付けられると考えられるため，データ依存関係を追う力とソースコード読解力の間に正の関係を仮定できる．一方で，データ依存関係を追う学習が読解力の向上に有効かどうかは定かではない．そこで本研究では，データ依存関係を追う学習の読解力向上に対する効果を明らかにすると共に，その効果を視線分析で明らかにする．以上により，データ依存関係を追う力と読解力の間に因果関係が存在している可能性を示す．
キーワード：プログラミング，読解，視線，データ依存関係

1.

はじめにプログラミングの導入教育においては，プログラムを読むことの支援がまず重要な役割を果たすことが示唆されている．このような考えのもとで学習者を支援するためには，“プログラムを読む” ことに関する分析が必要となる．そのための一つの方法として，読解過程を視線運動から分析できることが先行研究で明らかにされた(1)．先行研究では，まず，ソースコードを理解できる学習者を対象に，その視線がデータ依存関係の影響を受けていることを示す結果を得た．このことから，先行研究の成果は限定的ではあるものの，プログラムのデータ依存関係の影響を視線から読み取り分析することが可能であるとされた．また，正しくトレースする力を読解力とした場合，読解力と視線にデータ依存関係が現れた総量との関係が示唆された．先行研究の知見に基づき，著者らはこれまで，ソースコードを理解できない学習者を対象として，先行研究と同様の条件で分析を行った．その結果，データ依存関係を見ていなかったか，もしくは間違ったデータ依存関係を見ていたために，誤答した学習者の存在を確認した．このことから，データ依存関係を追う力を養成すれば読解力が高まると想定されるため，データ依存関係を追う力とソースコード読解力には因果関係を仮定できる．この仮定が適切ならば，データ依存関係を追う力の学習成果が，読解の精度や速度のみならず，177視線でも明らかにできると考えられる．そこで本研
究では，データ依存関係を追う学習を行い，読解の精度や速度の向上に有効であることを示す．また，学習効果を視線の振る舞いから明らかにする．

2.

提案

本研究の目的は，“データ依存関係を追う力とソースコード読解力の間の因果関係”の存在を明らかにすることである．データ依存関係をうまく追うことを目標とした学習を行い，学習前後で読解速度や精度の向上と共に視線運動に変化が見られれば，因果関係の可能性を明らかにできたと言える．特に，データ依存関係に影響のないダミー行への視線遷移率については，学習後は有意に減少すると想定できる．
すなわち，ダミー行への遷移率が減少した学習者は，読解精度が向上したため，読解速度や精度が高まったと考えることができる．
実験の手順を図 1 に示す．被験者は情報学を専攻する大学生 18 人とし，花房らと同様の実験方法(1)により，被験者の視線運動を計測する．実験課題は
全 4 問とし，6 行のコードとする．用いられる演算子は四則演算と余剰のみであり，暗算で計算可能な演算にとどめる．変数の型は全て整数型であると被験者には事前に伝える．実験課題には回答するのに必要のないダミー行が含まれており，ダミー行に視線の遷移が集中する場合はデータ依存関係を把握で

中国地区

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

図 1 実験の手順についての説明きていないと見なす．実験で得られた視線情報は，停留するパターンの y 座標に着目し，停留運動間の推移を注目行の推移として捉えて分析を行う.ソー
スコードの問題作成にあたっては恣意性を排除するために，依存関係とは関係のない整数リテラルや演算子，変数名をランダムに決定する．視線運動は，
Tobii Technology 社製 X2-30 で計測する．計測後，色覚に基づきデータ依存関係間の視線を誘導する教材を用いて，データ依存関係の追い方を学習する．学
習後，視線の測定を行う．ダミー行への遷移が有意に下がった学習者とそうでない学習者とで読解精度の差を示し，因果関係の存在を検証する．

係に関する行が 3 行存在していたため，視線推移の回数が多くなり実験結果に現れたと考えられる．以上により，データ依存関係を追う学習は読解力の向上に正の影響を与えることを明らかにできた．

3.

本研究では，データ依存関係を追う力の養成がソースコード読解力の向上に繋がることを明らかにした．本研究の知見は，今後学習者を支援する上で，ソースコードの読解力の定量化，その値に基づく支援のための基本となり得るものである．今後は，制御構文を含めたプログラムソースコードについても実験を行う．

問題
1 問目
2 問目
3 問目
4 問目

4.

実験結果

18 名の被験者の推移確率から，問題別にデータ依存関係に沿った遷移の割合を比較した．表 1 に得られた結果をまとめる．なお，片側検定で有意水準
p<.05 で差が見られた項目には*を，p<.01 には**を記している．ここで，遷移確率とは，ある行からダミー行への遷移確率を表す．回答時間は，被験者が答えるまでの時間を表す．凝視時間率は，ダミー行を凝視した合計時間/解答するまでの時間 の率を表す．表内の数値は，学習前後の差であり，負の値が大きいほど学習効果があったと理解できる．1 問目，3 問目，4 問目では，学習前よりもダミー行への遷移の割合が有意に低い結果であった．解答時間はいずれの問題も有意に低い結果が示された．凝視時間率についても，遷移確率と同様の傾向が示された．ここで，2 問目の遷移確率の有意差が見られなかった．
この理由については，データ依存関係に関する行が他の問題よりも 1 行少なく，行数が少ないことで計算過程が易化された点にあったと考えられる．実際，視線推移の回数が他 3 問と比べ少ないことを確認した．有意差が見られた 3 問について，データ依存関178

表1遷移確率-0.09**-0.01-0.11**-0.06*

実験結果
回答時間-00:17**-00:06**-00:09**-00:12**

凝視時間率-0.14**-0.05-0.11*-0.07*

おわりに謝辞本研究は，独立行政法人日本学術振興会科学研究費助成事業(基盤研究(C)20K0319，No.19K02987)の助成を受けて実施した成果の一部である．ここに記して謝意を表します．
参考文献
(1)

花房亮, 松本慎平, 林雄介, 平嶋宗. 視線運動を用いたプログラム読解パターンのデータ依存関係に基づく分析――代入演算と算術演算で構成されるプログラムを対象として――. 教育システム情報学会誌,
Vol. 35, No. 2, pp. 192–203, 2018.