2012 Fiscal Year Research-status Report
情報端末に依存しない低水準入出力の実行可能なプログラミング学習環境の開発
Project/Area Number |
24501069
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Research Institution | Sugiyama Jogakuen University |
Principal Investigator |
鳥居 隆司 椙山女学園大学, 文化情報学部, 教授 (90207663)
|
Co-Investigator(Kenkyū-buntansha) |
中野 健秀 大阪国際大学, 現代社会学部, 准教授 (20441115)
杵淵 信 北海道教育大学, 教育学部, 教授 (30261366)
田村 謙次 中央学院大学, 商学部, 准教授 (30367635)
川崎 直哉 上越教育大学, その他部局等, その他 (40145107)
安藤 明伸 宮城教育大学, 教育学部, 准教授 (60344743)
大岩 幸太郎 大分大学, 教育福祉科学部, 教授 (90223726)
|
Project Period (FY) |
2012-04-01 – 2015-03-31
|
Keywords | C言語 / 学習環境 / クラウド / Webブラウザ |
Research Abstract |
プログラミング言語の学習環境やアルゴリズムを学ぶことのできる学習ツールは、数多く存在するが、高級言語でありながら低水準言語の面も備えている言語の場合においては、不特定多数がクラウド上のサーバ環境でプログラミングとコンパイルや実行うことができる学習環境を構築するためには、そのプログラムが実行されるサーバの保護が重要であり困難な部分でもある。平成24年度の研究成果としては、PCのWebブラウザからの利用だけでなく、最近、急速に普及しているスマートフォンをはじめとした様々な携帯情報端末のWebブラウザから利用可能なC言語のプログラミング学習環境のプロトタイプをクラウド上に構築した。C言語は、ハードウェア関連の処理も比較的容易に記述できる高級言語である。また、C言語以降の他の非常に多くのコンピュータ言語に影響を与えた言語であるため、様々な分野において幅広く利用され、その文法やサンプルプログラムなどを入手することも非常に容易であり、プログラミング学習のための言語としても適切なものである。構築したサーバでは、利用者認証、セション管理、コンパイル、実行監視の各処理を振り分け、各ユーザからの要求に応じ、システムの負荷にかかわらず、一定時間内に要求元に応答を戻すことができるよう配慮しプロセス間通信機能を用いて実現させた。また、低水準言語の面も備えているC言語の場合には、システムを破壊し得るライブラリ関数なども存在するため、単に該当する関数を使用禁止とする方式ではなく、それらのライブラリを書き換えることで、システムの破壊などが起きにくいように機能制限を行った。また、ユーザのプログラムを実行する場合におけるバッファオーバランに対する対策として、コンパイラの生成するオブジェクトに検出プログラムを組み込む方式とした。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
申請書に記述されている研究の目的として、PCのWebブラウザからの利用だけでなく、様々な携帯情報端末のWebブラウザから利用可能なプログラム学習環境を構築することを挙げている。そして、コンピュータのメモリやそのハードウェアを容易に直接操作できるコンパイラ型の言語の場合には、いわゆるインターネットを経由した通常のアタックの他に、その環境自体が備えている基本的な機能として、サーバ上において、任意のプログラムコードを入力でき、さらにコンパイルの上、実行できることがある。平成24年度の研究成果として、低水準入出力も扱えるプログラム言語としてコンピュータのメモリやそのハードウェアを容易に直接操作できるC言語を選択し、ユーザのプログラムを実行する場合におけるバッファオーバランやシステムを破壊し得るライブラリ関数の処理についての対策を施したプログラム実行サーバのプロトタイプをクラウドコンピュータ上に構築できていると考えている。
|
Strategy for Future Research Activity |
平成24年度に構築されたシステムに関して必要なプログラミング実行環境が満たすべき要件として、いつでも、どこからでも、スマートフォンのような携帯情報端末であっても、同じ実習環境が使えること。プログラミング環境の構築準備が不要なこと。プログラム入力から実行までの操作が簡単であること。比較的CPUパワーのない情報端末であっても、ネットワークの速度が遅い環境でも、動作や反応が早く、安定していること。コンピュータのメモリなどハードウェアを容易に直接操作できるコンパイラ型の言語であってもセキュリティ上問題ないこと。などの点に特に注目しつつ、検証作業などを行うとともに、合わせて学習用コンテンツなどの充実や他の言語の学習環境についても検討を行う。
|
Expenditure Plans for the Next FY Research Funding |
今回、構築されたシステムに関して必要なプログラミング実行環境が満たすべき要件として、掲げた上記項目について、各研究機関に所属する研究分担者とともに検証作業などを行い、合わせて学習用コンテンツなどの充実や他の言語の学習環境についても検討を行う。
|
Research Products
(4 results)