講演名 2017-03-10
プログラム意味理解学習におけるソースコード構造化の枠組みに基づく補助問題出題機能の設計・開発
渡辺 圭祐(東京理科大), 東本 崇仁(東京工芸大), 藤森 進(東京理科大), 赤倉 貴子(東京理科大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) プログラミング学習において,プログラムを作るだけでなく,“読む行為”もプログラミング学習に良いとされている.著者はプログラムを読む行為のうち“意味理解”プロセスにおいて段階的に考える行為を“段階的抽象化”と呼び,段階的抽象化による学習支援システムを開発した.しかしながら,開発したシステムのフィードバックは正誤情報を与えるのみであり,学習に十分有用であるとはいえなかった.そこで本研究では,学習者の状態に合わせた出題が可能な,漸進的な学習が可能なプログラムを読む学習を支援するシステムの開発を目的とした.学習者の状態に合わせた次問題の提示やフィードバックメッセージの生成を実現するためには,システム自身が個々のプログラムの特徴を把握できている必要がある.そこで,本研究では、問題としての各プログラムと,そのプログラムが記述された背景情報をセットにしたものをノードとし,各プログラム間の背景情報の差分をリンクの情報に持つグラフ構造を提案する.ノードは,(a)背景情報(要求,仕様)と (b)プログラム,(c)ソースコードを理解するためのタスクの3点を情報として持つ.ノード間の隣接関係を,(a)背景情報を基に,(ⅰ)特殊-一般と(ⅱ)部分-全体の2つに定義した.(ⅰ)特殊-一般は,同じ目的の達成を前提とし,特殊側のノードにおいて変数に制約を与えパラメータを特殊化することで,プログラム上で考慮する要素を減らし,簡単化したものである. (ⅱ)部分-全体はある目的を達成するプログラムと,その副目的を記述したプログラムの関係である.全体側のプログラムは部分側のプログラムにコードを追加したものになっているため,全体側のプログラムは部分側のプログラムを複雑化したものとなる.さらに本グラフ構造では,各ノード間の(a)背景情報の変更がモデルに対してどのような変化があったか表すPC-Ruleを記述する.PC-Ruleと各ノードに書かれた背景情報を照合することにより,システムは自身で各ノード間の差分を説明でき,学習者がノード間を移項する際のタスクの生成もできるようになる.以上のグラフ構造を内部に持つシステムを試作した.評価の結果,本システムにより,漸進的な学習を行える可能性が示唆された.今後の課題として,異なる問題系列やより大きな問題系列を用いた評価や,段階的抽象化によるプログラムを読む学習を支援するシステムとの統合が挙げられる.
抄録(英) The act of program reading, as well as program writing is considered to be useful to efficiently learn programming. In a previous study, we defined “Stepwise Abstraction” as the step-by-step process of program reading, and developed a system to help learners acquire programming skills. However, the system provided the learner with only true/false information as feedback. Therefore, in this study, we aim to develop a system with improved feedback functions, which makes progressive learning possible. To adjust the subsequent questions and feedback messages according to the learner’s comprehensive level, it is necessary that the system itself is able to recognize the characteristics of individual programs. In this study, we propose a graph structure with nodes corresponding to individual programs and their background information, and with edges indicating the difference between the programs. The nodes have the following three types of information: (a) background information, (b) source code snippets and (c) tasks to understand the source code. We use the background information to define the relations between nodes as one of (i) specific–general and (ii) partial–whole. The specific–general relation type assumes achievement of the same purpose. The node on the specific side of the relation has restricted variables are and parameters are specified. As a result, the factors to be considered for programming are reduced and simplified. The partial–whole relation type is used between nodes to show one node with a primary purpose and one node with a secondary purpose. The node on the whole side of the relation contains code to be added to the partial-side node, and is more complicated than the partial-side node. For the system to automatically recognize differences between nodes, we set a PC-Rule that describes how the change in background information causes the model to change. By matching the information described on each node with the PC-Rule, the system is able to recognize differences between nodes and automatically generate tasks. I designed and prototyped the system with the above graph structure. Evaluation results suggest that this system assists in progressive learning. Issues remained to be studied in the future are expanding evaluation to different problems (including large series of problems) and integration with the system to learn programming through Stepwise Abstraction.
キーワード(和) 知的学習支援システム / プログラムを読む学習 / 漸進的な学習 / システム設計
キーワード(英) Intelligent Learning Support System / Act of Program reading / Stepwise Learning / System Design
資料番号 ET2016-108
発行日 2017-03-03 (ET)

研究会情報
研究会 ET
開催期間 2017/3/10(から1日開催)
開催地(和) 新居浜工業高等専門学校
開催地(英) National Institute of Technology, Niihama College
テーマ(和) STEM教育/一般
テーマ(英) STEM (Science, Technology, Engineering and Mathematics) Education, etc.
委員長氏名(和) 松原 行宏(広島市大)
委員長氏名(英) Yukihiro Matsubara(Hiroshima City Univ.)
副委員長氏名(和) 中村 勝一(福島大)
副委員長氏名(英) Shoichi Nakamura(Fukushima Univ.)
幹事氏名(和) 鷹岡 亮(山口大) / 東本 崇仁(東京工芸大)
幹事氏名(英) Ryo Takaoka(Yamaguchi Univ.) / Takahito Toumoto(Tokyo Polytechnic Univ.)
幹事補佐氏名(和) 立岩 佑一郎(名工大) / 中山 祐貴(福島大)
幹事補佐氏名(英) Yuichiro Tateiwa(Nagoya Inst. of Tech.) / Yuuki Nakayama(Fukushima Univ.)

講演論文情報詳細
申込み研究会 Technical Committee on Educational Technology
本文の言語 JPN
タイトル(和) プログラム意味理解学習におけるソースコード構造化の枠組みに基づく補助問題出題機能の設計・開発
サブタイトル(和)
タイトル(英) Design and Development of the Function to Set Auxiliary Problems in the Process of Program Meaning Deduction
サブタイトル(和)
キーワード(1)(和/英) 知的学習支援システム / Intelligent Learning Support System
キーワード(2)(和/英) プログラムを読む学習 / Act of Program reading
キーワード(3)(和/英) 漸進的な学習 / Stepwise Learning
キーワード(4)(和/英) システム設計 / System Design
第 1 著者 氏名(和/英) 渡辺 圭祐 / Keisuke Watanabe
第 1 著者 所属(和/英) 東京理科大学(略称:東京理科大)
Tokyo University of Science(略称:TUS)
第 2 著者 氏名(和/英) 東本 崇仁 / Takahito Tomoto
第 2 著者 所属(和/英) 東京工芸大学(略称:東京工芸大)
Tokyo Polytechnic University(略称:TPU)
第 3 著者 氏名(和/英) 藤森 進 / Susumu Fujimori
第 3 著者 所属(和/英) 東京理科大学(略称:東京理科大)
Tokyo University of Science(略称:TUS)
第 4 著者 氏名(和/英) 赤倉 貴子 / Takako Akakura
第 4 著者 所属(和/英) 東京理科大学(略称:東京理科大)
Tokyo University of Science(略称:TUS)
発表年月日 2017-03-10
資料番号 ET2016-108
巻番号(vol) vol.116
号番号(no) ET-517
ページ範囲 pp.85-88(ET),
ページ数 4
発行日 2017-03-03 (ET)