課題: 演習III割り当て支援プログラム
演習IIIの巡回研究室割り当てを支援するプログラムを書き、ユーザテストを行う。
タスクの概要
情報科学科4年生の必修科目に演習IIIというものがある。
これは、学生が夏学期の間に、三つの研究室を順番に巡回して勉強するというものであるが、
その巡回する研究室を割り当てる作業を支援するプログラムを作成する。
具体的には、各学生が第1希望から第5希望までの研究室を申請し、
それを元に、どの学生が第1期から第3期にそれぞれどの研究室に行くかを決定する。
基本的には学生の希望を優先するが、単純に第1希望から第3希望までを
満たすと、研究室ごとのばらつきが大きくなりすぎるので、各研究室を訪問する
人数が同じくらいになるように、必要に応じて第4希望や第5希望の研究室にも
回るようにする。また、各研究室の各期の学生数も同じくらいになるようにする。
プログラム
基本的には、ユーザが直接操作して割り当てる作業を支援するような
インタフェースをデザインすること。
自動割当アルゴリズムを書いてもよいが、
個別の事情に対応したり結果の妥当性を確認するため、
必ずユーザが手作業で調整できるような機能を入れること。
ただ動くようにするだけでなく、
使いやすくするような工夫(表示法および動作)をすること。
必要に応じて既存のプログラムを参考にしてもよいが、
その場合にはその内容と自分の開発した部分を明記する。
本講義の他の学生のものを流用するのは禁止とする。
なるべくどのような環境でも動くようなものが望ましい。
(WWW上でそのまま実行できるJavaアプレットがベスト)
データおよび参考プログラム:
サンプルデータ
サンプルコード(Java) (データ読込, 表示, マウス操作例, etc)
ユーザテスト
最低一人のテストユーザを確保して、インフォーマルなテストを行う。
テストの目的は、自分のデザインしたインタフェースの特性や問題点を正確に
理解することである。
よって「ちゃんと操作できていた」というような結論を出すのでなく、
「**の操作方法はこう変えるべきである」
「**の表示を加える必要がある」というような具体的
改良点を洗い出すこと。
操作時間を計る必要はないが、以下に述べるようなタスクを
実際に行ってもらった上で、その様子を観察したり
アンケートに答えてもらったりする。
まず、使い方を説明せずに操作してもらってその様子を観察した後、
ちゃんと説明した上での操作の様子について観察するとよい。
(現実にはほとんどマニュアルは読まれないので、
触って直感的に理解できることが大切)
レポートには、テスト結果の詳細をつける。項目例:
被験者のProfile(マウスの習熟度、年齢層など)・実験時間・作業内容・観察結果・
被験者のアンケート(良い点を3つと悪い点を3つ挙げてもらう、等)とコメント・
その他。
タスク例
1) 研究室の各期の割り当て人数のバランスを重要視する。
2) 各学生の希望を最優先する。
3) 個別の事情を満たすように割り当てる(先生Aは第1期は不在、等)
レポート提出方法
外からみられるWWWページの形で各自のホームページに置き、
そのURLを氏名・専攻・学籍番号等を明記の上、五十嵐までメイルすること
(レポート本文はメイルでなくWWWの方へ記述すること)。
作成したプログラムもアプレットあるいはダウンロードできるパッケージとしてとして含める。
起動の仕方や動作環境についても明示すること。
提出期限: 5月14日深夜 (厳守)
提出先: 五十嵐 健夫 (takeo @ is.s.u-tokyo.ac.jp)
なるべく早く作業を始めること。不明な点、質問等があれば早めに五十嵐まで。
アップデートがあればこのページに掲示する。
|