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

2017 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

昨年度開発したWappenLiteDocker(Dockerを利用してプログラミング言語処理系やコンパイルされたプログラムを実行するためのWebアプリケーションプログラム)に、起動するイメージを指定したものに制限する・WappenLiteDockerから起動されたコンテナ―に対してのみコマンドを送れるようにするなど、サーバー側で学習者のプログラムを実行するためのいくつかのセキュリティー対策の改良を行った。
以前より開発しているWappenLite(JVMを利用してプログラミング言語処理系やコンパイルされたプログラムを実行するためのWebアプリケーションプログラム)にもタイムアウト処理など、サーバー側で学習者のプログラムを実行するための機能を追加した。
Blockly(ブロック方式のビジュアルプログラミングエディター)を利用したユーザーインターフェイスは、これまで構文解析のための基盤としてEmscripten上のC言語 (+ Bison/Flex) を利用していた。しかし、構文木の処理はHaskell言語で記述するほうが強力であるため、CのソースコードからBlocklyコードを生成するプログラムをHaskellで実装した。これにより、ソースコードで使われているパターンに応じてカスタム化されたブロックを利用できるようになった。
教師やTAがタブレットなどからソースコードにコメントを入力するためのシステムとして、サーバー側で動作するEclipse CDTのパーサーの解析結果をブラウザー側に送って、入力を支援するために利用するシステムを実装した。
Docker, JVM以外のプログラム実行方式の選択肢として、Haste, Emscripten, Clojureなど、ソースコードをJavaScriptに変換して実行する処理系を利用するWebアプリケーションを実装した。

Current Status of Research Progress
Current Status of Research Progress

3: Progress in research has been slightly delayed.

Reason

昨年度に遅れていた部分(サーバー側で学習者のプログラムを実行するための対策・Blocklyのカスタムブロックの生成・構文解析の結果を利用して教師とTAのコメントの入力を支援するためのシステム)に対しては、それぞれ実装を進めている。しかし、遅れを完全に取り戻すことはできず、対象としているトピックの授業時期に間に合わなかったため、実運用してテストするには至らなかった。
Blocklyのカスタムブロックの生成プログラムについては当初はHaste(HaskellをJavaScriptに変換するコンパイラー)を利用してCソースコードの構文解析部を実装する予定があったが、生成されるJavaScript のコードのサイズがWebアプリケーションとしては大き過ぎることがわかったため断念した。現在は構文解析部はWebサーバー側で動いている。

Strategy for Future Research Activity

本研究の各サブシステムについては、実際に運用が可能な程度までほぼ実装が進んでいると考えている。そのため、コンテンツを用意して実際の授業で使用し、そのフィードバックを踏まえて改良を進める。授業としては学部・大学院で担当しているものほか、教員免許状更新講習・放送大学の面接授業でも一部を使用する予定である。
Blocklyのための構文解析部については、対象とするC言語の構文を学習用に使われるサブセットに限定すること、あるいはJavaScriptで記述されたParser (node.c.parser) などを利用することなどで、ブラウザー上で構文解析部を動作させることができないか、検討する必要がある。

Causes of Carryover

海外で開催される国際会議と学内の行事との日程が合わず、国内で開催される国際会議のみでの発表となったため、旅費の使用が予定より少なかった。
また、iOS/AndroidタブレットやノートPCと同時に持ち運べてサーバーとして利用できるSmall Form Factor PCの購入を検討していたが、授業での実運用の段階に至らなかったので、購入を遅らせている。

  • Research Products

    (7 results)

All 2017 Other

All Journal Article (1 results) (of which Peer Reviewed: 1 results) Presentation (5 results) (of which Int'l Joint Research: 2 results) Remarks (1 results)

  • [Journal Article] Development of a CPU Scheduling Algorithms Visualizer using JavaScript2017

    • Author(s)
      Nishiyama Kyohei、Kagawa Koji、Imai Yoshiro
    • Journal Title

      電気学会論文誌C(電子・情報・システム部門誌) IEEJ Transactions on Electronics, Information and Systems

      Volume: 137 Pages: 1641~1648

    • DOI

      10.1541/ieejeiss.137.1641

    • Peer Reviewed
  • [Presentation] WappenLiteDocker - A Interface Program between a Web-Browser and a Docker Engine2017

    • Author(s)
      Koji Kagawa, Haruhiko Nishina and Yoshiro Imai
    • Organizer
      The Third International Conference on Electronics and Software Science (ICESS2017)
    • Int'l Joint Research
  • [Presentation] Redesign of WappenLite: a Localhost Web Application Framework for Web-based Programming Environments2017

    • Author(s)
      Koji Kagawa
    • Organizer
      Workshop on Computation: Theory and Practice (WCTP 2017)
    • Int'l Joint Research
  • [Presentation] 再帰下降構文解析に対するWebベース学習支援システムの開発2017

    • Author(s)
      大橋 健太・香川 考司
    • Organizer
      【C】平成29年電気学会電子・情報・システム部門大会
  • [Presentation] Dockerを用いたプログラム実行環境の開発2017

    • Author(s)
      仁科 陽彦・香川 考司
    • Organizer
      【C】平成29年電気学会電子・情報・システム部門大会
  • [Presentation] Haskellによるパーサーを使用したC言語用Blocklyプログラム生成の自動化2017

    • Author(s)
      山形 悠人・香川 考司
    • Organizer
      情報処理学会 コンピュータと教育研究会 142回研究発表会
  • [Remarks] WappenLite

    • URL

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

URL: 

Published: 2018-12-17  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi