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

中国地区

視線追跡に基づいたプログラミング思考過程の推定‐プログラミング言語習得のための分析‐

Prediction of Programming Thinking Process with Eye-Tracking-Analysis for Programming Learning 沖本 恒輝*1， 加島 智子*2， 松本 慎平*1， 山岸 秀一*1
Koki OKIMOTO ， Tomoko KASHIMA*1， Shimpei MATSUMOTO*2， Shuichi YAMAGISHI*3*1 近畿大学 工学部*1Faculty of Engineering, Kinki University
Email: kashima@hiro.kindai.ac.jp*2 広島工業大学 情報学部
*2 Faculty of Applied Information Science, Hiroshima Institute of Technology*1

あらまし：プログラミング技能には様々な技術要素が混在するが，その評価は総合点のみで行われるのが現状である．そのため，学習者はそれぞれの技術要素に対する達成水準が不明確になり，成熟的学習活動が困難な層が生じてしまう．そこで本研究では，プログラミングにおいて学習活動が困難な層に着目し，思考過程の推定を行う．ここでは，蓄積経験が強く反映される眼球運動を分析し，成熟的学習活動を可能とするスキル標準の構築を目的とする．まず，プログラミングの技術要素を明確化し，各要素の習熟度を評価するための学習教材と判定試験を開発する．これらを用いて学習者の理解度を項目反応理論により定量化し，さらに視線追跡により答えを得るまでの思考過程を明確化する．こうして得られたデータを基に，技術要素や学習者の習熟度ごとの教示法を提案する．
キーワード：プログラミング学習，生体情報，視線計測，スキルマップ

1.

はじめに示す通り 1 点の目標水準しか用意されていない点にある (1)(2)．その理由としては，学習者が結果を得るまでの過程を明らかにできていないこと，学習者視点での困難水準設定ができていないこと，それに基づいた考え方や教材法が用意されていないことにあると考えられる．

情報工学に関連する大学等専門領域において，プログラミング技能は特に重要な科目として位置づけられている．しかしながら，プログラミング学習者の集団においては，その到達度を分析すると，数学的論理思考力を持つもの，苦手とするものの二つの層が各学年必ず存在する．この傾向は，年齢や性別，教育水準の差に関わらず，等しく発生することが従来から経験的に知られている．日本のソフトウェア開発力の向上は，国際競争の中で不可欠であり，そのためには，プログラミングを不得手とする層の底上げが必要である．現在の世界的な社会構造の変化を踏まえると，ソフトウェア開発に対する社会の要望は，今後一層増大することが予測される．
このような背景のもと，プログラミングを対象とした研究は次の 3 種類に大別される．

3.

本研究では，課題を以下のように大きく次の 3 つの項目にわけて提案を行う．この手法により研究における目標は従来と異なり多くの目標を設定可能となる．各学習者の技能に応じた教示法により，各学習者に応じた目標を設定できるようになると考える（図 2 参照）．
① 学習者の評価指標の作成
プログラミング技術を細分化し，その多次元にわたる技術評価の習得状況を確認するためのス
キル標準を開発する．スキル項目とそれらの困難度は，項目反応理論や既存の先行研究・書籍を参照しながら構築し，スキル判定試験を作成する．
② 視線計測実験とその解析
スキルチェックでは測れない経験の度合いに応じた思考の過程については，視線を計測し学習者の思考パターン分類を行う．これらを入力項目として包括分析法(DEA)モデルを用いて目標(優位集合)を設定し，目標に応じた教示法を提案する．
③ 学習者に応じた学習効率性の評価

・ 学習者の分析と特徴の発見
・ プログラミング学習の教示方法の提案
・ プログラミング学習支援ソフトウェアの開発
しかしながら，ほとんどは初心者を対象としたもので，さらに示唆・提言に留まっている．初学者からスタートして学習者が個々の学びの段階に応じて成熟的に学習を進めるための学習支援法や，学習者の学びの段階に応じた教示法の提案にまでには至っていない．

2.

提案手法

既存教育手法
従来の一次元的学習者評価手法の問題は，図 1 に45

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

中国地区明らかとなった．今後，多くの実験を行い詳細なス
キル調査とスキルに応じた最適なキャリアの提案を行い，応用可能であるか評価を行いたい．

効率的に学習が行われているかの評価を行う．
また，学習者の習熟度と適正に応じたキャリアパスを提示する．キャリアとの対応付けを行うことで学習者は能力に応じた将来の目標を見出すことが可能となり，学習意欲向上につながると考える．また，目標に達成するために現時点で不足している技術要
素の確認が可能になり学習の方向性や現在位置を随時可能となり学習者に自ら目標が設定可能となり，有益な情報になると考える．

図3
表1

学習者の視線データ

スキルチェック表の一例

プログラミング技術項目

図１ 既存教育手法の例

4.

A1 A2 An B1 B2 Bn Ｎ 1 Ｎ 2 Ｎｎ

Ｃ言語とはC言語
文字列の出力基本構文
データ 変数とデータ型型 構文
文法
変数データの計算と表示
標準入 整数値の入力
出力 整数型以外の数値の入出力
1文字，文字列の入出力
キャスト演算子
演算子
算術演算子
ソート
サーチアル アルゴ リスト
ゴリ リズム スタック＆キュー
ズム 基本 再起呼び出し
ツリー構造
マップとハッシュその他

図 2 提案教育手法の例（包括分析法）

実験結果

提案手法によりまず，学習者の評価指標の案を作成した．表１に示すようにプログラミングの技術項目を細分化した．大きく文法の理解，アルゴリズムの理解と分けた．詳細な分類に関しては，独立行政法人情報処理推進機構の示す C 言語に必要な知識を参考に作成を行った (3)．これらの分類により学習者も分類されることが可能となる．
次に，視線計測実験と解析を行った．学習者にはプログラムを読ませ，どのような結果が表示されるか答えてもらう問題を複数作成した．今回は非接触型の視線計測器を用いてプログラムの思考過程を計測した．図３に示す視線データはどちらとも不正解の解答をした学習者である．しかし，視線データから学習者によって理解度が異なることが示されている．具体的にはユーザ１はプログラムの重要となるキーのラインを把握していることがわかる．ループの for 文のデータの流れも把握しているが，解答に至らなかったことが示されている．ユーザ２に関してはプログラムの重要なポイントが理解出来ておらず，何度も丁寧に１文，１文理解をしようと繰り返し読み直している様子が伺える．このように学習者に応じて視線情報から学習者の理解度や性格が読み取れることが明らかとなった．

5.

グループA グループB グループＮ

図４

理解度に応じたキャリア提示例

謝辞
本研究は，独立行政法人日本学術振興会平成 25
年度科学研究費助成事業(若手(B) 13304922)の助成を受けて実施した成果の一部である．
参考文献(1) 竹田尚彦，川口清志，浅見美紀，佐合尚子:"プログラ
ミングの個別指導のための演習問題サーバ",情報処理学会研究報告. コンピュータと教育研究会報告,no.117，pp.21-28 (2000)(2) 加藤利康，石川孝："プログラミング演習支援システ
ムにおける学習状況把握機能の提案", 一般社団法人
情報処理学会, no.2，pp.1-8 (2013)(3) 独立行政法人 情報処理推進機構：“C に関するスキル”，http://www.ipa.go.jp/files/000018406.pdf (2014)

おわりに本研究において，プログラミング学習に役立つ学習指標の作成を目標に，視線経路に基づいたプログラミングの思考過程の推定を行った．その結果，これまで評価されていなかった学習者に応じた技術要素に対する達成水準を得ることが可能となることが46