北海道地区

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

思考言語を取り入れたプログラミング学習支援環境における学習効果の検証
Verification of Learning Effectiveness in a Programming Learning Support
Environment Incorporating Thinking Language
中里 美夢*1，倉山 めぐみ*1
Miyuu NAKASATO*1，Megumi KURAYAMA*1*1 函館工業高等専門学校*1National Institute of Technology, Hakodate College
Email: 22708@hakodate.kosen-ac.jp
あらまし：我々は，プログラミング，特に C 言語を学ぶ段階で苦手意識を持っている学習者を対象とした学習支援環境の開発を行っている．本研究では，既存システムに履歴の表示やダミーカード生成等の修正および利用実験を実施し，システムの学習効果を検証した．結論として，本環境はアルゴリズム構築後の日本語から C 言語への変換を支援するシステムとして有用であり，他のプログラミング言語にも本環境の学習方式を対応させることができると推測した．
キーワード：プログラミング，C 言語，ビジュアルプログラミング，学習支援システム1.

はじめに

学校教育の分野では，情報化の推進に伴い，プログラミング教育が必修化された．特に技術者育成の過程においては，プログラミング言語を使いシステムの設計や開発を行う技術の習得が求められるため，授業内容に文法学習と演習を取り入れたプログラミング学習が実施されている．しかしながら，学習者が「問題の意味と構築すべき処理の流れは理解できるが，プログラミング言語に置き換えることができない」ことが原因で苦手意識を持ってしまうなどの課題が残されている(1)．これを解決するため，先行研
究では，人が物事を考える上で使用している言語（以下，本稿では思考言語と呼ぶ）からプログラミング言語への変換を促す学習支援システムが開発されている(2)．しかし，既存システムを用いた利用実験により得られる学習履歴の情報が少ないことにより，結果の分析を十分に行えておらず，システムにどのような学習効果があるのかは不明であった．
本研究では，既存システムに学習履歴およびダミーカードを表示するための修正を加え，学習者の習得レベル向上を目指すとともに，その利用実験を行い，学習効果を検証することを目的としている．

2.

面②に遷移するが，画面に表示される問題は，問題解答画面①で解答した処理の流れをそのまま C 言語に置き換えたものである．さらに，画面上には前問で解答した日本語によるプログラム記述が示されており，C 言語の問題を日本語の問題と同じように解答することができる．このように，日本語と C 言語で記述されたプログラムの処理が同一のものである
ことを視覚的に認識させることで， C 言語記述のプログラムへの変換に対する抵抗を軽減させ，プログラミング技術の習得を促す．

図 1 問題解答画面①

プログラミング学習支援システム

2.1 学習方式のねらい既存システムは，思考言語を日本語，学習するプログラミング言語を C 言語としている．問題解答画
面を図 1，2 に示す．問題解答画面①は日本語によるプログラム記述，問題解答画面②は C 言語によるプログラム記述であり，利用者は画面に表示されるプログラムの処理が書かれたカードを記述内の空欄に当てはめ解答する．問題解答画面①では，問題文に対して日本語によってプログラムされた部分の空欄に，正しい処理の流れになるように単文カードを当てはめると正解となる．正解した場合は問題解答画

図 2 問題解答画面②
2.2 プログラミング解決過程
先行研究(2)より，既存システムによるプログラミ
ング解決過程は，Polya の問題解決過程(3)を基に考案されている．Polya の問題解決過程は，図 3 に示す 4つの段階を指す．これをプログラミング解決に置き換えると，「何を実行する」「どのように処理する」「プログラミングを行い，実行する」「デバッグを行う」という流れになる．この過程において，2 段階目

7北海道地区

教育システム情報学会 2023年度学生研究発表会から 3 段階目に進むには，自分で考えた処理や組み立てたアルゴリズムをプログラミングによって実行できなければならないが，プログラミング言語への置き換えを苦手とする学習者にとっては躓きの原因になると考えられる．既存システムは，2 段階目を日本語の問題，3 段階目を C 言語の問題に対応させることで，アルゴリズム構築後に行うプログラミング言語への変換の支援を目指している．

5.

図 3 問題解決過程

3.

システムの修正

3.1 解答時間の記録および学習履歴の表示
まず，学習の振り返りや苦手分野の認識を促すため，学習履歴の表示を行う．そのためには，解答状況のログを残す必要がある．本システムはログがテキストファイルで出力するよう設計されているため，ファイルの出力先を修正することでファイルの生成を行う．加えて，解答時間の記録を追加し，システ
ム上で履歴画面を表示する．学習履歴は問題に解答する度に生成されており，利用者ごとに分かれている．また，画面には選択した問題とそれに対する解答，正誤判定の結果，解答時間が表示される．
3.2 ダミーカードの生成
本システムは，操作するカードにダミーカードが含まれておらず，問題によっては学習効果が期待できないことが課題として挙げられている．そこで，ダミーカードを追加し，利用者にカード自体の正誤を確認させることで，習得レベルの向上を図る．ダ
ミーカードは，通常のカードと同様の仕組みで生成する．また，日本語問題には主に数式や条件式の間違い，C 言語問題には書式指定子や演算子，配列の宣言などの間違いが含まれたカードをそれぞれ用意し，各問題に対して 1~3 枚表示する．

4.

結果と考察

学習履歴より，対象者ごとの解答状況を分析した
結果，日本語問題の解答後 C 言語問題に進んだとき，解答時間と頓挫した問題の数は減少し，正答率は高まっていた．このような結果となった理由として，プログラミング解決過程が関係していると考える．
この過程において，「思考言語でアルゴリズムを組む段階」と「プログラミング言語に置き換える段階」は分けられているが，学習者が躓く原因のひとつには，この 2 つの段階を同時に行おうとしてしまうことが挙げられる．しかし，本システムを用いることで，自然に 2 つの段階に分けて考えられるようになり，日本語から C 言語へのプログラム変換に対する抵抗を軽減させることができたのだと推測する．また，ダミーカードについては，C 言語問題のカード選択による不正解が多く，処理の一部が間違って書かれたカードを選択した結果が多く見られた．よって，本システムのようにカードを用いた学習方式を採用する場合は，カード 1 枚の大きさを 1 処理に固定せず，学習目的に合わせて調整していく必要があると考える．次に，アンケートより，対象者が克服したい分野についてシステム利用前後に調査を行ったところ，利用前は C 言語の学習全体に関する内容が多かったのに対し，利用後は「条件分岐」や「繰り返し」というように，範囲がより具体的になっていることが明らかになった．したがって，本システ
ムを用いると，利用者は自身の苦手分野を明確にすることができるといえる．しかしながら，学習履歴を確認した対象者は半分に満たず，「白黒の画面で見づらいため色をつけて欲しい」等の見やすさの向上に関する意見が挙がっていたため，今後は画面のデザインの改善が課題となる可能性が考えられる．

6.

まとめ

本研究では，既存システムに対し，学習履歴の表示およびダミーカードの生成を行うための修正を加えた．また，修正後のシステムを用いて利用実験を行い，その学習効果を検証した．結果として，本学習支援環境は，C 言語学習における，アルゴリズム構築後に行う日本語から C 言語への変換を支援するシステムとして有用であると結論付ける．また，本システムの学習方式は，C 言語に限らず，他のプログラミング言語の学習支援システムにも対応させることができると推測する．

利用実験

4.1 実験目的
本研究では，既に C 言語の学習を行っている高専
2 学年 42 人を対象にシステムの利用実験を行う．また本実験は，対象者にシステムを用いて学習してもらい，C 言語の学習を支援するシステムとして有用であるか，またどの程度の学習効果があるのかを調査することを目的とする．
4.2 実験内容
本実験は，「事前アンケート」「システムの利用説明」「50 分間のシステム利用」「事後アンケート」の流れで実施する．なお，対象者は本システム上で出題される問題の範囲についての学習を終えているた
め，解答する問題は対象者の自己判断とする．その後，事前事後アンケートと解答状況の分析により学習効果の検証を行う．

参考文献(1) 今泉俊幸,橋浦弘明,松浦佐江子,古宮誠一:ブロック構造の可視化環境によるプログラミング学習支援,電子情報通信学会技術研究報告 Vol.109,No.193,pp.45-50(2009)(2) 西村宗一郎,倉山めぐみ:思考言語とプログラミング言語をつなぐ学習支援システムの開発とその利用,日本
教育工学会研究報告集 19(5), pp.193-196(2019)(3) Polya, G. How to Solve It, Princeton University Press.
(1945)

8