...

Java 演習授業を支援するクラウド型 Java コンパイラの試作

by user

on
Category: Documents
4

views

Report

Comments

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
Fly UP