スケジュール
- 第01回 概要
- 第02回 式, 型, 変数
- 第03回 条件分岐 (if-else)
- 第04回 繰り返し (for)
- 組分け試験
- 第05回 繰り返し (while)
- 第06回 制御構文 (switch, break, continue)
- 第07回 サブルーチン (手続呼び出し)
- 第08回 サブルーチン (関数)
- 第09回 サブルーチン (アルゴリズム)
- 第10回 サブルーチン (再帰呼び出し)
- 第11回 配列 (一次元配列,基礎固め)
- 題11回 配列 (一次元配列)
- 第12回 配列 (多次元配列)
- 期末試験
評価について
期末試験 (ペーパー) の結果を中心に評価する。ただし、平常点 (出席、課題) も加味する。
授業の流れ
- 講義形式 (30min)
- 練習問題 (30min)
- 課題 (~120min)
課題の評価方法
本演習では課題を評価するに当たって、次の項目をパスする必要がある。
1. コンパイルテスト
すこし書くごとにCtrl+Sでセーブ&コンパイル。この際にエラーが発生したら文法を見なおし、間違いを自分で修正してセーブ&コンパイル。
2. 自動テスト
コンパイルテストが成功したら、指示のある場所で自動テストを実行する。実行方法は後ほど。
3. TAによるテスト
全ての課題の全ての自動テストが成功したら、TA (Teaching Assistant) がチェックを行う。
自動テストについて
テストとは
プログラムの欠陥を洗い出すための作業のこと。本演習では、この作業をプログラムを使用して自動化を行う。
テストフレームワークの導入
本演習で使用する自動テストのためのプログラムを以下の手順で導入する。
- ダウンロード のページを開く (ここをクリック)
- "jtaf.zip"をデスクトップなどにダウンロード
- eclipseの画面でプロジェクト「java20XX」を右クリック
- メニューから「インポート(I)」を選択
- 「インポート」ウィンドウが表示されるので、「Zip ファイル」を選択
- 「次へ(N)」をクリック
- 宛先フォルダー(L): が「java20XX」になっていることを確認
- From archive file: の右側にある 「参照(R)...」あるいは「ブラウズ(R)...」をクリック
- ファイルダイアログが表示されるので、ダウンロードした"jtaf.zip"をダブルクリック
- 前の画面に戻るので、From archive file: のエリアに正しいパスが入力されていることを確認
- フォルダ「/」の左にチェックがついていることを確認 (ついていなければチェックボックスをクリック)
- 「警告を出さずに既存リソースを上書き」にチェックがついていることを確認 (上書きしたくないファイルがある場合はチェックを外す)
- 「終了 (F)」をクリック
- プロジェクト「java20XX」に「test > install-libraries.xml」がインポートされるので、それを右クリック
- 「実行(R)」にマウスカーソルを合わせる
- 「1 Ant ビルド」をクリック
- 「コンソール」タブに"BUILD SUCCESSFUL"と表示されれば成功
- eclipseの画面でプロジェクト「java20XX」を右クリック
- メニューが表示されるので、「更新」あるいは「最新表示」をクリック
この作業を家で行う場合、ネットワークに接続された環境で行うこと。
テストドライバの導入
本演習では、練習問題を始める前にテストドライバを導入する。このテストドライバとは、各回の練習問題や課題のテストを行うためのプログラム一式である。
次の手順で行う。
- ダウンロードのページを開く (ここをクリック)
- "week01.zip" をデスクトップなどにダウンロード
- eclipseの画面でプロジェクト「java20XX」を右クリック
- メニューが表示されるので、「更新」あるいは「最新表示」をクリック
- eclipseの画面でプロジェクト「java20XX」を右クリック
- メニューから「インポート(I)」を選択
- 「インポート」ウィンドウが表示されるので、「Zip ファイル」を選択
- 「次へ(N)」をクリック
- 宛先フォルダー(L): が「java20XX」になっていることを確認
- From archive file: の右側にある「参照(R)...」あるいは 「ブラウズ(R)...」をクリック
- ファイルダイアログが表示されるので、ダウンロードした "week01.zip" をダブルクリック
- 前の画面に戻るので、From archive file: のエリアに正しいパスが入力されていることを確認
- フォルダ「/」の左にチェックがついていることを確認 (ついていなければチェックボックスをクリック)
- 「警告を出さずに既存リソースを上書き」にチェックがついていることを確認 (上書きしたくないファイルがある場合はチェックを外す)
- 「終了 (F)」をクリック
自動テストの起動
テストドライバの導入に成功すると、プロジェクト「java20XX」の中の「test」というフォルダに「j1.lesson01.xml」という名前のファイルが格納されている。
これは第1回演習のすべての自動テストのためのスクリプト(実行手順を記述したもの)であり、右クリックして「実行 > 1 Ant ビルド」をクリックすると図1のようなJtafウィンドウが現れる。
図 1. Jtafを起動する
「ファイル」を左クリックすると図2のようにメニューが表示される。
図 2. 自動テストの一覧を見る
例として、「Helloに対する骨格テスト」 を実行してみよ。ウィンドウに表示されているバーが緑色なら成功(図3)で、赤色ならばテストの失敗(図4)を表す。もしこのバーが赤色だった場合は、表示された失敗したテスト項目「メソッドmain(java.lang.String[])//j1.lesson01.Hello」を選択して、エラーの詳細を読み、プログラムの修正が終わったらCtrl+Sでセーブを行い、Jtafウィンドウの「実行」ボタンを押す。
図 3. テスト成功
図 4. テスト失敗
図 5. エラーの詳細
バーが緑色になったら、このウィンドウを閉じてもよい。
テストの実行例
- 先ほど作成したj1/lesson01/Hello.java に対してのテスト
- テスト 項目「Helloに対する機能テスト」 が成功することを確認せよ
- mainをmeinに変えて 「Helloに対する骨格テスト」 が失敗することを確認せよ
- meinをmainに戻して 「Helloに対する骨格テスト」 が成功することを確認せよ
- 出力する文字列を適当に変えて、「Helloに対する機能テスト」が失敗することを確認せよ
- プログラムを元の状態に戻し、テスト項目 「Helloに対する骨格テスト」, 「Helloに対する機能テスト」 が成功することを確認せよ
テストの失敗メッセージ (j1.lesson01.Hello)
Helloに対する骨格テスト
メッセージ | 備考 |
---|---|
j1.lesson01.Hello(型)は存在しません | パッケージ名やクラス名を確認 |
j1.lesson01.Helloにpublicの指定がありません | classの手前にpublicをつけること |
Hello.main(java.lang.String[])が存在しません | "main" や "(String[] args)" の部分を確認 |
Hello.main(java.lang.String[])にpublicの指定がありません | publicをつけること |
Hello.main(java.lang.String[])にstaticの指定がありません | staticをつけること |
Hello.main(java.lang.String[])の型がvoidではありません | voidを指定すること |
Helloに対する機能テスト
メッセージ | 備考 |
---|---|
期待された値:~..(1行目の出力) | 1行目の出力を "Hello, world!" とすること |
期待された値:<(出力の終端)>.. | 2行目以降に余計な出力を行わないこと |