研究課題/領域番号 |
22K12291
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分62030:学習支援システム関連
|
研究機関 | 和歌山大学 |
研究代表者 |
村川 猛彦 和歌山大学, システム工学部, 准教授 (90304154)
|
研究期間 (年度) |
2022-04-01 – 2025-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
3,120千円 (直接経費: 2,400千円、間接経費: 720千円)
2024年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2023年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2022年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
|
キーワード | ソフトウェア解析 / C言語 / プログラミング / 学習支援システム / 大学教育 |
研究開始時の研究の概要 |
初学者向けプログラミング学習において、語(トークン)を適切に並べて文を構成する能力の養成が求められている。本研究では、ソースプログラムに共通して出現する「頻出パターン」に着目し、その抽出および学習支援システムへの適用を行う。C言語のfor文の場合、頻出パターンは「for(;;)」で表される。大規模なソースプログラム群からの頻出パターンの取得を試み、頻出パターンを入力に与えてソースプログラム群における出現を検出するソフトウェアも自作する。データベースを含む学習支援システムは、平成31年度より科研費の助成を受けて開発・公開したものを更新する形で構築し、大学の授業での利用を通じて有効性を実証する。
|
研究実績の概要 |
手動による頻出パターン取得の支援のため,頻出パターン表示システムを開発した.本システムは,頻出パターンとなるトークン列を入力にとり,システムが保持するソースプログラム群の中からそのトークン列を含むソースプログラムを検索する機能,およびソースプログラム中のトークン列の出現箇所を表示する機能を持つ. Webアプリケーションとして構成しており,Ruby言語で記述し,CGIプログラムとして実現している.本事業より前に研究代表者が開発したプログラムを使用して,対象となるC言語で書かれた各ソースコードをトークン分割して配列にし,RubyのPStoreライブラリを用いてファイルに保存することで,ソースコードのファイル名をキーとして読み出せるようにしておく.また入力となる頻出パターンもトークン分割し配列として保持する. 頻出パターンとソースコードとの照合は次のようにして行う.すなわち,頻出パターンの初めのトークンと一致する,ソースコードのトークン位置を逐次探索する.見つかれば,頻出パターンの次のトークンを逐次探索し,すべて見つかるまで繰り返す.ただし括弧類の対応のため,カウンタを用意しておく.初期状態は0で,ソースコードのトークンの配列の逐次探索中に開き括弧を見つければカウンタを1増やし,閉じ括弧を見つければカウンタを1減らす.ソースコードのトークン配列において対応する開き括弧と閉じ括弧は,同じカウンタの値に限定する. 指定した頻出パターンに対し,ソースプログラムには複数出現する場合にも,本システムで検出し,異なる色で表示することを試みた.頻出パターンとして,「for(;;){}」「int main(){}」などを与えたときに適切に表示されること,また前者については二重ループも適切に表示されることを確認した.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
頻出パターンの機械的な取得が当初予定通りに実現できていないため.
|
今後の研究の推進方策 |
研究実施計画に書いた「頻出パターンの取得」「学習支援システムの更新および利用」を進めていく.成果を取りまとめながら,国内・海外で成果発表を積極的に行う.
|