2020 Fiscal Year Research-status Report
Developing an interaction function with compilers for card operation-based programming learning system
Project/Area Number |
19K02987
|
Research Institution | Hiroshima Institute of Technology |
Principal Investigator |
松本 慎平 広島工業大学, 情報学部, 准教授 (30455183)
|
Co-Investigator(Kenkyū-buntansha) |
加島 智子 近畿大学, 工学部, 講師 (30581219)
|
Project Period (FY) |
2019-04-01 – 2022-03-31
|
Keywords | カード操作方式 / 対話機能 / プログラミング / 分節化 |
Outline of Annual Research Achievements |
分節化された意味のある部分の再構成を通じた部分間の関係を思考する学習に焦点を当て設計されたプログラミング学習において,外在的な非本質的認知負荷の影響をできる限り抑制するため,カード操作方式によるプログラミング学習支援システム(以降,従来システム)が開発されている.従来システムでは,正誤判定はカード順列のマッチングのみで行われていた.そのため,実際のコーディング演習のように,命令の並びに応じて実行結果をフィードバックとして返すことができない.高度なアルゴリズムの理解の深化に重要となる対話的な探索的思考課題を実現するためには,カードの並びに応じて実行結果を返答できるようにすること,加えて自学自習を促すために実行結果を足場かけの機会として活用可能な教材開発が必要であると考えられる.以上の背景を踏まえ,令和元年度においては,従来システムに対して,カードの並びに応じて実行結果を返答可能なフィードバック機能の実装を行った.令和2年度においては,令和元年度に行った機能のバグ修復や,処理負荷を低減するためのアルゴリズムの見直し,ユーザインタフェースの改善を行った.その結果,学習者に対してより学びやすい環境を提供できるようになった.令和2年度ではさらに,コンソールボックスをユーザインタフェースに追加し,ユーザが問題に対して入力値を渡せるようにした.以上によって,実際のプログラミングで行われる環境と限りなく近い形で,コンパイラと対話しながら探索的にプログラムを開発することが可能となった.この機能により,従来のプログラミングにおける活動と同様の学習効果が期待できるようになった.
|
Current Status of Research Progress |
Current Status of Research Progress
4: Progress in research has been delayed.
Reason
新型コロナウイルス感染症拡大の対応に追われ,当初想定していたような開発を進めることはできなかった.大規模な実践利用や大掛かりな開発は困難であった.したがって,令和2年度においては,令和元年度に行った機能のバグ修復や,処理負荷を低減するためのアルゴリズムの見直し,ユーザインタフェースの改善に徹した.まずバグ修復については,プログラムを実行するためのサーバプログラム(ソースコードコンパイル実行を担い多言語実行に対応したRESTful APIサービスを提供するシステム,以降バックエンドシステム)と,プログラムの組み立てサービスを提供するフロントエンドシステムとの間の通信がうまく行われないケースが多々見られたため,その問題の改善を行った.同時に,JSONによる通信規約を見直した.さらに,プロセス数やメモリなどのリソース制限を設定し,悪意のある実行や高負荷な処理を検知できるようにした.フロントエンドとバックエンドシステムの連携については,フロントエンドから送信されたソースコードをLXD APIを通してLXCに転送し,コンパイル及び実行を行う方式とした.処理負荷を低減するためのアルゴリズム見直しについては,プログラムの実行を行ってから実行結果を表示するまでの時間間隔の短縮に取り組んだ.最後に,カード組み立て画面のユーザインタフェースの見直しを行った.この作業に関連して,コンソールボックスをプログラム組み立て用の画面に追加し,ユーザがプログラムを実行する際に入力値を渡せるようにした.以上によって,学習者に対してより学びやすい環境を提供できるようになった.なお,令和2年度に開発したシステムを用いて,試験的に実践利用を行った.そして,この実践利用で得たログデータを用いてラーニングアナリティクスを行う方法を検討した.
|
Strategy for Future Research Activity |
提案システムを用いて更なる学習支援を実現するため,学習ログ分析アルゴリズムの開発を行う.カード操作方式に基づいたプログラミング学習システムを対象に,村上らはレーベンシュタイン距離の考え方を参考にして学習者の回答欄に並べられたカード順列を定量化する方法を提案した.Morinagaらは,基本システムの実践利用を通じて得られた学習ログを村上らの手法で処理し,多変量解析可能な形式に変換する方法を提案した.令和3年度においては,カード操作回数に着眼しその回数とプログラミングの理解度との関係を調査する.先行研究においては,プログラミングを理解できている群(中央値より上位)は下位群よりもカード操作回数が統計的に有意に少ないことが示唆された.そこで,この傾向の一般性の有無を調査するため,先の分析とは異なった学習ログデータに対して先行研究と同様の分析手法を適用し,先行研究で得られた知見が追認されるかどうかに取り組む.その他,提案システムを用いたSIEM理論による足場かけの効果を検証する.「実行結果を利用したSIEM理論に基づいた足場かけは学習者のモチベーションを高めることに役立つかどうか」を明らかにする.教授者が用意したソースコードから,カード群及びダミーカードの自動生成処理を実装する.一部の命令に含まれる変数,算術・比較演算子の置換からダミーカードを生成し,ダミーカードの数だけ一意に判別可能な「ステップ」を提示すれば,足場かけを実践できる.また,提案システムを用いて段階的学習の実践を行う.教授者が予め設定したチャンク単位でカード分割を自動で行うこととする.上位関係の学習の場合は,カードごとに複数の命令を持ち,処理レベルでの下位関係の学習の場合は,カードは処理自体を表す.以上により「カード操作方式により段階的学習の実践は有効かどうか」を明らかにする
|
Causes of Carryover |
複数の研究会や学会全国大会に参加予定であったが,新型コロナウイルス感染症拡大の影響を受け,全て参加を見合わせることになった.その結果,旅費,学会参加費が不使用となり,残額が生じた.また,新型コロナウイルス感染症拡大の影響で学生の来学が難しくなり,予定していたシステム開発や実験を行うことができなかった.これにより,物品費,人件費の執行もできなかった. (使用計画)論文投稿を既に数件進めており,論文投稿料として使用する計画を立てている.加えて,実講義での適用実験のために,残額を利用して複数の開発用計算機を購入することや,講義補佐の人件費として使用することを検討する.さらに,予算の余裕を活用し,システム開発の外注を行う予定である.
|