中国地区

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

チャンク単位でのソースコード読解技能の習得を狙いとしたプログラミング学習支援システムの視線追跡による学習過程分析
Learning Process Analysis by Eye Tracking in a Programming Learning
Support System Aimed at Acquiring Source Code Reading Skills with Chunks
頼本 康*1, 前田 暉正*2, 藤原 望*1, 松本 慎平 1
Kou YORIMOTO , Terumasa MAETA*2, Nozomi FUJIWARA*1, Shimpei MATSUMOTO*1*1
広島工業大学情報学部*1
Faculty of Applied Information Science, Hiroshima Institute of Technology
Email: {bm20141, bm20100, s.matsumoto.gk}@cc.it-hiroshima.ac.jp*2
広島工業大学大学院工学系研究科*2
Graduate School of Science and Technology, Hiroshima Institute of Technology
Email: md22006@cc.it-hiroshima.ac.jp*1

あらまし：先行研究によって，ソースコード読解におけるチャンキング技能の習得支援システムが開発された．このシステムは，従来のソースコード読解に基づいたプログラミング学習支援システムよりも規模の大きいソースコード読解を対象としており，プログラミング中級程度の学習者の読解学習支援を目的としている．先行研究では，チャンク単位でソースコードを読解させるために，チャンク部分以外を隠蔽した方式が提案されたが，その学習効果については十分に示されていなかった．また，科学的根拠に基づき，狙い通りの学習が行われていたかどうかについては十分に調査されていなかった．そこで本研究では，チャンク単位でのソースコード読解技能の習得を狙いとしたプログラミング学習支援システムの有用性について，学習効果の観点から明らかにすることを目的とする．また，アイトラッキングにより学習過程を分析することで，狙い通りの学習が行われていたことを明らかにする．
キーワード：プログラミング，C 言語，読解，アイトラッキング

1.

はじめにプログラムスライスの土台であるデータ依存グラフを的確かつ効率良く把握する力の習得を狙いとして，ソースコード読解に基づいたプログラミング学習支援システムが開発されている(1)．実際の講義での利用から統計的に有意に早く読解できるようになるなどその有用性が確認されたが，プログラム構造のみに着眼しているためソースコードの規模は限定され，それゆえ初学者の支援に留まっていた．
そこで平谷らは，従来よりも規模の大きいソースコードを対象とし，プログラミング中級程度の学習者の読解学習を支援するため，上級者がソースコード読解の際に適用していると言われているチャンキング(2)に着目した(3)．チャンクに関しては，意味のある部分ごとのセグメンテーションは可読性の向上に有用な意味付けとした Wang らの説明(4)を踏まえると，セグメンテーションにより構成される部分をチャンク単位と見立て利用することは適切だと考えた．
そして，チャンク単位でのソースコード読解技能の有用性を調査するためのシステムを開発した．なお，以降このシステムを従来システムと記す．
先行研究(3)では，チャンク単位でソースコードを読解させるために，チャンク部分以外を隠蔽した方式が提案されたが，その学習効果については十分に示されていなかった．また，科学的根拠に基づき，狙い通りの学習が行われていたかどうかについては十分に調査されていなかった．そこで本研究では，191チャンク単位でのソースコード読解技能の習得を狙いとしたプログラミング学習支援システムの有用性について，学習効果の観点から明らかにすることを目的とする．また，アイトラッキングにより学習過程を分析することで，狙い通りの学習が行われていたことを明らかにする．

2.

従来システム

技能に頼らず機械的にソースコード読解を支援する取り組みとして，学習者が読解すべき文を強調表示する(以下ハイライト表示方式とする)手法を用いた読解支援がある(5)．ハイライト表示方式は，着目する任意の行にカーソルを合わせるとその行に含まれる変数に対して静的スライシングを行い，着目されている行及びそれと関係性のある行を強調表示するものである．ハイライト表示方式は課題外在性認知負荷を低減する方法として有効と考えられるが，全て機械に頼るのではなく，ある程度自分の力で要領良く読解できる力も必要であると考えられる．
ところで，非本質的な認知負荷を軽減する手法としてチャンクが広く知られている．そして，チャンクの考えを活用した技法であるチャンキングは言語学習においてその有効性が明らかにされている (6)．
このような知見を踏まえ，チャンキングはソースコード読解でも有用だと仮定し，意味のある部分単位でのソースコード読解力の習得を狙いとした学習支援システムが開発された(3) (図 1 参照)．

中国地区

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

により学習過程を分析することで，狙い通りの学習が行われていたことを明らかにした．

図 2 ハイライト方式の読解過程

図 1 従来システムの外観

3.

実験及び結果本研究では，事前いくつかのソースコードを用意し，それを読解する際，従来システムを用いた学習(実験群)とハイライト方式 (6) を用いた学習(統制群)を被験者に依頼した．そして，双方の学習効果の比較を行った．本研究では，情報学を専攻し中級に差し掛かる段階のプログラミング学習者 20 名を被験者に採用した．1 点あたりの秒数を「効率性」と定義
し，その値が均一になるよう被験者を実験群と統制群に分け， それぞれの方式で最大 45 分の学習行った．学習後，効率性の観点で学習効果を評価した．
学習課題では，ソースコードを読解しある入力が与えられた時のある変数の値を問う形式とした．
実験結果を表 1 に示す．Welch の t 検定の結果，両群共に有意(p<.01，両側)に学習効果が示された．以上より，両群共に適切な学習方法であったことを確認できた．実験群では提示される情報量が統制群よりも少なく，情報量といった観点では両群は不平等な条件であったにも関わらず，実験群は統制群と同等の学習効果が示唆された．

図 3 従来システムの読解過程

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

表 1 事後テストの結果(効率性の平均値)
事前試験
事後試験877551
実験群884534統制群
図 2，3 は，被験者がソースコードを読解する過程を分析した結果の一例である．用いたアイトラッカ
ーは Tobii 社製 X2-30 である．図 2，3 では，視線の停留点を円，注視の順番を円内の数字，停留時間を円の大きさで表している．ハイライト方式では視線の散らばりが見られるが，従来システムではそうではない．これら結果より，実験群ではチャンク箇に視線を集中させることができていたことを確認した．

4.

おわりに

本究では，チャンク単位でのソースコード読解技能の習得を狙いとしたシステムの有用性を学習効果の観点から明らかにした．また，アイトラッキング

192(1) S. Matsumoto et al., Difficulty Estimation of Knowledge
Elements in Source Codes for Reading-Based
Programming Learning by Using Neural Test Theory, Proc.
of The First IEEE International Symposium on ArtificialIntelligence for ASEAN Development, pp.39-44 (2018).
(2) 湯舟英一, 英文速読におけるチャンクとワーキングメモリの役割 手続き記憶と第二言語習得理論, 人間科学総合研究所紀要, 9, pp.1-20(2011).
(3) 平谷明生, 三宝帝人, 大下昌紀, 松本慎平, 意味のある部分単位でのソースコード読解技能の習得を狙いとしたプログラミング学習支援システムの開発に関する研究, 教育システム情報学会 2019 年度学生研究発表会講演論文集, pp.193-194 (2020)(4) X. Wang, L. Pollock, K. Vijay-Shanke, AutomaticSegmentation of Method Code into Meaningful Blocks toImprove Readability,2011 18th Working Conference on
Reverse Engineering, pp1095-1350 (2011).
(5) 西松顯 , 西江圭介, 楠本真二, 井上克郎, フォールト
位置特定におけるプログラムスライスの実験的評価,電子情報通信学会論文誌 D, Vol.82, No.11, pp.13361344 (1999).
(6) E．Yubune，A．Akinobu，R. Tabuch, Effects of Different
Computer Display Methods of Reading Units on Learners’
Reading Efficiency．Language Education and Technology．
pp．215-229（2017).