論文
初 級 プ ログ ラ ミング教 育 に お け る支 援 シス テム に 関す る研 究
〜 因 果 マ ッ プ エ デ ィ タ 〜
Design and Implementation of Support System for Beginner's Programming Education -The Cause-Effect Map Editor-
■
1堀 内 幸 造) 長 田 一 興2)
Kozo Horiuchi I Kazuoki Osada I
We aimed at the construction of the intellectual CAI system in the beginner's programming education and study about the definition of program specification103> We expect it is mechanically decidable that students' programs are correct or not and which advices must be given when they are incorrect by comparing them to it. But it is insufficient if the specification is only comprised of the solution to realize our expectation. It must be associated with the common sense and knowledge to be used to build the program to give relevant advices4). To express the common sense and knowledge in addition to the solution, we proposed a kind of design diagram combining the flow-chart and the data flow diagram, the Cause-Effect Map1o. Conventionally the flow-chart is drawn for human programmers to understand what and how to program and it is not directly machine-interpretable. By combining the data-flow diagram with it, the objects of each process can be explicitly expressed, but rigidness among the order of execution of processes still remains in the flow- chart.
By contrast, processes in the Cause-Effect Map are loosely coupled by just specifying their start conditions and resulted state changes of data which reflect some common sense or knowledge. In this paper we fully explain both of them and consider an experimental software to generate a program from the Cause-Effect Map.
キ ー ワ ー ド:プ ロ グ ラ ム の 自動 生 成,知 的CAI,因 果 マ ッ プ
Keywords : automatic generation of programs, intellectual CAI, Cause-Effect Map
1は じ め に
我 々 は 初 級 の プ ロ グ ラ ミ ン グ 教 育 に お け る 知 的CAIシ ス テ ム の 構 築 を 目指 し、 プ ロ グ ラ ム 課 題 の 仕 様 化 に 関 す る研 究 を行 っ て き た1)2)3)。 これ ら仕 様 が 与 え られ れ ば 、学 習 者 が 作 成 した プ ロ グ ラ ム(ソ ー ス コ ー ド)が課 題 の 仕 様 を 満 た して い る か 判 断 で き る よ う に な り、 学 習 者 に 適 切 な 教 授 を 行 う こ とが で き る 。 しか し、 単 純 に 仕 様 化 した 課 題 と照 ら し合 わ せ る だ け で は 有 用 なCAIシ ス テ ム と し て は 不 十 分 で あ る。 そ こ で 、 学 習 者 が プ ロ グ ラ ミ ン グ とい う行 為 を ど の よ うに 据 え 、 思 考 し解 を得 て い る か 「プ ロ グ ラ ミ ン グ に お け る 常 識 と知 識 」 と い う観 点 か ら考 察 し て き た4)。 こ れ ら プ ロ グ ラ ム 課 題 の 仕 様 化 とプ ロ グ ラ ミ ン グ に お け る常 識 と 知 識 を 表 現 す る 手 法 と して 我 々 は 「因 果 マ ッ プ 」 を 提 唱 し、
こ の 因 果 マ ップ を 描 く こ と に よ り学 習 者 へ の 効 果 的 な 教 授 を 実 現 す る こ と を 目標 とす る 。
プ ロ グ ラ ム を 作 成 す る た め に 従 来 か ら利 用 され て い る 図 に フ ロー チ ャ ー トが あ る が 、 フ ロ ー チ ャ ー トは あ く ま で も 1つ の 解 を 表 現 す る 図 で あ り、 解 の 多 様 性 に は 対 応 で き な
い 。 そ こ で フ ロ ー チ ャ ー トを べ 一 ス に 個 々 の デ ー タ の 状 態 や 処 理 の 前 後 関係 を 考 慮 し 、 各 処 理 の 間 に 自 由 な 繋 が りを 持 た せ た 図 が 因 果 マ ッ プ で あ る。 同 種 の 図 に デ ー タ フ ロ ー 図 が あ る が 、 因 果 マ ップ は デ ー タ の 状 態 を3つ の 状 態 に 分 け て 表 現 し、 そ れ らの 状 態 に よ っ て 多 様 な 繋 が り を持 っ こ と が で き る 点 で 大 き く異 な っ て い る。 そ の た め 学 習 者 に よ っ て 異 な る 多 様 な 解 に も 対 応 で き 、 描 か れ た 図 は課 題 の 仕 様 を 可 視 化 した も の とな る 。 ま た デ ー タ の 状 態 を 見 な が ら処 理 が 行 わ れ る過 程 が 見 え る た め プ ロ グ ラ ム の 流 れ の 理 解 が 容 易 に な り、 プ ロ グ ラ ミ ン グ 教 育 に お い て は と て も 有 用 で あ る 。
溝 渕 らに よ る研 究6)に 因 果 マ ッ プ に よ く似 た 図 を利 用 し、
プ ロ グ ラ ム を 解 析 、 依 存 関 係 を 表 現 して い る が 、 これ らの 図 は プ ロ グ ラ ム 文 を 主 体 に 表 現 し て い る 。 一 方 因 果 マ ップ は プ ロ グ ラ ム 文 を 処 理=タ ス ク と し て 表 現 し 、 さ ら に 変 数
=デ ー タ を 追 加 し た こ とで 、デ ー タ間 の依存 関係 を よ り深 く表 現 して い る。 加 え て 、 因 果 マ ップ に は 起 動 条 件 が 存 在 す る の で プ ロ グ ラ ム 課 題 の 仕 様 を 詳 し く表 現 で き る 点 で 優
1)産 業 技 術 研 究 科 電 子 情 報 工 学 専 攻 研 究 生horiuchi@olab.elec.fuk.kindai.acjp 2)産 業 理 工 学 部 情 報 学 科 教 授osada@fuk.kindai.acjp
2
近 畿 大 学産 業 理 工 学 部 かや の も り12(2010)
表1処 理30種 一 覧 イ ン ク リ メ ン ト ゲ ッ タ ー の 呼 び 出 し ス レ ッ ドー 時 停 止 セ ッ タ ー 呼 び 出 し デ ク リ メ ン ト メ ソ ッ ド呼 び 出 し 繰 り返 し ブ ロ ッ ク の 開 始 繰 り返 しを終 了す る 条 件 ブ ロ ッ ク 条 件 ブ ロ ッ ク の 終 了 親 の メ ソ ッ ド呼 び 出 し 代 入す る
配 列 呼び 出 し 例 外 を受 け る 例 外 を受 け るの終 了
イ ン ス タ ン ス の 生 成 ス レ ッ ドの 終 了 を待 機 ス レ ッ ド起 動
そ の 他 条 件 ブ ロ ッ ク の 開 始 メ ソ ッ ドを 終 了
繰 り返 し ブ ロ ッ ク 繰 り返 し ブ ロ ッ ク の 終 了 計 算す る
条 件 ブ ロ ッ ク の 開 始
親 の コ ン ス トラ ク タ 呼 び 出 し 他 の コ ン ス トラ ク タ 呼 び 出 し 入 力す る
表 示す る
例 外 を受 け るの開始 例 外 を投 げ る
れ て い る。
これ ま で は 「因 果 マ ッ プ 」 の 仕 様 や 描 き 方 を 中 心 に 解 説 して き た5)が 、 本 文 で は 具 体 的 に 因 果 マ ッ プ を描 く ソ フ ト ウ ェ ア と し て 作 成 した 「因 果 マ ップ エ デ ィ タ 」 に つ い て 解 説 し 、 実 際 に描 い た 因 果 マ ップ か ら正 し い プ ロ グ ラ ム が 得
られ る こ と を確 認 す る。
2因 果 マ ッ プ の 処 理
こ れ ま で の 研 究 か ら現 在 想 定 して い る 処 理30種 を 表1に 掲 載 す る。
これ ら30種 の 処 理 の 内 、 現 在 の 因 果 マ ップ エ デ ィ タ で は
「表 示 す る」 「入 力 す る 」 「代 入 す る 」 「計 算 す る 」 の4種 類
図1課 題2‑43教 科 の 合 計 と平 均 一 因 果 マ ッ プ
に つ い て 動 作 して い る。 よ っ て 本 文 で は 、 本 学 部 情 報 学 科
「オ ブ ジ ェ ク ト指 向 プ ロ グ ラ ミ ン グ 」 の 課 題 の 中 か ら課 題 2‑4に つ い て 検 証 す る こ と に す る 。 課 題2‑4の 内 容 は 次 の と お りで あ る。
・ 問 題 文
英 語 、 数 学 、 国 語 の 科 目の 点 数 と入 力 し、 合 計 点 と平 均 点 を 出 力 す る プ ロ グ ラ ム を作 成 しな さい 。
・ 実 行 例
英 語 の 点 を入 力 して くだ さい:52 数 学 の 点 を入 力 して くだ さい:68 国 語 の 点 を入 力 して くだ さい:76 3科 目の 合 計 点 は196点 で す 。 3科 目の 平 均 点 は65.3点 で す 。
課 題2‑4を 手 描 き の 因 果 マ ッ プ で 描 く と図1の よ うに な る 。 こ の 図 を 実 際 に 因 果 マ ッ プ エ デ ィ タ を 用 い て 描 き 、 最 終 的 に 課 題 の 解 を得 る ま で の 流 れ に つ い て 解 説 す る 。
3因 果 マ ッ プ エ デ ィ タ の 使 い 方 3.1画 面 と機 能
因 果 マ ッ プ エ デ ィ タ は 、 上 部 に い くっ か の ボ タ ン が 並 ぶ ツ ー ル バ ー と 因果 マ ッ プ を描 画 す る 描 画 エ リア か ら構 成 さ れ て い る 。 ツ ー ル バ ー 内 の ボ タ ン は 左 か ら
・ 選 択
・ ダ イ レ ク ト選 択
・ 消 し ゴ ム
・ フ ロ ハ ア イ
・ 図 形 追 加
・ グ リ ッ ド
・ タ ブ の 追 加
・ 生 成
初 級 プ ロ グ ラ ミン グ教 育 にお け る支援 シ ステ ム に 関す る研 究
とな っ て い る。
選 択 は 、 タ ス ク を ひ と つ の ま とま り と して 選 択 し 、 全 体 を 一 度 に移 動 させ る こ とが で き る 。
ダ イ レク ト選 択 は 、 タ ス ク を 構 成 す る個 々 の 図 形 、 例 え ば 入 力 の 変 数 の み を選 択 し、 個 別 に 移 動 させ る こ と が で き る 。
消 し ゴ ム は 、 選 択 した タ ス ク を 削 除 す る こ とが で き る 。 プ ロパ テ ィ は 、 選 択 した タ ス ク の 情 報 を再 編 集 す る こ と が で き る 。
図 形 追 加 は 、 新 しい タ ス ク を 追 加 す る こ と が で き る。
グ リ ッ ドは 、 画 面 上 に グ リ ッ ド線 を表 示 し、 図 形 を 移 動 す る 際 に グ リ ッ ドに ス ナ ッ プ させ 整 列 す る こ とが で き る 。 押 す ご と に グ リ ッ ドのONとOFFを 切 り替 え る こ とが で き る 。
タ ブ の 追 加 は 、 新 しい 描 画 エ リア を 追 加 す る こ と が で き る 。 ま だ 実 装 出 来 て い な い が 、 新 し い ク ラ ス の 新 し い メ ソ ッ ドを 描 く際 に タ ブ を 追 加 し て 個 別 に描 く こ と を想 定 し て い る 。
生 成 は 、 画 面 に 描 か れ た 因 果 マ ッ プ に基 づ い て プ ロ グ ラ ム を生 成 す る。
3.2変 数 の 追 加
ま ず 、 図 形 追 加 ボ タ ン を押 し追 加 し た い 図 形 の 詳 細 情 報 を 入 力 す る。 図 形 追 加 ボ タ ン を 押 す と 図2の よ うな 画 面 に な る 。
上 部 に あ る 「処 理 」で 必 要 な 処 理 を選 択 す る。 処 理 に よ っ て 設 定 で き る 項 目 が 異 な る の で 、 処 理 を 変 え る 毎 に 各 項 目 が 変 化 す る。 図2は 初 め て 追 加 を 行 っ た 時 の 図 な の で 、 入 力 の リ ス トや 起 動 条 件 の リス トに は 何 も 変 数 が 存 在 しな い 。 変 数 を 追 加 す る に は 、 画 面 下 部 の 「変 数 の 追 加 」 ボ タ ン を 押 す 。 変 数 の 追 加 ボ タ ン を 押 す と 図3の よ うな 画 面 に な る。
変 数 名 や 型 、値 に 必 要 な 情 報 を入 力 し 「OK」ボ タ ン を 押 す と、 図4の よ うに 、 各 リ ス トへ 追 加 し た 変 数 が 反 映 さ れ
る。
3.3文 字 列 の 追 加
次 に 、 処 理 「表 示 す る 」 の よ う に 、 入 力 に 変 数 だ け で は な く文 字 列 が 必 要 な 場 合 に は 変 数 の 追 加 で 図5の よ う に 、 型 を 「STRING̲V」 と し表 示 させ た い 文 字 列 を 値 に 入 力 す る 。
こ の 設 定 で 変 数 を 追 加 す る と 図6の よ うに 、 各 リ ス トへ 文 字 列 が そ の ま ま 表 示 され た 状 態 で 反 映 され る。 入 力 に こ こ で 追 加 した 文 字 列 「英 語 の 点 を 入 力 して くだ さ い:」 を
図2タ スク の追加 画面
図3変 数の 追加 画面 図7処 理 「表示 する 」の追 加
図4タ スクの 追加 一変数 の追加 の反 映 図8関 連付 けの ある タス クの追 加
図5変 数の 追加 一文字 列
II
図9処 理 「代入 する 」の追 加
lll
図6タ ス ク の 追 加 一文 字 列 の 追 加 の 反 映
→一ト←H一トト1一昌→→→一←1‑←トト1斗斗→‑H‑H‑一 一ト→→→→→一 図10処 理 「入 力 す る 」 と 「代 入 す る 」 の 追 加
選 択 し 「OK」ボ タ ン を 押 す と 図7の よ うに タ ス ク が 描 か れ る 。
3.4関 連 付 け の あ る タ ス ク
処 理 「入 力 す る 」 と 「代 入 す る 」、 処 理 「計 算 す る 」 と
「代 入 す る 」の よ う に2つ の タ ス ク が 連 続 し て 必 要 な タ ス ク の 場 合 、 出力 の 指 定 の 仕 方 が 少 し異 な る。 図8の よ うに 「出 力 」 で は な く 「出 力 型 」 を 指 定 す る よ うに な り、 こ こ で 処 理 が どの よ うな 型 の デ ー タ を 出 力 す る か を 選 択 す る 。
す る と、 図9の よ うに 処 理 「代 入 す る 」 しか 処 理 の リ ス ト に 無 い 画 面 が 表 示 され 、 さ ら に 入 力 の リス トに 「INT」とい
う表 示 が 追 加 され て い る。
こ の 「INT」は 、 関連 付 け の あ る タ ス ク が 出 力 す る デ ー タ を 表 し て お り、 例 え ば 処 理 「入 力 す る」 の 場 合 、 ユ ー ザ が 入 力 し た デ ー タ とい う こ と に な る。 こ こ で 、 入 力1の リス トで 変 数sum、 入 力2の リス トで 「INT」を選 択 し 「OK」ボ タ ン を 押 す と 図10の よ う に 入 力 した デ ー タ が 変 数sumへ 代 入
図12課 題2‑43教 科 の 合 計 と 平 均 一因 果 マ ッ プ エ デ ィ タ 版 因 果 マ ッ プ
図11起 動条 件の 設定 図13課 題2‑43教 科 の 合 計 と 平 均 一追 加 した 変 数
され る2つ の タ ス ク か ら成 る"関 連 付 け の あ る タ ス ク"と し て 追 加 され る。
3.5起 動 条 件 の 設 定
変 数 を 追 加 す る と入 出力 の リ ス ト以 外 に 起 動 条 件 の 各 リ ス トへ も 変 数 が 追 加 され る。 図11の よ うに 追 加 す る タ ス ク に 対 して 、 必 要 な 起 動 条 件 を 選 択 す る こ とで 設 定 で き る 。
現 在 の ソ フ ト ウ ェ ア で は 起 動 条 件 は 描 か れ て い な い が 、 生 成 時 の 条 件 と して は 設 定 され て い る 。 今 後 図 と し て 描 画 す る部 分 も 対 応 予 定 で あ る。
3.6因 果 マ ッ プ を 描 く
こ れ ら の 操 作 を 行 い 、 図1を 因 果 マ ッ プ エ デ ィ タ で 描 い た も の が 図12に な る 。
図13に 追 加 した 変 数 や 文 字 列 の リス トを 示 す 。
細 か い 見 た 目 に つ い て は 多 少 異 な る が 、 起 動 条 件 な ど も 含 め 図 と 同 じ意 味 の 図 とな っ て い る。
3.7プ ロ グ ラ ム の 生 成
図 が 完 成 し た の ち 、 ツ ー ル バ ー 右 に あ る 「生 成 」 ボ タ ン を 押 す と図14の よ うな 画 面 に 生 成 され た プ ロ グ ラ ム が 表 示
され る。
こ れ に よ り、 描 い た 因 果 マ ッ プ か ら課 題 の 解 に 当 た る プ ロ グ ラ ム を 得 られ る こ と が確 認 で き た 。
4ま と め
我 々 は 初 等 の プ ロ グ ラ ミ ン グ 教 育 に お け る 知 的CAIシ ス テ ム の 構 築 を 目指 し、 プ ロ グ ラ ム 課 題 の 仕 様 化 とプ ロ グ ラ ミ ン グ に お け る 常 識 と知 識 を 表 現 す る方 法 と して 因果 マ ッ プ を 提 唱 して き た 。 因 果 マ ップ は 複 数 の タ ス ク か ら成 り、
タ ス ク は 複 数 の 入 力 と 出 力 、 一 つ の 処 理 と い う基 本 構 成 を ベ ー ス に 、 柔 軟 な 繋 が り を持 た せ る た め タ ス ク 後 に 起 き る デ ー タ状 態 の 変 化 、 タ ス ク 同 士 を 繋 ぐ根 拠 とな る 起 動 条 件 を 同 時 に 描 こ と が で き る。
こ れ ま で 因 果 マ ップ は す べ て 手 で 描 き 、 絵 に相 当 す る プ ロ グ ラ ム を 自力 で 記 述 し、 生 成 エ ン ジ ン へ 引 き 渡 し確 認 し
図14課 題2‑43教 科 の 合 計 と 平 均 一生 成 した ソー ス
て い た が 、 今 回 作 成 した 因 果 マ ップ エ デ ィ タ に よ り手 軽 に 描 く こ とが で き る よ う に な り、 ま た 処 理 に よ る 設 定 項 目 の 違 い な どに よ る 図 の 間 違 い を 因 果 マ ップ エ デ ィ タ 上 で 制 御 す る こ とで 記 述 ミス が な く な っ た 。 こ れ に よ り描 く手 間 が 大 幅 に 減 り、 ど の よ うな プ ロ グ ラ ム が 生 成 さ れ る か 確 認 し な が ら描 く こ とが で き る よ う に な っ た 。
今 後 は 、 す で に 定 義 済 み の 処 理 に つ い て 描 け る タ ス ク の 種 類 を 充 実 させ て い く予 定 で あ る 。
参 考 文 献
1)堀 内 幸 造,長 田 一 興
モ バ イ ル エ ー ジ ェ ン ト技 術 を 用 い た 教 育 支 援 シ ス テ ム ー常 駐 ア プ リ ケ ー シ ョ ン に よ る キ ー ボ ー ドデ ー タ の 収 集,近 畿 大 学 産 業 理 工 学 部 研 究 報 告 、Vbl.02, pp.1‑7,2004.
2)堀 内 幸 造,長 田 一 興
初 級 プ ロ グ ラ ミ ン グ 教 育 に お け る支 援 シ ス テ ム に 関 す る 研 究 〜 因 果 マ ッ プ を利 用 す る仕 様 の 定 義 〜 近 畿 大 学 産 業 理 工 学 部 研 究 報 告,VbLO3,pp.21‑26, 2005.
3)堀 内 幸 造,長 田 一 興
初 級 プ ロ グ ラ ミ ン グ 教 育 に お け る支 援 シ ス テ ム に 関 す る 研 究 〜 因 果 マ ップ を 利 用 した プ ロ トタ イ プ に つ
)4)5)6
い て の 考 察 〜
近 畿 大 学 産 業 理 工 学 部 研 究 報 告,Vb1.04,pp.27‑32, 2006.
堀 内 幸 造,長 田一 興
プ ロ グ ラ ミ ン グ に お け る も の の 見 方 と常 識 に つ い て 近 畿 大 学 産 業 理 工 学 部 研 究 報 告,Vb1.05,pp.45‑49, 2006.
堀 内 幸 造,長 田一 興
初 級 プ ロ グ ラ ミ ン グ教 育 に お け る 支 援 シ ス テ ム に 関 す る研 究 〜 因 果 マ ッ プ か らJavaソ ー ス の 自動 生 成 に っ い て 〜,近 畿 大 学 産 業 理 工 学 部 研 究 報 告,Vbl.11, pp.24‑30,2009.
溝 淵 裕 司,中 谷 俊 晴,佐 々 政 孝
コ ンパ イ ラ ・イ ン フ ラ ス トラ ク チ ャ を 用 い た 静 的 プ ロ グ ラ ム ス ラ イ シ ン グ ツ ー ル,日 本 ソ フ トウ ェ ア 科 学 会 第20回 大 会 論 文 集,2B‑3,2003.