中国地区

教育システム情報学会

2017年度学生研究発表会

カード操作方式によるプログラミング学習システムの学習効果
Learning Effect of Card Operation-Based Programming Learning System
村上 瑠香*1, 森永 笑子*1, 松本 慎平*1, 林 雄介*2, 平嶋 宗*2
Ruka MURAKAMI , Shoko MORINAGA, Shimpei MATSUMOTO*1, Yusuke HAYASHI*2, Tsukasa HIRASHIMA *2*1
広島工業大学 情報学部
*1
Faculty of Applied Information Science, Hiroshima Institute of Technology
Email: {b215116, b214208, s.matsumoto.gk}@cc.it-hiroshima.ac.jp*2
広島大学 大学院工学研究科*2
Graduate School of Engineering, Hiroshima University
Email: {hayashi, tsukasa}@lel.hiroshima-u.ac.jp*1

あらまし：非本質的な認知負荷の影響をできる限り減らすため，学習課題のフレームと学習活動のパターンを制限し，意図した学習に認知資源を集中させることを目指したカード操作方式の学習支援システムが開発されている．本研究では，従来のコーディング主体の学習と比較して，カード操作方式に基づいたプログラミングが従来と同等の学習効果を有しながら，従来よりも学習時間を短縮できる効率的な学習方法であることを明らかにする．本研究が行った実験から，カード操作方式が従来の学習方式よりも効率的な学習方法であることを明らかにした．
キーワード：認知負荷理論，プログラミング，学習支援システム，カード演習方式，アルゴリズム

1.

はじめに現在，IT 人材の需要が高まっている一方で，プログラミングを苦手としている学習者を教育現場では十分に支援できていない．この原因のひとつとして，プログラミングは様々な能力や活動を必要とするため，コンピュータに不慣れな初学者にとっては学習の負担が特に大きく，認知資源を本質的学習にうまく配分できていないためであると考えられる (1)．非本質的な認知負荷の影響をできる限り減らすため，学習課題のフレームと学習活動のパターンを制限し，意図した学習に認知資源を集中させることを目指したカード操作方式の学習支援システムが開発されている(2)．これは，プログラムの部分と部分の関係を考えることに集中させることで，プログラムの構造を意識する習慣，全体の構造を把握する力の習得を狙いとしたものである．大学講義で本システムを導入した結果，非本質的な認知負荷を減らしながら，教授者が意図した学習活動に集中できていたことが示唆された．ただし，従来のコーディング演習と同等かそれ以上の学習効果が期待できない可能性が指摘されている．そこで本研究では，従来のコーディング主体の学習と比較して，カード操作方式に基づいたプログラミングが従来と同等の学習効果を有しながら，従来よりも学習時間を短縮できる効率的な学習方法であることを明らかにする．本研究が行った実験から，カード操作方式が従来の学習方式よりも効率的な学習方法であることを明らかにした．

2.

認知負荷理論

認知負荷理論(Cognitive Load Theory, CLT) (3)は，新たな知識や技能をより効果的に学習できるように，その学習がもたらす認知負荷のあり方を考える理論のことである．認知負荷は，学習課題自体が持つ203intrinsic 負荷，教材や教示方法の不適切さによって生じる extraneous 負荷，解決過程自体に対する負荷でむしろ学習に対して有益な貢献をする germane 負荷の 3 つから構成されている．プログラミングは本来高い intrinsic 負荷を持っており，extraneous 負荷は教示者が意図して減らせるとされているため，できる限り学習者の extraneous 負荷を減らす必要があるとされている(4)．ゆえに，プログラミング学習と認知負荷に関する様々な先行研究が行われてきた．

3.

カード操作方式

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

中国地区

教育システム情報学会

学習の中で取り上げた問題は，統制群，実験群ともに同じ内容であり，合計 9 問とした．最後に，カード操作方式についてのアンケートと，一般的なコーディング演習とカード操作方式各々の認知負荷量について，6 段階リッカート尺度で主観評価を得た．
実験群・統制群の結果(平均値) を比較したものを
表 1 に示す．実験群と統制群の間に有意な差は確認されなかった．よって，この結果から，カード操作方式を利用した実験群ではほぼ同様の学習効果があったと言える．表 2 は，学習時間の心理的余裕(平均値) を比較した結果である．これは，学習時間の中で全ての問題に十分に取り組めたかどうかの 6 段
階での主観評価結果であり，数値が低いほど余裕があったことを示している．この結果では，カード操作方式は従来方式よりも t 検定(両側) で有意(p<0.001) に差があった．以上から，カード操作方式は，従来方式と同等の学習効果を得ながら，かつ，学習時間を短縮可能な効率の良い学習方式であると言える．実験後，6 段階リッカート尺度(1:低，6:高) で認知負荷を測定した．認知負荷に関するアンケート調
査では，“全体的な負担の大きさ” に関しては，一般的なコーディング演習は平均 4.8，カード操作は平均 1.9 という反応を得ており，t 検定(両側) で有意(p< 0.001) に低かった．このことからも，カード操作方式は確かに意図した学習に認知負荷を集中できていたことを確認した．

問題文及びその説明

前の問題/次の問題
前後の問に移動可能

回答提出

回答辞退

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

回答欄

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

図 1 学習支援システムの画面
表 1 評価結果
統制群
実験群

回答時間
点数
回答時間
点数

表2
負担***

事前テスト
0.73
2.20
0.74
2.23

事後テスト
0.37
4.07
0.47
4.13

時間的余裕の比較
従来法
4.6

提案法
2.5

6.
4.

本研究の方針本研究の目的は，カード操作方式が学習の質を保証できているかどうかを明らかにすることである．
そのため，カード操作方式を用いて学習する実験群，一般的なコーディング演習で学習する統制群の 2 群に被験者を 10 名ずつ分けて比較実験を行う．学習する前の理解度を事前試験で把握し，学力水準が同等になるよう学習者を 2 群に分ける．その後，双方の方式で学習を行った後，その効果を事後試験で明らかにする．以上に基づいて，従来の学習と比較した場合のカード操作方式の学習の質を考察する．事前・事後試験で学習者の理解度を測定するために，本研究では，一般的なプログラミング学力判定で採用されている命令の部分補完形式の試験を用いた．

5.

2017年度学生研究発表会

実験及び結果

被験者は本学の C 言語を一度でも習ったことがある大学生 1-4 年生とした．学習の狙いは，数学での多項の演算をプログラムの繰り返し命令で実現するための知識の獲得・確認とした．最大 45 分の事前試
験で簡単な C 言語の問題を 3 問解いた後，統制群と実験群に 10 名ずつに分け，それぞれの学習方式で最大 1 時間の学習を行った．最後に，学習内容を身に付ける事ができていたかを確認するためのコーディング演習を最大 45 分の事後試験として行った．なお，

204

おわりに

本研究では，カード操作方式に基づいたプログラミングが，従来のコーディングを主体とした学習と比較して同等の学習効果を有しながら，従来よりも学習時間を短縮可能な学習方法であることを明らかにした．

謝辞
本研究は，独立行政法人日本学術振興会科学研究費助成事業(基盤研究(C)16K01147，17K01164)の助成を受けて実施した成果の一部である．ここに記して謝意を表します．
参考文献(1) Lisack S. K.: “Helping Students Succeed in a First
Programming Course: A Way to Correct Background
Deficiencies.” International Association for Computer
Information Systems Conference, Mexico（1998）(2) 石井元規 他, カード方式を用いたプログラミング学
習支援システムの認知負荷の観点による評価, 人工知能学会 第 79 回先進的学習科学と工学研究会論文
集，SIG-ALST/SIG-ALST,B5(03),pp.11-16 (2017).
(3) Sweller J., Van Merrienboer J. J., Paas F. G., ``Cognitive
architecture and instructional design.'' Educational
psychology review, Vol.10, No.3, pp.251-296, 1998.
(4) Garner S., ``A Tool to Support the Use of Part-Complete
Solutions in the Learning of Programmig.'' Proceeding deconference , pp.222-228, 2001.