中国地区

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

認知負荷を減らしたプログラミング学習支援に関する研究
Research of Programming Learning Support Reducing Cognitive Load石井 元規*1, 松本 慎平*1, 林 雄介*2, 平嶋 宗*2
Motoki ISHII , Shimpei MATSUMOTO*1, Yusuke HAYASHI*2, Tsukasa HIRASHIMA *2*1
広島工業大学 情報学部
*1
Faculty of Applied Information Science, Hiroshima Institute of Technology
Email: {b213011, 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.

はじめにある．ゆえに，プログラミングと認知負荷に関する様々な先行研究が行われてきた．

高等教育機関のプログラミング講義では，それを特に苦手と感じている学習者が多く存在しており，大学等の教育現場では彼らを十分に支援できていない．この原因として，プログラミングは様々な能力や活動を必要とするために，初学者にとっては学習の負担が大きいということが考えられている(1,2)．また，初学者はタイプミス等による文法エラーが多発すると指摘されており(3)，学習者によっては文法等の学習の負荷が大きくなるため，アルゴリズム等の学習が不十分となることが考えられる．
そこで本研究では，「認知負荷理論」(4)と先行研究(2,5)に基づき，初学者の認知負荷を減らした「カード演習方式」を定義し，その可能性を検証することを目的とする．なお，本研究の対象者は，初歩的なプログラミング教育を受けている大学生とする．

2.

2.2 先行研究

背景及び先行研究

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

プログラミングと認知負荷に関する先行研究には，
以 下 の よ う な も の が あ る ． ま ず ，「 Part-CompleteSolution Method(PCSM)」(2)では，部分コードとコードの選択肢を基に，プログラムを完成させる演習方式である．つぎに「Parson's Puzzles」(5)では，プログラムコードの書かれたパーツをパズルのように並び替える演習方式である．これは，学習者に楽しく学習させることを目指している．
PCSM や Parson’s Puzzles は，過去の実験より，学習者の認知負荷を減らしているといえる(5,6)．しかし，これらは共に，なぜ認知負荷を減らせているのかについては明示していない．一方でこれらは，直接プログラムを打ち込む必要がないため，文法やタイピング等に関する活動を軽減しているといえる．ゆえに，学習者はアルゴリズムの組み立て等に認知資源を集中できているため，認知負荷を減らせているのではないかと推測できる．

3.

本研究の方針本研究では，プログラミングを分割した後，間接的に一部の活動を減らし，各活動に認知資源を集中させる仕組みを考えている．大まかには，プログラミングを各行内における「行内の活動」と，行同士の関係が重要な「行間の活動」に分割する．具体的には，文法，タイピング，データ構造，トレース，アルゴリズム，デザインパターン，文法デバッグ，論理デバッグといった要素の活動に分割する．

中国地区

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

さらに本研究では，より学習が不十分だと考えられる行間の活動に注目し，先行研究を参考にした「カード演習方式」を定義する．カード演習方式は，行間の活動，特にアルゴリズム等に集中できる演習だと仮定している．そして本研究では，学習者の認知負荷を測定することにより，カード演習方式が実際に認知資源をアルゴリズム等の活動に集中できるか検証することを目的とする．なお，認知負荷の測定
方法は，人間が認知負荷をきちんと評定できるという報告(7)を参考にし，学習者自身に認知負荷を数段階で評価してもらうこととする．
図 1 学習支援システムの画面

4.

カード演習方式・学習支援システム
文法

本研究の「カード演習方式」は，問題文とプログラムコードの書かれたカード群を提示し，学習者は問題文の処理に合うようにカードを並び替える演習方式である．選択肢のカード群には，回答に必要ないダミーカードも含まれる．
開発したプログラミング学習支援システムは，カード演習方式を採用している．図 1 にインタフェー
ス画面を示す．カードはドラッグ&ドロップで動かせる．システムの特徴としては主に 4 つある．1 つ目は，プログラムを直接打つ必要がないという点である．2 つ目は，作るプログラムが選択肢で固定されており，良いデザインパターンを学ばせられる点である．3 つ目は，各問題の採点時に正誤判定やヒント等，即時のフィードバックを返せる点である．4つ目は，カードの移動履歴等もログとして残せる点である．これは，今後の分析に役立つと思われる．

5.

5
論理デバッグ

タイピング

32
文法デバッグ1

デザインパターン

データ構造

トレース
アルゴリズム図 2 評価結果
ログデータ分析やシステムの改良等が挙げられる．

謝辞

実験

認知資源をアルゴリズム等に集中できるか検証するため，システムを用いた実験を行った．実験は，実際に開講されたプログラミングの授業にて行い，被験者は主に学部 1 年生とした．実験内容としては，授業期間を通してシステムを用いた演習を行い，最後の授業にて認知負荷に関するアンケートを行った．
出題問題の言語は C 言語とした．アンケートでは，コーディング演習方式とカード演習方式各々の認知負荷を 6 段階で評価してもらった．
アンケートの結果をまとめたものを図 2 に示す．
全ての活動において，カード演習方式の認知負荷がコーディング演習よりも低く，有意水準 1%で有意差がみられた．また，カード演習方式ではアルゴリ
ズムの認知負荷が最も高く，文法，タイピング，デザインパターン，文法デバッグ，論理デバッグの活動と有意水準 1%で有意差がみられた．以上より，カード演習方式は，文法やタイピング，デバッグ等の認知負荷を減らし，アルゴリズム等に認知資源を集中できることが示唆された．

6.

4

おわりに

本研究では，「カード演習方式」の認知負荷に関する可能性について検証した． 今後の課題としては，

176

本研究は，独立行政法人日本学術振興会科学研究費助成事業(基盤研究(C)16K01147，26350296)の助成を受けて実施した成果の一部である．ここに記して謝意を表します．
参考文献(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) Garner S.: “A Tool to Support the Use of Part-Complete
Solutions in the Learning of Programming.” Proceedingde conference, pp.222-228（2001）(3) 岡本雅子, 喜田一: “プログラミングの”写経型学習”における初学者のつまずきの類型化とその考察.” 実践センター紀要, Vol.22, pp.49-53（2014）(4) Sweller J., Van Merrienboer J. J., Paas F. G.: “Cognitivearchitecture and instructional design.” Educationalpsychology review, Vol.10, No.3, pp.251-296（1998）(5) Parsons D., Haden P.: “Parson's programming Puzzles: afun and effective learning tool for first programmingcourses.” Proceedings of the 8th Australasian Conference
on Computing Education, Vol.52, pp.157-163（2006）(6) Garner S.: “Learning to program using part-completesolutions.” Computer Science, pp.8-14（2003）(7) Gopher D., Braune R.: “On the psychophysics ofworkload: Why bother with subjective measures?
“ Human Factors: The Journal of the Human Factors andErgonomics Society, Vol.26, No.5, pp.519-532（1984）