ユーザインタフェース 課題


課題: ロボットを操作するインタフェース・アルゴリズムをデザイン・実装し、ユーザテストを行う

プログラム ロボットの世界をシミュレーションするJavaのプログラムを配布するので、 「モノを押して目的地まで運ぶ」部分を実装する。 インタラクティブな手法・全自動のアルゴリズムを両方実装する。 サンプルコードを以下で配布するのでそれを元に開発すること (同等のものを作成できるのであれば他の言語等で新たに開発してもかまわない)。

  • インタラクティブな手法:ロボットを操作するユーザインタフェースを実装する(キーボード、マウスドラッグ、スケッチなど)
  • 全自動アルゴリズム:現在地・目的地・モノの座標を入力として受け取り、ロボットの動きを決める。
インタラクション手法については、最低限何かしてあれば可とするが、なるべくオリジナリティのある工夫を歓迎する。 全自動については、完全なものを作るのは難しい場合もあると思うので、 その場合はできる範囲でよい(100%成功しなくてもよい)。

サンプルコード:
コード (Java)

ユーザテスト
自分のインタフェースで時間を計測する。被験者を2人(自分以外)用意してテストを行う。 なるべく情報科学科以外の人が望ましい。 テスト用のデータはコードと一緒に入っているものを利用すること(練習用=test、メイン課題=task1, task2, task3)。 終了したら、時間を記録する (計測用コードを組み込んでもよいし、ストップウォッチでもよい)。 また、一通り終わったあとにユーザと話をしてコメントをもらう。 テスト結果はこちらで集計するので以下のフォーマットの表がほしい(単位は秒)。 あまりに時間がかかる場合には途中で打ち切る(5分くらい?)。

時間
           test    task1   task2   task3
被験者1   100      200     300     400
被験者2   100      200     300     400
開発者本人 100      200     300     400
平均       100      200     300     400

情報科学科以外所属でプログラミングが出来ない学生向けの課題
以下の内容をレポートにまとめて期限までに提出する。

  • インタラクティブな手法: どのようなユーザインタフェースを提供すれば、モノを押して運ぶ動作を簡単かつ確実に操作できるか、考える。 漠然とした説明でなく、ユーザが何をしたら何がおきるのか、細かく仕様を規定し、図表を用いてわかりやすく説明する。
  • 全自動アルゴリズム: どのようなアルゴリズム(手順)でロボットが動かせばよいのかを考えて、 図表を用いて手続きとしてわかりやすく記述する。具体的には、入力として ロボットの現在地 a, 運ぶモノの現在地 b, 目的地の座標 c が与えられたときに、ロボットに与える指令(forward, spinleft, spinright, stop)を決定する手順を記述する。

レポート提出方法
自分のデザインの説明・詳しい操作方法・実験結果(時間と結果の画像)・考察、 をまとめたレポート、およびプログラム(ソースとバイナリ) をzipファイルにまとめて、氏名・学生番号を明記の上、 下記の提出先までメイルすること(run.bat はメイルで受け取れないので run.bat_などにして送ってください。ダウンロードできる場所においてもらうのでもよい)。 レポートについてはフォーマットを用意したので、 これに準じて作成してください。図なども入れてPDFにしてもらえるとベスト。 他の学生にとっても勉強になるので、各自のホームページで公開することも勧める。

提出期限: 7月8日深夜 (厳守)

提出先: igarashi.lab@gmail.com (件名を「user interface report」としてください)

なるべく早く作業を始めること。 テストには時間がかかるので、一週間前くらいまでには実装を終えるように。 不明な点、質問等があれば早めに五十嵐まで。 アップデートがあればこのページに掲示する。