Comments
Description
Transcript
Java 演習授業を支援するクラウド型 Java コンパイラの試作
情報・システムソサイエティ特別企画 学生ポスターセッション予稿集 ISS-P-126 Java 演習授業を支援するクラウド型 Java コンパイラの試作 笠井 貴之† 築地 勇人† 瑞貴† 熊田 書† 李 孝典† 鷹野 † 神奈川工科大学情報学部情報工学科 1. はじめに Cloud9[1]や Codeanywhere[2]のような,Web ブラウザか ら利用可能なオンライン・プログラミング環境が普及し始め ており,プログラミング授業への利用が検討され始めてい る[3][4].本研究では,プログラミング授業において,個々 の学生の課題進捗状況に基づいたプログラミング指導の 実施を目的とした,クラウド型 Java コンパイラの設計と試作 を行った.本稿では,主に GUI 基本設計について述べる. 2. システム概要 本システムは,著者らが在籍している情報系学科にお ける Java プログラミング演習授業で利用することを想定し ている.学生は,Web ブラウザ画面上で演習課題のソー スコードの編集,コンパイル,提出を行う.Java プログラム のコンパイルや実行処理は,サーバ上で行い,エラーメッ セージや実行結果を Web ブラウザ画面上に表示させる. 教師や TA(Teaching Assistant)/SA(Student Assistant)は 学生のソースコードを一括して参照し,適宜間違いや改善 点の指摘を行う.この際,学生が編集しているソースコード を教師が取得し,コメントや修正を加えて生徒の Web ブラ ウザ画面に表示することができる. 3. GUI 基本設計 学生用 GUI と教師用 GUI の基本設計画面を,それぞれ 図 1 と図 2 に示す. [学生用 GUI] プ表示した例を図 1 に示す.教師が修正またはコメント付 与したソースコードを返却送信した際に通知されるリンクを クリックすると,返却送信した内容が図 1 右のようにポップ アップで表示され,×ボタンを押すと閉じることができる. [教師用 GUI] 図 2 の左側は,演習課題に取り組んでいる学生が編集 中のソースコード一覧画面を示している.各学生が保存し たソースコードは,保存時刻順など指定した順序で画面の 左上から表示されるようになっている.例えば,教師が対 応している学生に対して,ソースコードを一旦保存させるよ うに指示することで,その学生の最新ソースコードを即時 に選択できるようになる.教師が,ソースコード一覧画面か ら,該当学生のソースコードを選択すると,複製されたもの が教師 GUI のソースコード・エディタ上に表示される(図 2 右).教師は,コンパイルすることでエラーを確認し,ヒント と な る 修 正 や コ メ ン ト な ど の 付 与 を 行 っ た 上 で , [To Student]ボタンをクリックし学生に返却送信できる. public class Kadai5 { …… …… …… …… } public class Kadai5 { …… …… …… …… } 1321033 1221109 …… public class Kadai4 { …… …… …… …… …… } 1 2 3 4 5 6 7 8 9 10 Teacher’s comment: xxx.java (2016.01.22 11:30) xxx.Java (2016.01.22 11:25) 1 2 3 4 public class Kadai5 { 5 public static void main(String[] args){ 6 int n=1; // 不要 7 8 for(int i=0; i<10; i++){ 9 // i を上手に使おう 10 System.out.println(n); n++; } } Teacher’s comment: } xxx.java (2016.01.22 11:30) xxx.Java (2016.01.22 11:25) 1321146 public class Kadai5 { public static void main(String[] args){ int n=1; // 不要 for(int i=0; i<10; i++){ // i を上手に使おう System.out.println(n); n++; } 1321112 } public class Kadai4 { …… …… …… …… } public class Kadai3 { …… …… …… …… } 1221125 1221148 Compile 1 2 3 4 5 6 To Student 学生へ 送信 図 2.教師用 GUI Compile 図 1.学生用 GUI 本システムの GUI 設計において,プログラミング演習時 に学生と教師が,クラウドストレージを媒介にしたソースコ ード共有を容易にする工夫を行った.例えば,教師側の端 末 GUI から学生のソースコードに対して修正やコメント付 与した場合に,学生が現在編集しているソースコードの隣 にポップアップ表示させることで,教師が指摘した箇所と自 分が取り組んでいる内容を見比べながら演習に取り組むこ とができるようにした.教師から返却送信されたコメント付き ソースコードを,ソースコード・エディタの右隣にポップアッ 2016/3/15 〜 16 福岡市 public class Kadai5 { …… …… …… …… } } 1321154 1 public class Kadai5 { 2 public static void main(String[] args){ 3 int n=1; 4 5 for(int i=0; i<10; i++){ 6 System.out.println(n); 7 n++; 8 } 9 } 10 } public class Kadai4 { …… …… …… } 4. 今後の課題 個々の学生の進捗管理機能については,現在実装と評 価を行っている段階である.今後は,課題プログラミングに 手間取っている学生の抽出手法の考案や,実際のプログ ラミング授業に利用することで実証実験を行い,ユーザビリ ティ評価に基づいた改善を行っていく予定である. 参考文献 [1] Cloud9, https://c9.io/. [2] Codeanywhere, https://codeanywhere.com/. [3] 草野 裕紀,山本昭成,平野 洋行,市村 哲,学習履歴の収 集・参照機能を備えたプログラミング講義支援システム,第 73 回全国大会講演論文集,pp.471-472,2011. [4] 星野 裕樹,納富 一宏,西村 広光,示野 浩士,プログラミ -126- ングにおけるコーディングスタイルの学習,電子情報通信学 会技術研究報告,Vol.115 (351), pp.31-36,2015. Copyright © 2016 IEICE