2021 Fiscal Year Research-status Report
Development of a Source Code Reading Learning System to Acquire Chunking Skills
Project/Area Number |
20K03194
|
Research Institution | Hiroshima Institute of Technology |
Principal Investigator |
山岸 秀一 広島工業大学, 情報学部, 教授 (10609902)
|
Co-Investigator(Kenkyū-buntansha) |
松本 慎平 広島工業大学, 情報学部, 教授 (30455183)
加島 智子 近畿大学, 工学部, 講師 (30581219)
|
Project Period (FY) |
2020-04-01 – 2023-03-31
|
Keywords | プログラミング / ソースコード読解学習 / チャンキング |
Outline of Annual Research Achievements |
令和3年度の課題は,学術的問である「チャンク単位でのコード読解の技能は有用である」ことの確認と,技術課題として,ハイライト表示と注目させたいチャンキング箇所以外の部分を非表示とする2方式のシステム開発である.チャンク単位でのコード読解技能を習得するための学習支援システムはGoogle Code Prettifyを用いて開発し,これを提案システムとした.提案システムは,コードをチャンク単位で区切り,学習者に現在学習者が読解すべきチャンクを順にひとつずつ表示する.チャンクを順に表示する機能については,学習者が次へボタンを押すことで次のチャンクを表示し,かつ,現在表示されていたチャンクを非表示にする.チャンク単位は教授者により決定される.Wangらによると,教授者が与えた空白行によるコードのセグメンテーションは模範と位置付けられている.よって,Wangらの主張に倣い機能を設計した.なお,読み込んだライブラリとmain関数の開始・終了のカーリーブラケットは常時表示するようにしている.読解対象個所とmain関数との関係を把握できるようにすることで,非表示に起因する負担を抑制できるよう配慮する.従来手法を用いたシステムは,学習者が着目(選択)する任意の一行に対し,依存関係のある個所(行)をハイライト表示する.依存関係のある命令とは,入力に依存せず静的スライシングで依存関係がみられた全ての命令を意味する.提案システムはHTML5に準拠したWebブラウザで動作する.学習環境をブラウザ上にすることで,学習者に環境構築の負担の軽減を狙いとしている.学習者は,着目すべきチャンク単位を前後させるための二つボタン操作のみ可能である.提案システムは読解技能の学習を支援するものであるため,学習者をコードの読解に集中させ,課題外在性認知負荷の発生を可能な限り軽減するため簡素なデザインと仕様にしている.
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
新型コロナウイルス感染症拡大の対応に追われたこと,新型コロナウイルス感染症拡大の影響を受け研究室を閉鎖していた期間があったことから,当初想定していたようなスケジュールで開発を進めることはできなかった.そこで,令和3年度においては,システム開発と並行させながら,読解学習におけるリファクタリングされた課題の利用可能性について調査を行った.これまで,大学など教育現場においては,リファクタリングの原則を十分に教授できていない.その理由としていくつかの要因が考えられる.ひとつは,時間的制約上,リファクタリング原則を教授する段階まで到達できない点である.つぎに,リファクタリング技法を適用したソースコードは高度な読解力が必要だと考えられているため,学習教材として不適切だと見なされている点である.事実,javaなどオブジェクト指向の基礎を学ぶ講義の中では,できる限りメソッド分割を行わないソースコードが教材の中で用いられている.これは,学習者に余計な負荷をかけないように配慮された結果である.一方,このような配慮は,ソースコードの設計論やデザインパターンに意識を向ける機会を奪っていることも事実である.この点について,メソッドに関して,学習者が許容可能な水準まで設計(分割)可能ならば,そのようなソースコードを教材に採用することは理想的だといえる.そこで,リファクタリング原則の中からメソッド分割に着目し,メトリクスや認知負荷の観点から,プログラミング学習中に教材として適切だと考えられる論理的構造の水準,その構造のチャンク単位との関連性について分析を行った.
|
Strategy for Future Research Activity |
事前に用意されたコードを読解学習する際,提案方式とハイライト方式で学習効果の比較実験を行い,提案法の有用性を確かめる.提案法を用いたシステムは,コードをチャンク単位で区切り,学習者に現在学習者が読解すべきチャンクを順にひとつずつ表示する.チャンクを順に表示する機能については,学習者が次へボタンを押すことで次のチャンクを表示し,かつ,現在表示されていたチャンクを非表示にする.これは,表示される情報量を必要最低限にする仕組みである.本研究では,情報学を専攻し中級に差し掛かる段階のプログラミング学習者20名を被験者に採用する予定である.C言語で書かれたソースコードの読解力を問う事前試験の点数と読解時間に基づき,1点あたりの秒数を「効率性」と定義し,その値が均一になるよう被験者を実験群と統制群に分け,統制群が従来のハイライト表示方式,実験群が提案手法を用いて本システムを利用した学習を行い,それぞれの方式で学習を被験者に行ってもらう.学習後,効率性の観点で学習効果を評価する.試験については,コードを読解し,ある入力が与えられた時のある変数の値を問う形式とする.そして,両者の結果を比較することで,提案法の有用性を明らかにする.読解速度の計測のため,それぞれの問いに対して被験者の解答時間を計測する.本研究では,内容理解に対する読解速度を計測するため,コードを読解し,それに対応した解答を行うまでの時間を計測する.試験終了後にアンケートを行う.アンケートは,提案手法の有用性を問う項目,提案システムの有用性を問う項目,認知負荷を問う項目を予定している.提案システムの有用性を問う項目については,富士通のウェブユーザビリティ評価スケールを利用する予定である.
|
Causes of Carryover |
複数の研究会や学会全国大会に参加予定であったが,新型コロナウイルス感染症拡大の影響を受け,全て参加を見合わせることになった.その結果,旅費,学会参加費が不使用となり,残額が生じた.また,新型コロナウイルス感染症拡大の影響で学生の来学が難しくなり,予定していたシステム開発や実験を行うことができなかった.これにより,物品費,人件費の執行もできなかった.
(使用計画)論文投稿を既に数件進めており,論文投稿料として使用する計画を立てている.加えて,実講義での適用実験のために,残額を利用して複数の開発用計算機を購入することや,実践利用の際の補佐の人件費として使用することを検討する.さらに,予算の余裕を活用し,システム開発の外注を行う予定である.
|