情報処理学会第 82 回全国大会

2ZH-05

授業進度に対応するパズルを利用したプログラミング思考過程の分析と教育支援システムの開発
中村 陽太†

大場 みち子†

山口 琢‡

伊藤 恵†

公立はこだて未来大学 システム情報科学部†

フリー‡

1. 背景と⽬的
2020 年現在，理系⼤学のみならず⽂系⼤学でもプログラミング教育が盛んに実施されている．
⼤学などにおけるプログラミング授業では，対⾯授業と e-learning を併⽤したブレンド型学習が使われるようになっている[1]．授業は多数のプログラミング学習者（以下学習者）に対し，指導者は少数で構成されていることが多く，個々の学習者を適切に指導することは困難である[2]．
⼀般的に授業では全ての学習者に同⼀の演習課題が課されており，個々の学習者の理解に合わせて指導されているとはいえない．
プログラミング授業における評価では，完成したプログラムのようなアウトプットのみを評価する⽅法が⽤いられている．⼀⽅，アルゴリ
ズムを学ぶための教育⽀援システムや，予め⽤意された⾃動採点プログラムによって学習者が作成したプログラムを採点するシステムがある[3][4]．この⽅法では学習者を⼀定の基準で評価できるが，個々の学習者が正解に⾄るまでの過程が不明なため，学習者がつまずいている箇所の特定が難しい．そこで，学習者を適切に指導するために問題点を発⾒し改善する教育が必要である．問題点の発⾒とアドバイスの提⽰をシステムで実現できれば，より適切な指導ができるようになるであろう．
本研究では，プログラミング教育において個々の学習者への適切な指導を可能にすることを⽬的とする．⽬的を達成するために，学習者のプログラミング思考過程の傾向を分析することと，傾向分析に基づいて，学習者の思考過程の傾向やアドバイスを提⽰する教育⽀援システ
ムを開発することを⽬標とする．
Analysis of Programming Thinking Process Using Puzzle
Corresponding to Class Progress and Development of An
Education Support System† Yota Nakamura † Michiko Oba ‡ Taku Yamaguchi † Kei Ito† School of System Information Science, Future University
Hakodate‡ Independent Researcher

2.

関連研究と課題
プログラミング過程を動画や画像で記録して把握した研究がある．伊藤らの研究では，動画撮影によってプログラミング⾏動を記録し，学習者にプログラミング中の動画を⾒せることで学びが相応に得られる可能性があることが⽰された[5]．藤原らの研究では，プログラミング演習時に画⾯のスナップショットを収集して残作業量を算出し，⾏き詰まり箇所を提⽰するだけで原因の判断が可能であることが⽰された[6]．
しかし，動画や画像ではデータ量が膨⼤であり分析に時間が掛かるため，⽐較や分析が困難である．
川北らの当研究室での先⾏研究では，上記の課題を解決するジグソー・コード[7]を利⽤してジグソー・コード問題 5 問を被験者に出題し，正解者と不正解者の傾向について分析した[8]．しかし，先⾏研究の実験問題では出題意図が不明
確であり，解答者のプログラミング学習との関係性が不明という課題がある．
3. 解決アプローチ
先⾏研究の課題を解決するため，プログラミング授業の進度に合わせて作問し，授業範囲の復習として出題する．プログラミング授業の進度に合わせ出題することで，理解が不⼗分な項⽬を把握できる．実験では，ジグソー・コードおよびジグソー・コード 2[9]を⽤いて操作を記録・測定し，操作ログから思考過程を分析する．
図 1 はジグソー・コード 2 の画⾯例である．これ
らのツールはプログラム・コードをランダムに並べ替えるジグソー・パズルであり，並べ替える過程を操作ログとして記録している．ジグソー・コード 2 では並べ替え対象に必要な⾏/不要な⾏を含んでおり，必要な⾏を選択しジグソー・コードと同様に並べ替える．ジグソー・コード 2 は，並べ替えの過程を⾒るためだけでなく，必要な⾏を正しく選択できたかを確認するためにも⽤いる．

4-701

Copyright 2020 Information Processing Society of Japan.
All Rights Reserved.

情報処理学会第 82 回全国大会

図 1．ジグソー・コード 2 の画⾯例
4. 実験
プログラミング思考過程の傾向を把握するために実験を実施した．実験対象者は，公⽴はこだて未来⼤学の学部 2 年⽣対象授業「情報処理演習 I」を履修している学⽣のうち，情報提供の同意が得られた 48 名である．実験は以下の⼿順で実施した．
(1) 概要説明：初回の実験前に，実験の概要やジグソー・コードの操作⽅法を説明(2) 実験問題の解答：⽤意した実験問題 3 問を，各回の授業後に解答(3) 解答解説の提⽰：解答後に実験問題 3 問に対応した解答解説を提⽰(4) アンケートの回答：解答解説についてのアン
ケート 2 問に回答
実験の結果，以下の傾向が⾒られた．
① 最初に操作した⾏から，構⽂や定型⽂に着⽬する傾向が⾒られた．if ⽂や for ⽂などの構⽂，関数や変数，return ⽂などの定型⽂といったプログラムの構造に沿った思考の傾向が多く⾒られた．例として，if ⽂の if 節から順に完成させる傾向や，関数の宣⾔⽂から完成させる傾向が⾒られた．
② プログラム構造を考えない並び替えを実施しているケースが散⾒された．これは，勘違いや知識不⾜が原因として考えられる．
③ 関数やクラスを完成させる問題では，return⽂や変数の位置を正しく配置できているパターンが多かった．これは内部の処理の内容に関わらず，変数や関数の記法を理解しているためと考えられる．
④ 単純でわかりやすい if ⽂などの構⽂で構成される問題では，正解率が⾼い傾向にあった．
しかし，授業に対応した範囲の教科書に載っている構⽂の中でも，授業の演習問題で出題されなかった switch ⽂では正解率が下がったため，対応範囲内でも出題されなかった構⽂は理解度が低いと考えられる．
⑤ 処理に使われる変数が宣⾔されていない状
態のプログラムで完成としているパターンが散⾒された．これは条件式を理解せずに if⽂や for ⽂というだけで移動したか，あるいは確認不⾜と考えられる．
5. 教育⽀援システム
教育⽀援システムは，ジグソー・コード問題の解答解説やアドバイス，学習者の思考過程の傾向を提⽰する．ジグソー・コードをシステム内に埋め込み，学習者の解答中に操作ログを取得する．学習者が解答し終えた時点で操作ログを分析し，学習者に解答解説とアドバイスを提⽰する．指導者には，学習者の傾向とアドバイスを提⽰する．教育⽀援システムは Web システ
ムとして実装する．実装後には，実際の学習者や指導者を対象として実験し，アンケート等を⽤いて⽀援システムの有⽤性を評価する．
6. まとめ本研究では，プログラミング教育において個々の学習者への適切な指導を可能にすることを⽬的とした．⽬的を達成するために，学習者のプログラミング思考過程の傾向を分析し，構⽂や構造，関数から着⽬する傾向などを明らかにした．今後は教育⽀援システムを実装し，実際の学習者を対象とした実験と評価を⽬指す．
参考⽂献[1] 中尾茂⼦, 安達⼀寿, 北原俊⼀, 新⾏内康慈：ブレンディッドラーニングによるプログラミング学習の実践と評価, ⽇本教育情報学会学会誌, Vol. 22,
No. 3, pp. 47-56 (2007)[2] ⽥⼝浩, ⽷賀裕弥, ⽑利公⼀, ⼭本哲男, 島川博光：個々の学習者の理解状況と学習意欲に合わせたプログラミング教育⽀援, 情報処理学会論⽂誌,
Vol. 48, No.2, pp.958-968 (2007)[3] 新開純⼦, 宮地功：ブレンド型授業によるプログラミング教育の効果, 教育
システム情報学会誌, Vol. 28, No. 2, pp. 151-162, 2011[4] 伊藤恵, 美⾺義亮, ⼤⻄昭夫：コース管理システムと授業固有の課題チェッ
ク機能の Web サービスによる連携, 情報処理学会論⽂誌, Vol. 52, No. 12,
pp. 3121-3134, 2011[5] 伊藤恵, 杉本識吏, ⼤場みち⼦, 下郡啓夫：動画を⽤いたプログラミング⾃学⾃習の試み, 研究報告コンピュータと教育(CE), Vol.2015, No.20, pp.1-6,
2015[6] 藤原賢⼆, 下村恭平, 井垣宏, 吉⽥則裕, 伏⽥享平, ⽟⽥春昭, 楠本真⼆, 飯⽥
元：スナップショットを⽤いたプログラミング演習における⾏き詰まり箇所の特定, コンピュータソフトウェア, Vol.35, No.1, pp.13-113, 2018[7] ⼭⼝琢, 伊藤恵, ⼤場みち⼦：プログラミング・パズルの測定と分析, 研究報
告ドキュメントコミュニケーション(DC), Vol. 2018-DC-111, No. 2, pp. 1-6,
2018
[8] 川北紘正, ⼤場みち⼦, ⼭⼝琢：プログラミング思考過程に基づくプログラ
ミング時の⾏動分析と傾向, 第 81 回全国⼤会講演論⽂集, Vol. 2019, No. 1,
pp. 521-522, 2019[9] 中村陽太, ⼤場みち⼦, ⼭⼝琢, 伊藤恵：授業進度に対応するパズルを利⽤したプログラミング思考過程の分析, 研究報告コンピュータと教育(CE), Vol.
2019-CE-151, No. 1, pp. 1-9, 20194-702

Copyright 2020 Information Processing Society of Japan.
All Rights Reserved.