• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2018 年度 実施状況報告書

記述知識の段階的定量化によるソースコードの困難度推定と適応的学習課題提示法の検討

研究課題

研究課題/領域番号 17K01164
研究機関広島工業大学

研究代表者

山岸 秀一  広島工業大学, 情報学部, 教授 (10609902)

研究分担者 松本 慎平  広島工業大学, 情報学部, 准教授 (30455183)
加島 智子  近畿大学, 工学部, 講師 (30581219)
研究期間 (年度) 2017-04-01 – 2020-03-31
キーワード読解 / 知識 / 定量化 / 自動生成 / データ構造 / スライシング / 潜在ランク理論
研究実績の概要

申請者らはこれまで,ソースコード自身の内的な情報であるデータ依存関係のみに基づいた読解学習教材を対象とし,それを用いてプログラム読解力を養成するための読解学習支援システムの開発を進めている.読解学習は,トレース・デバッグ学習の基礎力向上に対しての有効性,プログラミングの基本である読解の反復学習の有効性を踏まえたものである.既存成果は代入文のみに留まり,記述単位の決定,単位ごとの知識量の定量化までには至っていない.更なる学習支援に向けては,読解学習の対象を制御文や配列までに広げることが望まれている.そこで,平成30年度の取り組みの中では,開発を進めている読解学習支援システムの機能拡張に取り組んだ.具体的には,制御文や配列への対応,プログラム内的構造とソースコードの生成条件を入力データとすることで,読解学習教材としてのソースコードを自動生成できる機能を設計・開発・実装した.その他,多様な読解学習方法を実現した.提示されたプログラムを読解し,「ある変数の値がxである時の,別の変数の値」や「ソースコード実行後のある変数の最終的な値」,「入出力の変数セットと一部欠落したソースコードが与えられた時,欠落部分に入力する適切な命令」などを回答できるようにした.

次に,コード記述の知識量(困難度)を段階的に定量化することを試みた.具体的には,潜在ランク理論によりソースコード記述自体が有する困難度をプログラム依存関係に照合しながら解析し,ソースコード個々の読解に必要とされる困難度を段階的に定量化した.実際の授業から得た百人規模の学習者のログを用いた分析の結果,「反復」と「インクリメント・デクリメント」の読解における高い困難度が示唆された.「反復」の困難度については,先行研究の指摘を支持するものであり,従来定性的な観点でのみ議論されてきた困難度を定量的な観点から裏付けた点で意義のある成果である.

現在までの達成度 (区分)
現在までの達成度 (区分)

2: おおむね順調に進展している

理由

まず,ソースコード読解学習システムのユーザインタフェース,ユーザエクスペリエンスの見直しを行った.従来システムの中でPHPのみを用いて外観を構築していた点について,JavaScriptを活用して非同期的な画面更新を可能とした.また,レスポンシブデザインを導入し,スマートフォンなど携帯端末に最適化されたユーザインタフェースを提供できるようにした.その他として,基本機能の見直し,機能の拡張を計画通りに進めた.特に今回重要となった見直しは,多様な学習を実現するためにデータベース構造を一から見直したことである.従来は読解教材を提示して,実行後のある変数の値を答えるのみの学習しかできなった.今回の機能拡張により,「ある変数の値がxである時の別の変数の値を答えなさい」といった形式や,「入出力の変数セットと一部欠落したソースコードが与えられた時,欠落部分に入る適切な命令を答えなさい」といった形式の問題を可能とした.以上に加えて,学習の狙いに応じて教材を自動生成する機能の洗練化を行った.これは,データ依存関係を意識した読解能力を身に付けるという意図で学習を実践する際,データ依存関係を入力データとして,ソースコードを自動生成する機能である.従来はデータ依存関係を入力する際に隣接行列を手動で生成する必要があったが,今回はWeb上でネットワーク図を編集することでデータ依存関係を定義できるようにした.以上により教員の作業負担の軽減を実現させた.この拡張システムを利用して実験を行った.データ依存関係を意識させることで認知資源をソースコード内の本質的箇所に集中できるようになること,それにより,ソースコード読解速度の向上やミスの減少に繋がるという仮説を得た.実験と共に,コード記述の知識量(困難度)を潜在ランク理論により段階的に定量化した.

今後の研究の推進方策

教材の困難度は,プログラム行数の程度x1,変数の数の程度x2,プログラム構造の形状に直接的に関係するデータ・制御の依存関係の数の程度x3,知識の程度x4の4つの要素の組合せ(x1×x2×x3×x4通り)から構成されるものと仮定する.よって,潜在ランク理論適用後,x4の推定を試みる.知識とは,制御・依存関係といった構造の観点では同一であるが,記述方法が異なる場合,知識が存在していると考える.C言語の「加算代入」や「3項以上の演算」を例にあげると,変数aにbとcの変数の値を加算する「a=a+b; a=a+c;」という記述は,「a=a+b+c;」と書いても良く,また「a+=b+c;」や「a+=b; a+=c;」といった書き方も可能である.この知識単位を決定するために,潜在ランク理論で推定された各グレートの項目に対して多変量解析法やベイジアンネットワークなどを適用する.説明変数は各教材の生成条件であり,インクリメントや複合代入演算,if文の複合条件,breakやcontinueの繰り返し制御,などが該当する.この分析により,記述単位と知識量(読解に必要となる技能)を明確にする.ここで得られた知識単位と知識量から,学力進度表を構築する.学力進度表の各行はプログラム記述の知識とし,ランクは,プログラム知識の高度さ(困難さ)を意味する構造とする.加えて,学習者の技量に応じて適切な難易度で記述されたプログラム読解学習教材を提示可能な学習者適応の機能を開発する.すなわち,学習者の理解度に応じた適切な問題提示機能である.AtcoderやAizu Online Judgeなどオンラインで公開されているソースコードを取得し,データ・制御依存関係を抽出して,知識量を推定することも有用であると考えられる.知識量に応じた教材の自動的再構成機能についても検討し,適応学習システム実現に向けて足掛かりとする.

次年度使用額が生じた理由

(理由)国際会議に研究代表者及び研究分担者は共に参加予定であったが,学内業務の関係で参加できなくなったため,論文投稿を見送ることになった.その結果として,旅費,学会参加費が不使用となり,残額が生じた.また,現在論文投稿を行っており,平成30年度中に採択の可否を受け取る予定であった.採択されることを想定し論文投稿料及び別刷り費用を予定していたが,査読が延び採択結果を受け取っていないため,残額が生じた.

(使用計画)使用計画として,投稿中論文が採択された場合の論文投稿料及び別刷り費用として,また,従来の学会参加予定に加えて,国際会議に追加で参加することを検討し,そのための旅費及び参加費に充てる予定である.加えて,実講義での適用実験のために,残額を利用して複数の機材を購入することや,講義補佐のアルバイト代として使用することを検討する.

  • 研究成果

    (32件)

すべて 2019 2018

すべて 雑誌論文 (10件) (うち査読あり 10件) 学会発表 (22件)

  • [雑誌論文] Factor Analysis to Examine the Effect and Expectation of Reading Simple Source Codes for Improving Programming Skill2019

    • 著者名/発表者名
      Shimpei Matsumoto, Tomoko Kashima, Shuichi Yamagishi
    • 雑誌名

      IIAI International Journal Series, International Institute of Applied Informatics

      巻: 印刷中 ページ: 印刷中

    • 査読あり
  • [雑誌論文] A basic analysis on toggle function for improving the learning effectiveness of card operation-based programming learning support system2019

    • 著者名/発表者名
      Shoko Morinaga, Shimpei Matsumoto, Yusuke Hayashi, Tsukasa Hirashima
    • 雑誌名

      Proceedings of The Twenty-Fourth International Symposium on Artificial Life and Robotics 2019

      巻: 1 ページ: pp.126-129

    • 査読あり
  • [雑誌論文] Examining Presentation Method of Question's Requirement for Game Development-Based Programming Learning Support System2019

    • 著者名/発表者名
      Tomoya Iwamoto, Shimpei Matsumoto, Yusuke Hayashi, Tsukasa Hirashima
    • 雑誌名

      Proceedings of The Twenty-Fourth International Symposium on Artificial Life and Robotics 2019

      巻: 1 ページ: pp.130-133

    • 査読あり
  • [雑誌論文] A Basis Analysis on Novice Programmers with a Server-Client System for Learning C Programming Language2019

    • 著者名/発表者名
      Masanori Oshita, Kosuke Kaida, Shimpei Matsumoto
    • 雑誌名

      Proceedings of The Twenty-Fourth International Symposium on Artificial Life and Robotics 2019

      巻: 1 ページ: pp.134-137

    • 査読あり
  • [雑誌論文] Analyzing Reading Pattern of Simple C Source Code Consisting of Only Assignment and Arithmetic Operations Based on Data Dependency Relationship by Using Eye Movement2018

    • 著者名/発表者名
      Shimpei Matsumoto, Ryo Hanafusa, Yusuke Hayashi, and Tsukasa Hirashima
    • 雑誌名

      Human Interface and the Management of Information. Interaction, Visualization, and Analytics, Springer

      巻: LNCS 10904 ページ: pp.545-561

    • 査読あり
  • [雑誌論文] 部分間の関係を考えることに焦点を当てたカード操作によるプログラミング学習システムの開発2018

    • 著者名/発表者名
      松本慎平, 林雄介, 平嶋宗
    • 雑誌名

      電気学会論文誌C(電子・情報・システム部門誌)

      巻: 138 ページ: pp.999-1010

    • 査読あり
  • [雑誌論文] 視線運動を用いたプログラム読解パターンのデータ依存関係に基づく分析-代入演算と算術演算で構成されるプログラムを対象として-2018

    • 著者名/発表者名
      花房亮, 松本慎平, 林雄介, 平嶋宗
    • 雑誌名

      教育システム情報学会誌

      巻: Vol.35, No.2 ページ: pp.192-203

    • DOI

      https://doi.org/10.14926/jsise.35.192

    • 査読あり
  • [雑誌論文] A Study on Programming Learning Method to Reduce Non-Essential Cognitive Load2018

    • 著者名/発表者名
      Shoko Morinaga, Shimpei Matsumoto, Yusuke Hayashi, Tsukasa Hirashima
    • 雑誌名

      Proceedings of International Scientific Conference on Engineering and Applied Sciences

      巻: 1 ページ: pp.414-423

    • 査読あり
  • [雑誌論文] Proposal of a Card Operation-Based Programming Learning System with the Concept of Game Programming2018

    • 著者名/発表者名
      Tomoya Iwamoto, Shimpei Matsumoto, Yusuke Hayashi, Tsukasa Hirashima
    • 雑誌名

      Proceedings of International Scientific Conference on Engineering and Applied Sciences

      巻: 1 ページ: pp.387-398

    • 査読あり
  • [雑誌論文] Developing a Web-Based Programming Editor for Novice Learner2018

    • 著者名/発表者名
      Masanori Oshita, Kosuke Kaida, Shimpei Matsumoto
    • 雑誌名

      Proceedings of International Scientific Conference on Engineering and Applied Sciences

      巻: 1 ページ: pp.399-410

    • 査読あり
  • [学会発表] C言語学習用サーバクライアントシステムの開発とそのラーニングアナリティクスに向けた可能性検証2018

    • 著者名/発表者名
      大下昌紀
    • 学会等名
      第20回 IEEE Hiroshima Student Symposium
  • [学会発表] ゲーム開発を題材としたプログラミング学習支援システムの問題要件提示法の検討2018

    • 著者名/発表者名
      岩本朋也
    • 学会等名
      第20回 IEEE Hiroshima Student Symposium
  • [学会発表] カード操作方式によるプログラミング学習システムにおける誤り選択肢増加に伴う負の影響抑制に対するトグル機能の効果2018

    • 著者名/発表者名
      森永笑子
    • 学会等名
      第20回 IEEE Hiroshima Student Symposium
  • [学会発表] カード操作方式によるプログラミング学習システムの学習過程を分析するための基礎的手法の提案2018

    • 著者名/発表者名
      村上瑠香
    • 学会等名
      教育システム情報学会2018年度学生研究会発表会
  • [学会発表] 初学者向けプログラミング学習システムにおける学習者支援機能の検討2018

    • 著者名/発表者名
      買田康介
    • 学会等名
      教育システム情報学会2018年度学生研究会発表会
  • [学会発表] ソースコード読解におけるチャンク方略に関する基礎研究2018

    • 著者名/発表者名
      倉本隼
    • 学会等名
      日本経営システム学会イノベーション指向データ分析研究部会2018年度第3回研究会
  • [学会発表] トグルを用いたカード操作方式によるプログラミング学習システムの学習効果及び認知負荷の基礎分析2018

    • 著者名/発表者名
      作田康陽
    • 学会等名
      日本経営システム学会イノベーション指向データ分析研究部会2018年度第3回研究会
  • [学会発表] 初学者向けプログラミング学習システムのための支援機能の検討2018

    • 著者名/発表者名
      小田樹
    • 学会等名
      日本経営システム学会イノベーション指向データ分析研究部会2018年度第3回研究会
  • [学会発表] 物理課題を題材としたインタラクティブなプログラミング学習システムの開発2018

    • 著者名/発表者名
      岩本朋也
    • 学会等名
      平成30年度(第69回)電気・情報関連学会中国支部連合大会
  • [学会発表] カード操作方式によるプログラミング学習システムのフィードバック機能の認知負荷抑制への効果2018

    • 著者名/発表者名
      森永笑子
    • 学会等名
      平成30年度(第69回)電気・情報関連学会中国支部連合大会
  • [学会発表] 初学者向けC言語プログラミング環境の開発2018

    • 著者名/発表者名
      大下昌紀
    • 学会等名
      平成30年度(第69回)電気・情報関連学会中国支部連合大会
  • [学会発表] カード操作によるプログラミング学習支援システムのフィードバック機能の実装及び評価2018

    • 著者名/発表者名
      松本慎平
    • 学会等名
      第43回教育システム情報学会全国大会
  • [学会発表] 初学者向けC言語プログラミング教育のための開発環境の構築と基礎的な分析機能の実装2018

    • 著者名/発表者名
      松本慎平
    • 学会等名
      第43回教育システム情報学会全国大会
  • [学会発表] 物理課題を題材としたカード操作によるプログラミング学習支援システム2018

    • 著者名/発表者名
      松本慎平
    • 学会等名
      平成30年 電気学会 電子・情報・システム部門大会
  • [学会発表] カード操作方式によるプログラミング学習システムのトグル機能の実装及び評価2018

    • 著者名/発表者名
      森永笑子
    • 学会等名
      2018 IEEE SMC Hiroshima Chapter 若手研究会
  • [学会発表] ゲーム開発を題材としたプログラミング学習支援システムの模範動作提示の効果2018

    • 著者名/発表者名
      岩本朋也
    • 学会等名
      2018 IEEE SMC Hiroshima Chapter 若手研究会
  • [学会発表] C言語プログラミング学習環境の構築とそれを用いた特徴的記述パターンの調査2018

    • 著者名/発表者名
      大下昌紀
    • 学会等名
      2018 IEEE SMC Hiroshima Chapter 若手研究会
  • [学会発表] プログラム読解学習の狙い及びその効果について~基本的なデータ依存グラフを把握するスキルの養成に向けて~2018

    • 著者名/発表者名
      松本慎平
    • 学会等名
      一般社団法人教育システム情報学会中国支部研究発表会
  • [学会発表] カード操作方式によるプログラミング学習支援システムでの学習過程の可視化方法の提案2018

    • 著者名/発表者名
      松本慎平
    • 学会等名
      人工知能学会 第79回先進的学習科学と工学研究会
  • [学会発表] 物理課題を題材としたカード操作によるプログラミング学習支援システムのコーディング方式の評価2018

    • 著者名/発表者名
      松本慎平
    • 学会等名
      電気学会第76回情報システム研究会
  • [学会発表] 基本的なデータ依存構造を意識したソースコード読解の効果とそれを支援するためのプログラミング学習用システム2018

    • 著者名/発表者名
      松本慎平
    • 学会等名
      電気学会第75回情報システム研究会
  • [学会発表] プログラミング教育におけるラーニングアナリティクスのための情報システム2018

    • 著者名/発表者名
      松本慎平
    • 学会等名
      電気学会第74回情報システム研究会

URL: 

公開日: 2019-12-27  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi