関東地区

教育システム情報学会

2017年度学生研究発表会

プログラミング課題を対象とした課題系列の構築
Study of a Construction of Sequence for Programming Task
古池 謙人*1, 東本 崇仁*1, 堀口 知也*2, 平嶋 宗*3
Kento KOIKE , Takahito TOMOTO*1, Tomoya HORIGUCHI*2, Tsukasa HIRASHIMA*3*1
東京工芸大学工学部*1
Faculty of Engineering, Tokyo Polytechnic University*1
神戸大学大学院海事科学研究科*1
Graduate School of Maritime Sciences, Kobe University*1
広島大学大学院工学研究科*1
Graduate School of Engineering, Hiroshima University
Email: c1418030@st.t-kougei.ac.jp*1

あらまし：学習者に知識を獲得させるにあたり，課題の構築について議論することは重要である．また，単一の課題のみではなく，連続的な課題を用いることで学習者の理解をより深めることができる．しかし，プログラミングにおける連続的な課題についての議論は多くない．そこで本研究では，プログラミングにおける課題の性質について検討し，課題の性質を基に，プログラミングにおける課題系列の構築を試みた．
キーワード：プログラミング学習，漸進的学習，漸進的知識獲得

1.

2.

はじめに通常，問題解決における解法の実行過程では複数回の演算操作が行われているが，多くの学習者は個々の演算操作の目的については意識しない．そのため，個々の演算操作の実行についての根拠を理解する重要性が平嶋らによって指摘されている(1)．学
習支援の中で，学習者に対して個々の演算操作に対して深い認識を行わせるためには，個々の演算操作の違いに気づきを与える必要がある．そのために，漸進的学習が有効であることが知られている．漸進的学習とは，学習者に与える課題を，以前に学習した課題を包括し発展された状態で段階的に課題を与えるものであり，個々の演算操作が組み合わさることによる影響を理解するためのアプローチである．
物理演習を対象とした漸進的学習の研究において
東 本 ら は マ イ ク ロ ワ ー ル ド グ ラ フ （ Graph ofMicroworlds: GMW）という枠組みを提案している(2)．
GMW では，徐々に学習者に与える現象を複雑にしていくだけでなく，徐々に体験していく現象間の差分を明示的にして学習者に与えることで，学習者の現象間の移行を支援している．
こういった，物理演習における GMW のような枠組みは，プログラミングにおいても学習者に与える課題を議論する上で重要であると考える．そのため
本研究では，プログラミング学習を対象とした段階的な課題系列の性質，構築手法について検討を行っている(3)．本稿では，これらの課題系列を対象範囲を広げ複数構築し，拡張した．この課題系列の拡張によって，(1)他の課題系列の構築が同様に構築可能か，(2)複数の学習対象間における課題の移行が可能かについて議論する．

39

問題解決プロセス

通常，問題解決過程では，初期状態にある操作系列を与えることで目標となる終了状態を達成することが求められる．物理における問題解決過程でも同様に，初期状態の現象に対して操作系列を与えることで，終了状態の現象を達成することが求められる．
この際，初期状態と終了状態に生じる差分は，ある操作系列の振舞いとして観察される．例えば図 1 では，物体 M が初期状態と終了状態の間で右側に移動していることがわかる．この物体 M の移動は，何らかの操作系列によって生じた差分，つまり振舞いであるといえる．物理においてこのような振舞いは，人間が意味付けを行うことで「等速運動」など，機能として解釈することができる．また，「等速運動」だけでなく，「右向きの運動」，「摩擦のない運動」と解釈することも可能である．つまり，振舞いから解釈できる機能は一意に限定されず，その場の状況に応じて複数の解釈が生じる．
本研究で対象とするプログラミングでも，物理と同様に変数の初期状態に対してソースコードを操作系列として与えることで目標となる終了状態が達成される．この初期状態と終了状態におけるソースコード，すなわち処理がもたらした差分を振舞いとして観察することができる（図 2）．こういった振舞いについて，有意味なものは機能として意味づけて解釈することが可能である．しかし，図 3 における「c= a」のように，振舞いを過不足なく機能として解釈することは難しい．すなわち，機能と振舞いは必ずしも対応してないのである．機能と振舞いが対応していない場合，学習者は機能のみの理解では表面的な理解しか得られず，具体的にどのような操作系列が適用されるべきかといった理解には繋がらない．

関東地区

教育システム情報学会

ループの振舞いの一部を切り取った状態で A2-a が定義されていることから，A2-a は A2 の特殊化であり，一般―特殊関係である．そして，A2-a と A3 の関係をみると，A2-a と同等な振舞いを A3 が行っているが，外側の for ループの有無で意味的には大きく異なる．このような課題系列は概念の有無から学習者が差異を学ぶために有効であるものの，A2 とA3 の関係性がない状態では成り立たない．そこで本
研究では，この関係について独自に形式的全体―部分関係と位置付けた．
本研究では，今回新たに選択ソート，バブルソー
ト，挿入ソートを対象に課題系列の構築を行った．
詳細は，紙面の都合上割愛する．

図 1 物理における問題解決

4.

おわりに

著者らはこれまでに，プログラミングにおける課題の性質に処理・振舞い・機能の関係性が存在することを指摘し，それらの性質を用いて課題系列の試作を行ってきた(3)．本研究では，先行研究で試作した課題系列の構築方法を基に，新たに複数の課題系列の構築を行い，構築手法の検証を行った．

図 2 プログラミングにおける問題解決3.

2017年度学生研究発表会

課題系列の構築

本章における課題系列では，機能を学習者に与える課題とし，処理を課題の正答例として取り扱うものとする．よって，処理をベースとした段階的な課題系列を構築するためには，個々の処理を段階的に拡張していく関係性を作るために，課題として与える機能をデザインする必要がある．これまでに，著者らは単純ソートを対象に課題系列の構築を行って．そして，課題系列における課題間のきた(3)（図 3）
関係性を，(1)全体―部分関係，(2)一般―特殊関係，また，本研究で独自に定義した(3)形式的全体―部分関係の 3 種類を用いて位置付けた．
単純ソートにおける課題系列において，まず A1 とA2 の関係をみると，A2 は A1 に包括されていることから，全体―部分関係であることがわかる．
次に，
A2 と A2-a の関係をみると，A2 における外側の for

参考文献(1) 平嶋宗, 中村祐一, 池田満, 溝口理一郎, 豊田順一:“ITS を指向した問題解決モデル MIPS”, 人工知能学
会誌, vol. 7, no. 3, pp. 475–486 (1992)(2) 東本崇仁, 堀口知也, 平嶋宗: “シミュレーションに基づく学習環境における漸進的な知識獲得支援のためのマイクロワールドグラフ”, 電子情報通信学会論文誌
D, vol. 91, no. 2, pp. 303–313 (2008)(3) 古池謙人, 東本崇仁, 堀口知也, 平嶋宗: “プログラミングにおける段階的な課題系列の検討”, 電子情報通信学会技術研究報告 = IEICE Tech. Rep. 信学技報, vol.
117, no. 296, pp. 47–52 (2017)

図 3 単純ソートにおける課題系列

40