2019 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 | プログラミング / C言語 / 学習支援 / カード操作方式 |
Outline of Annual Research Achievements |
高度な認知能力が求められるプログラミング学習を効果的に支援するためには,プログラミングに要求される多様な技術要素を細分化し,認知資源を本質的学習に容易に配分可能にすること,それを踏まえ,オープンエンドに意味を持たせた個々の学習課題で全体の学習を構成することが効果的だと考えられている.このような背景のもと,分節化された意味のある部分の再構成を通じ部分間の関係を思考する学習に焦点を当て設計されたプログラミング学習において,外在的な非本質的認知負荷の影響をできる限り抑制するため,カード操作方式によるプログラミング学習支援システム(以降,従来システム)が開発されている.従来システムでは,正誤判定はカード順列のマッチングのみで行われていた.そのため,実際のコーディング演習のように,命令の並びに応じて実行結果をフィードバックとして返すことができない.高度なアルゴリズムの理解の深化に重要となる対話的な探索的思考課題を実現するためには,カードの並びに応じて実行結果を返答できるようにすること,加えて自学自習を促すために実行結果を足場かけの機会として活用可能な教材開発が必要であると考えられる.そこで,従来システムに対して,カードの並びに応じて実行結果を返答可能なフィードバック機能の実装を行った.その結果,実際のプログラミングで行われる学習活動と同様に,コンパイラと対話しながら探索的にプログラムを開発することが可能となった.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
従来システムに対して,カードの並びに応じて実行結果を返答可能なフィードバック機能の開発に注力し,その実装を達成した.具体的には,学習者が組み立てたコードをJSON形式に変換した後,独自で開発したC言語コンパイル用のRESTfulAPIサービスを通してgccで実行し,実行結果を画面に表示する機能を従来システムに実装した.従来システムをフロントエンドとし,バックエンドにソースコードコンパイル実行を担い多言語実行に対応したRESTful APIサービスを構築し,JSONによる通信規約を定めることで技術課題解決を試みた.バックエンドサービスとして,コンテナ型仮想化の中でもスケーラブルであり,加えて,オーバーヘッドが少ないLinux Containers (LXC)を採用した.LXCに各種コンパイラを導入することで,多言語対応にも容易に可能となった.プロセス数やメモリなどのリソース制限を設定し,悪意のある実行や高負荷な処理を検知した.フロントエンドから送信されたソースコードをLXD APIを通してLXCに転送しコンパイル及び実行を行い,その結果をレスポンスとしてフロントシステムに返し最新の情報を動的に表示できるようにシステムを拡張した.
|
Strategy for Future Research Activity |
本年度に得られたシステムを用いてその有用性を評価するための実験を行う.カードの並びに応じて実行結果を返答可能なフィードバック機能がある場合,ない場合とで学習効果および認知負荷を計測する.次に,フィードバック機能を活用した学習法,すなわち従来システムにおいてフィードバック機能があるからこそ実現可能な学習を実践する.その学習として,プログラムの実行結果を足場かけの機会として利用できるようにした支援法の有用性を検証する.具体的には,コンパイラの実行結果をフィードバックとして活用したスモールステップによる学習の有用性を検証する.スモールステップとは,最初から高い目標を掲げるのではなく,目標を細分化し小さな目標を達成する体験を重ねながら最終目標に誘導する教授法である.土肥らはARCSモデルに基づき,スモールステップと即時フィードバックは学習意欲を高めるために重要であるとした.このことを踏まえ,比較的難易度の高い課題の学習の容易性を少しでも高められるようフィードバックを行い,それによりスモールステップでの学習を支援する.スモールステップで実現するため,まず,複数レベルの入出力目標を学習者に提示し,最も低レベルの入出力を実現できるよう全体の中から一部のカードのみを設置することを学習者に指示する.低レベルの目標を達成できれば,次の段階のレベルの入出力の達成を目標として学習を進めるように指示する.このサイクルを繰り返しながら学習する方法と,そうでない方法との学習効果,学習時間,認知負荷の比較を行う.このような形で足場かけを行うことにより,学習者は自身の活動の適切さを意識しながら正解に近付いていることを常に把握でき,同時に,次に目指すべき目標をイメージできるようになると考えられる.この学習に必要になると考えられる「ユーザからのデータ入力機能」の開発も目標とする.
|
Causes of Carryover |
(理由)研究代表者は2月から3月にかけて複数の研究会や学会全国大会に参加予定であったが,新型コロナの影響で全て参加を見合わせることになった.その結果,旅費,学会参加費が不使用となり,残額が生じた. (使用計画)国際会議に追加で参加することを検討し,旅費と学会参加費に充てる予定である.また,論文投稿を既に1件進めており,論文投稿料としても使用する計画を立てている.加えて,実講義での適用実験のために,残額を利用して複数の開発用計算機を購入することや,講義補佐のアルバイト代として使用することを検討する.
|
Research Products
(29 results)