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

2018 Fiscal Year Research-status Report

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

Research Project

Project/Area Number 15K01075
Research InstitutionKagawa University

Principal Investigator

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

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

HaskellのC言語パーサーライブラリーであるlanguage-c-quoteを利用して、C言語のソースファイルにプログラム可視化のための改変をおこなうプログラムを作成し、これと2017年度より開発しているWappenLiteDocker(Docker (https://www.docker.com/) を利用してプログラミング言語処理系やコンパイルされたプログラムを実行するためのWebアプリケーションプログラム)を組み合わせたWebベースのC言語プログラム可視化システムを作成した。
Blockly(ブロック方式のビジュアルプログラミングエディター)に対して、Haskellに対応したいくつかのブロックとソースプログラム生成器を実装した。また、PythonとJavaScriptのジェネレーター関数に対応したブロックを実装した。
教師やTAがタブレットなどからソースコードにコメントを入力するためのシステムでは、拡張性を考慮し、サーバー側で動作するパーサーをJava言語で実装されたEclipse CDTライブラリーによるパーサーから、Haskellで実装されたlanguage-c-quoteライブラリーによるパーサーに切り替えた。
Docker, JVM以外のプログラム実行方式の選択肢として、Kotlin/JS, TeaVM(JavaクラスファイルからJavaScriptへのコンパイラー)などを利用して、JavaScriptに変換されたコードを利用するWebアプリケーションを実装した。

Current Status of Research Progress
Current Status of Research Progress

3: Progress in research has been slightly delayed.

Reason

WappenLiteDockerに関しては、今年度実際に授業で使用できると考えていたが、いくつかの理由で提供できていない。まず、DockerサーバーをクライアントPC側で実行する方式では負荷が集中しないため動作が安定しているものの、DockerサーバーをWindowsにインストールすることは一般的でないため、授業などで大々的に使用することはできていない。一方で、Dockerサーバーをサーバーコンピューター側で実行する方式では、負荷がある程度かかったときにWappenLiteDockerに不具合が発生しており、やはり授業での使用を見合わせている。
Blocklyを利用したUIに関しては、手続き(procedure)定義に類似したブロックに対するメニューを定義する方法がわからなかったため、HaskellやPrologなどの言語でいくつかのブロックが用意できなかったが、現在のバージョンのBlocklyではドキュメントが整備され方法が明らかになった。
教師とTAのコメントの入力を支援するためのシステムについては、サーバー側の実装言語をJavaからHaskellに切り替えていたため、新しい機能の実装が止まっていたが、切り替えが完了したため、クライアント側の機能の実装に着手する。

Strategy for Future Research Activity

WappenLiteDockerについては、負荷がかかったときの不具合を解消するために改良と小規模な実験を繰り返す必要がある。またステートレスなサービスを利用できる部分はできるだけ切り分けて、できるだけWappenLiteDockerの負荷を避けられるようにする、JavaScriptをターゲットとする処理系を利用したシステムをできるだけ活用する、Windows Subsystem for Linuxを活用したDockerのWindowsへのインストールを推進する、などいくつかの方策を並行して提供し、授業で使用できるようにする。授業としては学部・大学院で担当しているものほか、教員免許状更新講習でも一部を使用する予定である。
Blocklyを利用したUIに関しては、引き続きHaskell, Prologなどの言語用のブロックとソースプログラム生成器の実装を増やしていく必要がある。また、パーサーを利用したC言語用のカスタムブロックの生成についても実装を続け、小さな画面でも利用できることを実験で確認したい。

Causes of Carryover

側言語処理系実行環境の主力をJava仮想機械ベースから2017年度から開発したDockerベースのものに切り替えたことによる遅れなどにより十分な成果が得られなかった。
また、ほとんどが国内で開催される国際会議での発表となったため、旅費の使用が少なかった。

次年度はサーバーとして利用できるPCを購入する。システムの更新を容易にするために複数台用意する予定である。機種としては大学外の授業などでも利用できるよう、持ち運んでサーバーとして利用できるSmall Form Factor PCまたはLinuxを搭載したノートPCを購入する。カスタムブロックを利用したシステムの実験のため、小さめの画面のスマートデバイスでiOSとAndroidプラットフォームのものを購入する予定である。

  • Research Products

    (10 results)

All 2018 Other

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

  • [Journal Article] Improvement of e-Learning System for Network Study toward International Students2018

    • Author(s)
      Imai Yoshiro、Sauvion Lorkan、Messias Valentin、Kagawa Koji、Doi Shunsuke、Hara Shinya、Ando Kazuaki、Hattori Tetsuo
    • Journal Title

      IEEJ Transactions on Electronics, Information and Systems

      Volume: 138 Pages: 1444~1450

    • DOI

      https://doi.org/10.1541/ieejeiss.138.1444

    • Peer Reviewed
  • [Presentation] Blockly を用いた多言語プログラミング学習支援環境の構築2018

    • Author(s)
      佐野 裕也,香川 考司
    • Organizer
      教育システム情報学会(JSiSE) 2018年度 第4回研究会
  • [Presentation] 構文解析を用いた C言語指導コメント支援システムの構築2018

    • Author(s)
      木村 光星,香川 考司
    • Organizer
      教育システム情報学会(JSiSE) 2018年度 第4回研究会
  • [Presentation] 演算子順位法に対するWebベース学習支援システムの開発2018

    • Author(s)
      久保 俊貴,香川 考司
    • Organizer
      教育システム情報学会(JSiSE) 2018年度 第4回研究会
  • [Presentation] A Web-based Learning Support System for the C Language with Automatic Generation of Blockly Programs2018

    • Author(s)
      Yuto Yamagata and Koji Kagawa
    • Organizer
      EdMedia + Innovate Learning 2018
    • Int'l Joint Research
  • [Presentation] Comparison of Several Approaches to Provide Back Ends forWeb-based Programming Environments2018

    • Author(s)
      Koji Kagawa
    • Organizer
      Workshop on Computation: Theory and Practice (WCTP 2018)
    • Int'l Joint Research
  • [Presentation] Development of a Web-Based Learning Support System for Operator-Precedence Parsers2018

    • Author(s)
      Toshiki Kubo and Koji Kagawa
    • Organizer
      The Fourth International Conference on Electronics and Software Science (ICESS2018)
    • Int'l Joint Research
  • [Presentation] Web-based Learning Support System for Recursive Decent Parsing using Haste2018

    • Author(s)
      Kenta Ohashi and Koji Kagawa
    • Organizer
      The Fourth International Conference on Electronics and Software Science (ICESS2018)
    • Int'l Joint Research
  • [Remarks] WappenLite

    • URL

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

  • [Remarks] WappenLiteDocker

    • URL

      http://guppy.eng.kagawa-u.ac.jp/~kagawa/WappenLiteDocker/

URL: 

Published: 2019-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi