初心者向け C 言語学習支援システムの構築 ~プログラミング入力支援と

初心者向け C 言語学習支援システムの構築
~プログラミング入力支援と構造の可視化~
200604223 今井 友美
1.
まえがき
C言語を学習する初心者にとって、プロ
グラムの構造を理解することは難しく、そ
指導教員:桑原 恒夫
ソースコードとそのフローチャートをステ
ップ毎に表示する。
3.
システム構成
のためプログラミングを苦手と感じる場合
図1に本システムの構成を示す。
が多い。
ユーザがメインGUI上で任意の構文ボ
従来、学校現場でのプログラミングの学
タンを押すと、その情報が構文選択部に伝
習は、教科書などの文書に基づく学習や演
達され、選択された構文の内部入力用サブ
習が主に行われてきた。これでは教育者側
GUIが表示される。
で用意した構造しか学習できず、学習者の
そのサブGUIにおいてユーザが構文内
意図で様々な構造のプログラムを構成し学
容入力を行うと、その情報が構文内容入力
習することはできない。
部に伝達される。
また、平成 20 年度の桑原研究室卒研生が
そして、ユーザがサブGUI上の任意の
作成したシステムでは、構造をいくつか変
ステップ進行用ボタンを押すと次の構文選
えてプログラムの進行状況を学習できるよ
択用サブGUIが表示されるか、入力内容
うになっている。しかしこのシステムでは、
管理経由でソースコード表示部とフローチ
if 文のみか for 文のみの予め定められた構
ャート表示部が呼び出されてメインGUI
造の中からの選択しかできないため、学習
にソースプログラムとフローチャートが表
者の選択の幅が限られている[1]。
示される。
本研究では、学習者の C 言語プログラム
の理解を支援することを目的に、ウィザー
ド入力によるプログラミング入力支援と、
作成されたプログラムのソースコードとフ
ローチャートの動的な表示を実現した。こ
れにより学習するプログラム構造の自由度
が高い状態でプログラム構造を可視化した
C 言語学習支援システムを開発した。
2.
要求仕様
●ウィザード入力によるプログラミング
入力支援
ボタン入力によるプログラム構造の選択
と変数や代入値などのウィザード入力によ
り、C 言語の文法の詳細を意識せずにプロ
グラミングを可能とする。
●プログラムの構造の可視化
ウィザード形式で作成したプログラムの
図2.作成システムのコンポーネント図
構文ボタン
ソースコード
フローチャート
図2.作成システムのメインGUI
4.
実現機能
学習者が任意に構文を選択し、ウィザー
図2に本システムのメイン GUI 画面の
ドで内容を入力出来る事により、自由に
サンプルを示す。以下この図を利用して本
様々なプログラムを作成できる。また、そ
システムの動作を説明していく。
の時のプログラムのフローチャートを表示
①本システムを実行させるとメイン GUI
することによりプログラムの構造を把握し
画面が起動するので、学習者はまず画面左
易くなる。これにより、学習者のプログラ
側の入力したい構文のボタンを押す。
ムの構造理解が支援できると考えている。
②するとそれぞれの構文に対応した構文
今後の課題としては、if 文や for 文の入力
内部入力用サブ GUI 画面が起動する。学習
と表示が1重構造に限定されているので、2
者はウィザードにより任意の値を入力し、
重構造以上にも対応できるようにする事で
次ボタン(→③へ)もしくは終了ボタン(→④
ある。また、関数など本システムでは実現
へ)を押す。
出来ていない他のC言語の構文を実装する
③それぞれの構文に対応した構文選択用
ことも課題である。さらに、本システムは
サブ GUI 画面が起動する。学習者は入力し
Java のスタンドアロン形式なので、より多
たい構文のボタンを押す。(→②へ)
くのユーザが簡単に利用できるよう、アプ
④メイン GUI 画面中央の TextArea にソ
レット化などによりネットワーク経由での
ースコード、画面右側にフローチャートが
利用が行える形態とすることが望ましいと
表示される。
考えられる。
ただし、if、else if、for の入力は1重構
参考文献
造に限定している。
[1] 菱川一樹、プログラム進行状況のビジュアル化
5.まとめ
による初心者用 C 言語学習支援システム‐フロー
本研究では、ウィザード入力によるプロ
チャートとソースプログラムの動的表示‐、平成
グラム入力支援とそれに連動したソースコ
20 年度
ード及びフローチャートの動的表示による
学部情報科学科 (pp65-66)
初心者向けC言語学習システムを構築した。
卒業研究発表会要旨集
神奈川大学理