中国地区

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

カード操作方式によるプログラミング学習システムの学習過程を分析するための基礎的手法の提案
A Proposal of Basic Analysis Method to Clarify Learning Process
in Card Operation-Based Programming Learning System
村上 瑠香*1, 森永 笑子*2, 松本 慎平*1, 林 雄介*3, 平嶋 宗*3
Ruka MURAKAMI*1, Shoko MORINAGA*2, Shimpei MATSUMOTO*1,Yusuke HAYASHI*3, Tsukasa HIRASHIMA*3*1
広島工業大学情報学部*1
Faculty of Applied Information Science, Hiroshima Institute of Technology
Email: {b215116, s.matsumoto.gk}@cc.it-hiroshima.ac.jp*2
広島工業大学大学院工学系研究科*2
Graduate School of Science and Technology, Hiroshima Institute of Technology
Email: md18006@cc.it-hiroshima.ac.jp*3
広島大学大学院工学研究科*3
Graduate School of Engineering, Hiroshima University
Email: {hayashi, tsukasa}@lel.hiroshima-u.ac.jp
あらまし：ソースコードの「構造を理解する」ことに焦点を当てたプログラミング学習において，非本質的な認知負荷の影響をできる限り減らしながら学習者を「構造化タスク」に集中させるため，カード操作方式によるプログラミング学習支援システムが開発されている．これを大学講義で用いた結果，初学者にとって有効な学習方法であることが示唆された．一方，この学習支援システムのログは十分に分析されていない．学習履歴データの集計と統計による提示により，数多くの教育改善が試みられている．よって，学習ログの分析はカード操作方式を用いた学習支援に有効であると考えられるため，その方法を提案すると共に，分析の一例を示すことを目的とする．
キーワード：認知負荷理論，プログラミング，学習支援システム，カード演習方式，ログ分析

1.

はじめに書かれたカードを提示し，学習者は問題文の処理にあるようにカードを並び替える演習方式である．選択肢のカードは，回答に用いるカードと回答に必要ないダミーカードで構成されている．カード操作方式では，プログラミングを分割した後，間接的に一部の活動を減らし，各活動に認知資源を集中させる仕組みである．また，このカード操作方式は，従来のコーディング演習を完全に置き換えるのではなく，一般的な教授法とカード操作方式とを併用した形で教育を実践することを前提としている．
図 1 にカード操作方式に基づいた学習支援システ
ムの外観を示す．本システムは，Ruby on Rails で動作する Web アプリケーションである．カードは，マウスのドラッグ&ドロップ操作で動かすことができ，右側から左側にカードを移動させてプログラムを組み立てる．組み立てられたコードは，JSON 形式に変換された後，C 言語コンパイル用の Web インタフ
ェースシステムを通して gcc で実行され，実行結果を受け取り画面に表示する．実行結果に加えて，カードの並びに基づいて正誤を自動で判定し，学習者にフィードバックできる．

プログラミングは本来高い内在負荷を持つため，できる限り学習者の外在負荷を減らす必要があるとされている (1)．そこで，部分間の関係を考えることに焦点を当てたプログラミング学習において，非本質的な認知負荷の影響をできる限り減らすため，カード操作方式の学習支援システム(以降，従来システム)が開発されている(2)．大学講義で従来システムを導入した結果，非本質的な認知負荷 (3)を減らしながら，教授者が意図した学習活動に集中できていたこと，とりわけ初学者にとって有効な学習方法であることが示唆された．また，従来システムは，従来のコーディング主体の学習と同等の学習効果を有しながら，従来よりも学習時間を短縮できる効率的な学習方法であることが明らかにされた (4)．一方で，従来システムの学習ログについては十分に分析されていない．これまで，学習履歴データの集計と統計による提示により，数多くの教育改善が試みられている(5)．よって，学習ログの解析は，カード操作方式を用いた学習支援に有効であると考えられるため，これを本研究の目的とする．本研究では，カード操作のログを分析するための距離の概念を提案する．

2.

3.

カード操作方式

本研究の方針本研究では，学習ログ解析の一例として，正解に至る過程の可視化に取り組んだ．可視化を行うにあたって，レーベンシュタイン距離 (6)に着目し，それカード操作方式は，問題文とプログラムコードの181

中国地区

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

問題文及びその説明前の問題/次の問題
前後の問に移動可能

回答提出

回答辞退

回答欄

問いで与えられるカード群

ドラッグ＆ドロップでの移動

図 2 学習ログを分析するための距離概念

図 1 学習支援システムの画面を応用した新たな距離概念を提案する．レーベンシ
ュタイン距離とは，ゴールまであと何手で行けるかを数字で表したものである．例えば「kitten」を「sitting」に変更させるとする．その場合「kitten」，「sitten」，「sittin」，「sitting」と変更していくことができ，レーベンシュタイン距離は 3 となる．レーベンシュタイ
ン距離では文字の挿入，削除，置換を 1 手として考え，編集にかかる距離を測定している．このような考え方を従来システムに応用することを提案する．
大下ら(7)は，先行研究(2)で得られたログデータについて，交換，複数枚グループでのカード移動を 1 手として考え，編集にかかる距離を定義している．例
えば図 2 の左下の場合，レーベンシュタイン距離では距離 3 であるが，大下らの手法では距離 1 となる．
この時点でレーベンシュタイン距離とは異なったものであるが，本研究では先行研究の計算法に加え，従来システムで行うことのできる挿入・削除を加える．例えば図 2 の右下の場合は距離 2 となる．このような状況を取り入れ，編集にかかる距離を再定義した．先行研究で用いたログデータのうち，ある 1
問について 12 人分のデータを取得し，距離遷移を可視化した．可視化結果を図 3 に示す．横軸は距離の変化を表しており，回答が送信されたタイミングを橙色でプロットしている．この図から，学習者の解決過程を確認できるようになった．

4.

おわりに

本稿では，カード操作方式による学習支援システ
ムの学習過程を分析するため，レーベンシュタイン距離の概念を応用した距離を定義し，それを用いてカード操作ログの変化を可視化した．

謝辞
本研究は，独立行政法人日本学術振興会科学研究費助成事業(基盤研究(C)16K01147，17K01164)の助成を受けて実施した成果の一部である．ここに記して謝意を表します．

182

図 3 分析結果(12 名)
参考文献(1) S.Garner, A Tool to Support the Use of Part-Complete
Solutions in the Learning of Programming, Proceeding
deconference, pp.222-228(2001).
(2) 松本慎平, 林雄介, 平嶋宗, 部分間の関係を考えることに焦点を当てたカード操作によるプログラミング学習システムの開発, 電気学会論文誌 C(電子・情報・システム部門誌), Vol.138, No.8, pp.999-1010 (2018).
(3) J. Sweller, J. Merrienboer, F. Paas, Cognitive architecture
and instructional design, Educational psychology review,Vol.10, No.3, pp.251-296 (1998).
(4) 村上瑠香, 森永笑子, 松本慎平, 林雄介, 平崎宗, カード操作方式によるプログラミング学習システムの学習効果, 2016 年度 JSiSE 学生研究発表会講演論文集,pp.203-204 (2018).
(5) 植野真臣, e ラーニングにおけるデータマイニング,
日本教育工学会論文誌, vol.31, no.3, pp.271-283 (2007).
(6) V. Levenshtein, Binary codes capable of correcting
deletions, insertions, and reversals, Doklady Akademii
Nauk SSSR, 163(4), pp.845-848, (1965).
(7) 大下昌紀, 石井元規, 松本慎平, 林雄介, 平崎宗, カード演習方式によるプログラミング学習支援における学習活動の分析, 2016 年度 JSiSE 学生研究発表会講演論文集, pp.203-204 (2017)