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

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

Research Project

Project/Area Number 15K01075
Research Category

Grant-in-Aid for Scientific Research (C)

Allocation TypeMulti-year Fund
Section一般
Research Field Educational technology
Research InstitutionKagawa University

Principal Investigator

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

Project Period (FY) 2015-04-01 – 2020-03-31
Project Status Granted (Fiscal Year 2018)
Budget Amount *help
¥3,640,000 (Direct Cost: ¥2,800,000、Indirect Cost: ¥840,000)
Fiscal Year 2018: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
Fiscal Year 2017: ¥1,040,000 (Direct Cost: ¥800,000、Indirect Cost: ¥240,000)
Fiscal Year 2016: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Fiscal Year 2015: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
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言語用のカスタムブロックの生成についても実装を続け、小さな画面でも利用できることを実験で確認したい。

Report

(4 results)
  • 2018 Research-status Report
  • 2017 Research-status Report
  • 2016 Research-status Report
  • 2015 Research-status Report

Research Products

(24 results)

All 2018 2017 2016 2015 Other

All Journal Article Presentation Remarks

  • [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 Trans. EIS

      Volume: 138 Issue: 11 Pages: 1444-1450

    • DOI

      10.1541/ieejeiss.138.1444

    • NAID

      40021726832

    • ISSN
      0385-4221, 1348-8155
    • Related Report
      2018 Research-status Report
    • Peer Reviewed
  • [Journal Article] Development of a CPU Scheduling Algorithms Visualizer using JavaScript2017

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

      IEEJ Trans. EIS

      Volume: 137 Issue: 12 Pages: 1641-1648

    • DOI

      10.1541/ieejeiss.137.1641

    • NAID

      130006235403

    • ISSN
      0385-4221, 1348-8155
    • Related Report
      2017 Research-status Report
    • Peer Reviewed
  • [Presentation] Blockly を用いた多言語プログラミング学習支援環境の構築2018

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

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

    • Author(s)
      久保 俊貴,香川 考司
    • Organizer
      教育システム情報学会(JSiSE) 2018年度 第4回研究会
    • Related Report
      2018 Research-status Report
  • [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
    • Related Report
      2018 Research-status Report
    • 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)
    • Related Report
      2018 Research-status Report
    • 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)
    • Related Report
      2018 Research-status Report
    • 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)
    • Related Report
      2018 Research-status Report
    • Int'l Joint Research
  • [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)
    • Related Report
      2017 Research-status Report
    • 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)
    • Related Report
      2017 Research-status Report
    • Int'l Joint Research
  • [Presentation] 再帰下降構文解析に対するWebベース学習支援システムの開発2017

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

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

    • Author(s)
      山形 悠人・香川 考司
    • Organizer
      情報処理学会 コンピュータと教育研究会 142回研究発表会
    • Related Report
      2017 Research-status Report
  • [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
    • Related Report
      2016 Research-status Report
    • Int'l Joint Research
  • [Presentation] Webベースグラフィカルプログラミングエディタを用いたC言語学習支援環境への問題提示機能の実装2016

    • Author(s)
      山形 悠人・香川 考司
    • Organizer
      教育システム情報学会第41回全国大会
    • Place of Presentation
      帝京大学 宇都宮キャンパス
    • Year and Date
      2016-08-29
    • Related Report
      2016 Research-status Report
  • [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
    • Related Report
      2016 Research-status Report
  • [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
    • Related Report
      2016 Research-status Report
    • Int'l Joint Research
  • [Presentation] C-Helperを用いたWebベースのC言語開発環境の構築2015

    • Author(s)
      島川 大輝・香川 考司
    • Organizer
      教育システム情報学会第40回全国大会 (JSiSE2015)講演論文集
    • Place of Presentation
      徳島大学 常三島キャンパス
    • Year and Date
      2015-09-01
    • Related Report
      2015 Research-status Report
  • [Presentation] EmscriptenとD3.jsを用いたC言語ポインタのWebベース動的可視化システムの開発2015

    • Author(s)
      西山 恭平・香川 考司
    • Organizer
      教育システム情報学会第40回全国大会 (JSiSE2015)講演論文集
    • Place of Presentation
      徳島大学 常三島キャンパス
    • Year and Date
      2015-09-01
    • Related Report
      2015 Research-status Report
  • [Presentation] A Program Visualization System using 3D Still Graphics2015

    • Author(s)
      Takahiro Suetomo, Koji Kagawa
    • Organizer
      4th International Conference on Information Technology Based Higher Education and Training (ITHET 2015),
    • Place of Presentation
      Lisbon, Portugal
    • Year and Date
      2015-06-11
    • Related Report
      2015 Research-status Report
    • Int'l Joint Research
  • [Remarks] WappenLite

    • URL

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

    • Related Report
      2018 Research-status Report 2017 Research-status Report 2016 Research-status Report
  • [Remarks] WappenLiteDocker

    • URL

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

    • Related Report
      2018 Research-status Report
  • [Remarks] WappenLite

    • URL

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

    • Related Report
      2015 Research-status Report

URL: 

Published: 2015-04-16   Modified: 2019-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi