Instructor: Paul Dourish
(jpd@ics.uci.edu)
TA: Doshi Shreyas (doshi@acm.org)
Lectures: Tu Th 12:30--2, PSCB 120
Discussions: As scheduled
Syllabus: Syllabus.pdf (inc. project timetable).
This project class is designed to give you practical experience in prototyping, designing and evaluating user interfaces. User interface design is more than simply buttons and slides; it's about the entire design of a system that allows people to make use of it. As more and more devices and objects that we deal with have computer technology embedded in them, the problems of designing good models for interaction becomes increasingly important.
Most project classes in our curriculum follow other classes that expose you to the basic approaches, theories and models that you'll use in practical projects. Unfotunately, that's not currently the case for 105 (although it will be in future). The result is that the current design of 105 involves both practical project work and background lecture material. That makes this a fairly intensive class. You will be evaluated primary on your project, but there will also be exams on the lecture material; you need to pass both to pass the class.
Wed Apr 11: I've made my decisions about whom I will add. Remember -- I will not allow drops after this Friday.
Fri Apr 13: Check this page for details about arranging meetings with Doshi next week.
Fri Apr 13: If you're being added to the class, and you didn't collect your add card from me on Thursday, you can collect it from me at my office (ICS2 206). I'll also bring them to class on Tuesday.
Tue May 1: We're doing paper prototyping sessions this week (Wednesday and Friday, 2-3pm, IERF B011). See the session assignments.
Projects will be carried out in groups of four people. The groups assembled so far are listed here.
I have a list of suggested project topics, but if you have another topic that you can persuade me is suitable, then you can work on that. (If you want to persuade me, please start early). The project will be broken down into a number of phases to make sure that you experience all the relevant parts of the design lifecycle -- principally prototyping, development and evaluation. The syllabus has a breakdown of the project timetable. The first stage is to form groups and projects, which should be finalised by the end of week two.
We'll do development in Java, with the Swing toolkit. We'll cover the design of Swing in the class, but we won't be doing any remedial Java programming classes. If you're not proficient in Java, you won't pass this class; and the instructor and the TA won't be answering basic Java questions.
The primary text for this class is "Human-Computer Interaction" by Preece, Rogers, Sharp, Benyon, Holland and Carey. This book attempts to be comprehensive; we'll be reading from it more selectively.
You'll probably want a book on programming with Swing (aka Java Foundation Classes, JFC) as well. There are many, and I haven't specified a particular one. "Java Foundation Classes in a Nutshell" is a concise overview of the APIs, and useful as a reference; if you want something more detailed that explains more of what's going on, then there are plenty of books to choose from. I happen to use the O'Reilly book (Java Swing, by Eckstein, Loy and Wood); other books include Core Java Foundational Classes (by Topley). Whatever book you get, make sure it's for Java 2 (JDK 1.2 and up).
Here are links to web pages and resources that are useful or interesting (and hopefully both!)
Apr 4 |
||
Apr 6 |
||
Apr 10 |
No lecture |
|
Apr 12 |
||
Apr 17 |
||
Apr 19 |
||
Apr 24 |
||
Apr 26 |
||
May 3 |
If you can't print that version, try this one. | |
May 8 |
May 10 |
Some example code from the lecture. |
May 15 |
||
May 15 |
See video links in "Resources" above. |