Main Page
From CS160 Fall 2009
Welcome to CS 160 Fall 2009: User Interface Design, Prototyping and Evaluation
Course Control Number: 26488
4 Credits. Three hours of lecture per week. Prerequisites: upper division standing.
Contents |
Overview
CS 160 is an introduction to Human Computer Interaction (HCI). You will learn to prototype, evaluate, and design an interactive application. You will be expected to work with a group of other students in this project-based course. Your team's semester-long project will be proposed by your group. Project design follows a human-centered process, and the design will be carefully tailored to the needs of your intended users.
In contrast to most of the other CS classes at Berkeley, CS160 does not focus on particular algorithmic techniques or computer technologies. Instead, the focus of the course is the design process - the how rather than the why, of interactive design. We emphasizes "design thinking" which is broad rather than narrow, and on thoroughly exploring the options before committing to design choices. The skills involved include ideation (idea generation and selection), needs assessment, communication, rapid prototyping, system implementation and evaluation.
Project Theme: This semester's projects will be mobile applications. The preferred target platform is the Apple iPhone or iPod Touch. You can choose a different mobile platform if you wish, but you may not get much help from the staff or from other students. Applications can be productivity-oriented, educational, etc., or they can be games. But in the games genre, they should be "serious" and provide some benefit (e.g. health or educational games) so that their effectiveness can be assessed.
Announcements
Final Presentation Schedule
Monday 12/7:
* Group 1 * Group:2 Cool * Group 5: Stayin' Alive * Wezen (Group 8) * Subjective C (Group 10) * Team Awdio (Group 12)
Wednesday 12/9:
* Team 151 (Group 3) * Radar (Group 4) * Team Tiptronic (Group 6) * Hungry Hippos (Group 7) * The Ballers (Group 9) * Group 11 * Group: iPingU (Group 13)
- The CITRIS Mac lab (Apple orchard) is reserved for CS160 on the following timings:
- Monday: 12-3pm
- Wednesday: 2-3pm
- Friday: 2-6pm
Schedule
Get readings and post your comments to the discussion page for lecture. (follow link from lecture title)
8/26/2009: Introduction [Slides ]
- Assignments (due on 8/28): Create a Wiki Account, Course Petition
8/28/2009: Due: Create a Wiki Account, Course Petition
8/31/2009: The Design Cycle [Slides ] [ Readings ]
- Assignment (due before class on Sept 2): Individual Project Proposal
9/2/2009: Brainstorming [Slides ] [ Readings ]
- Due (before class): Individual Project Proposal
9/9/2009: Sketching and Storyboarding [Slides] [ Readings ]
- Assignment (due before class on 9/16/2009): Group Brainstorm
9/14/2009: In Class Group Brainstorming [No Slides]
9/16/2009: Task Analysis and Contextual Inquiry [Slides][ Readings ]
- Due (before class): Group Brainstorm
- Assignment (due before class on 9/30/2009): Contextual Inquiry and Task Analysis
9/21/2009: Conceptual Models [Slides] [ Readings ]
9/23/2009: Heuristic Evaluation [Slides] [ Readings ]
9/28/2009: Low-Fidelity Prototyping [Slides] [ Readings ]
9/30/2009: Human Information Processing [Slides] [ Readings ]
- Due (before class): Contextual Inquiry and Task Analysis
- Assignment (due before class on 10/14/2009): Low-Fidelity Prototype
10/5/2009: Event Handling [Slides] [ Readings ]
10/7/2009: Model View Controller [Slides] [ Readings ]
10/12/2009: Programming for Interactivity [Slides] [ Readings ]
10/14/2009: Qualitative Methods [Slides] [ Readings ]
- Due (before class): Low-Fidelity Prototype
- Assignment (due on 10/28/2009): Interactive Prototype
10/19/2009: Quantitative Evaluation [Slides ] [ Readings ]
10/21/2009: Visual Perception [Slides ] [ Readings ]
10/26/2009: Graphic and Experience Design [Slides ] [ Readings ]
10/28/2009: Design Patterns for User Interfaces [Slides ][ Readings ]
- Assignment (due on 11/6/2009): Heuristic Evaluation of Prototypes
11/2/2009: Interactive Prototype Presentations
- Assignment (due before class on 11/20/2009): Pilot Usability Study
11/4/2009: Interactive Prototype Presentations
- Due (before class): Interactive Prototype
11/6/2009: Heuristic Evaluation of Prototypes Due
11/9/2009: Midterm Exam
11/11/2009: campus holiday
11/16/2009: Guest Lecture - developing for iPhone
- Assignment (due before class on 12/07/09): Final Presentation and Report
11/18/2009: Social Psychology [Slides ] [ Readings ]
11/20/2009: Due (in section): Pilot Usability Study
11/23/2009: Persuasive Technology [Slides ] [ Readings ]
11/25/2009: Current Directions in HCI [Slides ]
11/30/2009: Ethics and Averting Disaster [Slides ] [ Readings ]
12/2/2009: Course Summary [Slides ]
12/7/2009: Final Presentations
12/9/2009: Final Presentations
12/12/2009: (Saturday) Final Exam, 8-11am
Information
Instructor: John Canny
Teaching Assistant: Anuj Tewari
Email (for all class related issues): cs160(at)imail.eecs.berkeley.edu
- Please avoid emailing the TAs and the Instructor directly. You will receive a response much faster if you use the email address above.
- You may also choose to email us anonymously.
Meeting:
- Lectures: MW 10:30AM-12:00P, 306 SODA
- Discussion Sections: Friday 10:00AM-11:00AM, 405 SODA; Friday 11:00AM-12:00PM, 405 SODA
Office Hours:
- John: 637 Soda Hall, M 2-3, Tu 3-4pm
- Anuj: 544 Soda Hall, Friday 12:00PM-1:00PM
Textbook: There is no required textbook for this class. There will be readings assigned for each lecture. The readings will be available online through this wiki. If you are interested in reading further take a look at the recommended reading list.
Requirements
CS160 is an upper division course, and one of few where you will work extensively on one significant programming project. To participate fully in this course, you are required to have taken CS61B. We will assume that you are familiar with either Java or C++ and are comfortable coding a large-scale project.
You will be expected to actively participate in lectures, complete readings ahead of time, and, most importantly, participate fully in your group project. The teaching staff will promptly return graded homework to you, and will be available to provide feedback and help with problems.
Note that the majority of the work in this course is conducted in the form of a semester-long group project. Unlike other courses, dropping the course before the end of the semester has negative consequences for your other group members. So once you have joined a group please make sure you are committed to staying in the course.
- You are expected to read the assigned readings and post 1 substantive comment to the discussion on this wiki about the readings before class. Late comments on the wiki will NOT be accepted. There will be plenty of opportunities in class to apply that knowledge and in-class participation will be part of your grade.
- The class is not curved but projects, assignments and participation scores typically have a narrow grade distribution every semester. Its important to do all the assignments to avoid getting a low grade.
- You will be expected to turn in written documentation at each stage of your project. You will also turn in working code. Each group member will help to give an oral presentation about your project.
- There will be a midterm exam and a Final.
- Most assignments will be turned in through this class wiki. Most assignments will be due before the start of the lecture during which they are due.
- Group assignments may not be turned in late. Individual assignments will lose 20% per day they are late.
- Each group is responsible for making sure that all members are participating. As part of the project reports, you be required to describe the effort put in by each member, both on specific tasks and as a fraction of the group’s effort. Make sure you discuss this regularly, to make sure your group is in agreement about the work breakdown.
- If a group member is not participating, the entire group must meet with the teaching staff. Effective group work (which entails some amount of conflict resolution) is a key skill for success in industry. We would like you to work through conflicts if at all possible, and we will devote some class time to this topic.
- If you have a question about a grade, you should meet with one of the TAs. You can come to the professor if the issue cannot be resolved with the TA's help.
- Cheating will not be tolerated, and will get you an F in the class.
Grading
- Class participation (10%)
- Individual assignments (20%)
- Group project (40%)
- Midterm (15%)
- Final (15%)
Late Policy: Group assignments may not be turned in late. Individual assignments will lose 20% per 24 hours they are late.
Note: This is largely a design class. Unlike most other CS classes there is not always a single "correct" design soution. Usually there are many possible designs with different advantages and disadvantages. In this class you will learn to both design new interfaces and evaluate the pros and cons of the interfaces you design. As you complete the assignments for this class you should try to point out both the pros and the cons of the interfaces and applications you design.
Design is typically evaluated in a qualitative manner. As a result a significant portion of the grading in this class will be qualitative, including assessments of the end user experience of the system and the quality of your designs, evaluations, and prototypes.
Assignments
The majority of the homework in this class will be oriented around the project. Many of these homework assignments will be done in with your project group, but some assignments (or parts of assignments) must be completed individually. We provide a rough schedule of the assignments here (the schedule may change over the course of the semester and we may choose to add or drop assignments).
- Create Wiki Account - Individual (Sept 2)
Tips and Tricks
Are now available here
How to use and edit this wiki
New to wikis? Read the Wiki editing guide.
To contribute to this wiki, you'll need to first create an account. Please use your full name as your user name as in this example. Afterwards, please add some descriptive information about yourself on your personal page -- click your login name (next to the person icon) at the top of the page to access your personal page.
To facilitate discussion we have created the [add comment] button that appears at the bottom of each page. Clicking on the button will allow you to add a comments, ideas or question to the current page. The comments will include your user name and the date in the section heading. Try adding a comment to the discussion page for a lecture.
Credits
This lectures, format and syllabus of this class are based on HCI classes taught by Maneesh Agrawala, Ben Bederson, Francois Guimbretiere, Marti Hearst and James Landay. These authors have kindly provided access to their lecture slides and my own slides borrow from their earlier work.

