• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2016 Fiscal Year Research-status Report

プログラミング学習環境のスマートデバイス対応の研究

Research Project

Project/Area Number 15K01075
Research InstitutionKagawa University

Principal Investigator

香川 考司  香川大学, 工学部, 准教授 (50284344)

Project Period (FY) 2015-04-01 – 2019-03-31
Keywordse-ラーニング / Webアプリケーション / プログラミング
Outline of Annual Research Achievements

プログラミング言語処理系やコンパイルされたプログラムをサーバー側で実行するための環境として、Docker (https://www.docker.com/) を利用するWebアプリケーションプログラムWappenLiteDockerを開発した。このシステムはdockerコマンド起動のオーバーヘッドを避けるため、Docker APIを利用しており、ファイルの送受信やWebSocketによる対話的なプログラムの実行にも対応している。
また、Webベースプログラミング学習環境をスマートデバイスに対応させるためのクライアント側のエディターとしてBlockly (https://developers.google.com/blockly/) を採用し、C言語や小さい画面に対応させるためのカスタム化されたブロックの開発を行った。
受講者が提出したソースプログラムに注釈するシステムとしてEclipse CDTのパーサーを利用するC-Helper (https://github.com/uchan-nos/c-helper) をWebベースに対応させ、さらにこれを元にして教師やTA (teaching assistant) がスマートデバイスからコメントを入力するためのシステムのプロトタイプを実装した。
さらにEmscripten (emscripten) やHaste (https://haste-lang.org/) などのJavaScript関連のツールを利用し、CPUスケジューリングアルゴリズムやポインター演算・再帰下降構文解析などの計算機科学のトピックスの可視化システムを開発した。

Current Status of Research Progress
Current Status of Research Progress

3: Progress in research has been slightly delayed.

Reason

現時点では、コンパイルされたプログラムをサーバー側で安定して実行させるためのプログラムの無限ループ対策やタイムアウト対策はWappenLiteDockerに実装されていない。また悪意のある利用者に対するセキュリティー対策も十分ではない。

Blocklyは、カスタムブロックを用意するだけではなく、プログラムのソースコードからカスタムブロックを自動生成する機能が必要であり、実装に着手している。また、ブロック型のプログラミング環境はカスタムブロックを開発するだけでは画面の小さい端末で使いやすいとは言えず、UIにさらなる工夫が必要である。

教師やTAがコメントを入力するためのシステムのプロトタイプは、サーバー側で動作するEclipse CDTのパーサーの解析結果をブラウザー側に送っているが、その情報を使ったタブレットで有効な入力方法は未実装である。

Strategy for Future Research Activity

セキュリティー対策やタイムアウト対策を実装して、DockerやJava仮想機械を用いてプログラムをサーバー側で実行できる環境を実用レベルに引き上げる必要がある。

Blocklyを利用したシステムでは、これまで構文解析のための基盤としてEmscripten上のC言語 (+ Bison/Flex) を想定していた。しかし、構文木の処理にはHaskell言語で記述したプログラムをHasteを用いてJavaScriptに変換するほうが扱いやすいとわかってきたため、構文解析部をHaskellを用いて実装する。また教師・TA用コメント入力システムもサーバー側で動作するCDTパーサーをHasteで生成されたクライアント側で動作するパーサーに置き換えられないか検討する必要がある。

Causes of Carryover

国内旅費の回数が当初の予定より少なく、旅費の使用が予定より少なかった。海外旅費も予定より少ない金額で済んだ。
現時点では、平成27年度に購入したWindowsタブレットで動作テストを行っており、iOSタブレットやAndroidタブレットが必要な状況に至らなかったため購入を遅らせている。

Expenditure Plan for Carryover Budget

iOSとAndroidタブレットを合わせて小さめの画面のスマートデバイスを平成29年度に購入する予定である。これらの数量によっては、ノートPCと同時に持ち運べてサーバーとして利用できるSmall Form Factor PCの購入を検討する。

  • Research Products

    (5 results)

All 2016 Other

All Presentation (4 results) (of which Int'l Joint Research: 2 results) Remarks (1 results)

  • [Presentation] Design and Implementation of a Scheduling Algorithms Visualizer using JavaScript2016

    • Author(s)
      Kyohei Nishiyama, Koji Kagawa, Yoshiro Imai
    • Organizer
      The Second International Conference on Electronics and Software Science (ICESS2016)
    • Place of Presentation
      Takamatsu, Japan
    • Year and Date
      2016-11-14 – 2016-11-16
    • Int'l Joint Research
  • [Presentation] Webベースグラフィカルプログラミングエディタを用いたC言語学習支援環境への問題提示機能の実装2016

    • Author(s)
      山形 悠人・香川 考司
    • Organizer
      教育システム情報学会第41回全国大会
    • Place of Presentation
      帝京大学 宇都宮キャンパス
    • Year and Date
      2016-08-29 – 2016-08-30
  • [Presentation] E-Learning system for scheduling algorithms visualization in JavaScript2016

    • Author(s)
      Kyohei Nishiyama, Koji Kagawa, Yoshiro Imai
    • Organizer
      第6回香川大学・チェンマイ大学合同シンポジウム2016
    • Place of Presentation
      香川大学 幸町キャンパス
    • Year and Date
      2016-08-27 – 2016-08-30
  • [Presentation] A Scheduling Algorithms Visualizer using JavaScript2016

    • Author(s)
      Kyohei Nishiyama, Koji Kagawa, Yoshiro Imai
    • Organizer
      World Conference on Educational Media & Technology (ED-Media 2016)
    • Place of Presentation
      Vancouver, Canada
    • Year and Date
      2016-06-28 – 2016-06-30
    • Int'l Joint Research
  • [Remarks] WappenLite

    • URL

      http://guppy.eng.kagawa-u.ac.jp/WappenLite/

URL: 

Published: 2018-01-16  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi