CS 160 is an introduction to Human Computer Interaction (HCI). You will learn to prototype, evaluate, and design a user interface. You will be expected to work within a group of four or five students in this project-based course. The project topic will be proposed by your group, and your implementation will be tailored to your users’ needs based on interviews with them.
In contrast to most of the other CS classes at Berkeley, CS160 does not (only) focus on particular algorithmic techniques or computer technologies. Instead, you will make use of technology to develop your applications, and you will acquire some expertise in the development environment you choose. The focus of the course is on developing a broad set of skills needed for user-centered design. These skills include ideation, needs assessment, communication, rapid prototyping, algorithmic implementation and evaluation.
Project Theme: This semester, projects will focus on mobile applications that make use of sound input as a key feature of the application. Mobile applications present unique opportunities (e.g., sensors, microphone, camera) and challenges (e.g., text input). Your team will be developing applications using the Google Android SDK. You can use your own personal Android device for development. We encourage teams to purchase a recent Android device, e.g., the Nexus 7 tablet ($230) if none of your team members have a suitable device yet. We will also have a small number of Android phones and tablet devices available to borrow for the semester (one per team); these are older models and limited in number.
- If you'd like to borrow an Android device for the semester, please fill out this survey. Our loaner devices are somewhat old. If instead you'd like to buy the latest generation Nexus 7 device you get one for about $230.
- Overflow: After 306 Soda fills up, please go to our overflow room, 310 Soda. We will post a video of the first lecture online as well.
- Assignment due by 11:59pm on Friday Jan 24: Course Petition
- Assignment due by 11:59pm on Friday Jan 24: Response to Monday's Reading
- Assignment due by 11:59pm on Friday Jan 24: Individual Design Exercise, Part 1
- Assignment due by 11:59pm on Friday Jan 31: Individual Design Exercise, Part 2
- Assignment due by 11:59pm on Friday Jan 31: Individual Programming Assignment 1
Th Jan 23: Section 1
F Jan 24: No class, but assignments due by 11:59pm
Th Jan 30: Section 2
F Jan 31: No class, but assignments due
Th Feb 6: Section 3 Android SDK Part II, Starting a successful group project
- Due: Group Brainstorm
- Due: Group Collaboration Plan
- Assignment due before class on Feb 26: Contextual Inquiry, Task Analysis, Competitive Analysis
W Feb 12: Conceptual Models II, Usability Inspection Methods [ Slides | Readings | Submit Response ]
- Assignment due on Feb 21: Individual Heuristic Evaluation
Th Feb 13: Section 4
F Feb 14: No class, but assignments due
- Due: Individual Programming Assignment 2 11:59pm
M Feb 17: No Class - Academic and Administrative Holiday
Th Feb 20: Section 5 (Android media capture APIs)
F Feb 21: No class, but assignments due
- Due: Individual Heuristic Evaluation 11:59pm
- Due: Contextual Inquiry, Task Analysis, Competitive Analysis
- Assignment due before class on Mar 10: Low-Fidelity Prototype Video
- Assignment due before class on Mar 31: Individual Programming Assignment 3
Th Feb 27: Section 6: The one-hour prototyping challenge
Th Mar 6: Section: Working with Sound
Th Mar 13: Section: Midterm Review
- Assignment due before class on Apr 07: Interactive Prototype
W Mar 19: Midterm Exam
Th Mar 20: No section, but open lab hours to work on IPA 3 - GSIs will be there to help.
F Mar 21: No Class, but assignment due: Low-Fidelity Test and Iteration
M Mar 24: Spring Break - No class
W Mar 26: Spring Break - No class
Th Apr 03: Section: Presentation Tips
F Apr 04: 15min Team Check in with Instructors. 1pm-6pm. Sign up for an appointment slot.
M Apr 07: Interactive Prototype Presentations I [No Readings | No Slides]
W Apr 9: Interactive Prototype Presentations II [No Readings | No Slides]
- Assignment due before class on Apr 24: Pilot Usability Study
Th Apr 10: Section: Visual Redesign
- Assignment due by 11:59pm on Wed Apr 17: Team Assessment II
- Due by 11:59pm: Team Assessment II
Th Apr 17: Section: Design Review II
- Assignment due on Apr 22: Team Update
Th Apr 24: Section: Staff Team Office Hours
- Assignment due on May 12: Final Team Assessment
Th May 1: Section: Final Deliverables, HCI at Berkeley and Beyond
M May 5: No Class; Practice Talks
W May 7: Final Presentations: Public Presentations+Posters (2-5pm, CITRIS Auditorium and Atrium)
M May 12: by 11:59pm
- Brittany Cheng (GSI)
- Steve Rubin (GSI)
- Eric Xiao (GSI)
- Elizabeth Lin (Reader)
A working knowledge of programming is required. CS61A/B are one way to satisfy this requirement. If you have not taken these courses but are comfortable with Java, you will be fine. If you don't know Java but are confident you can learn another programming language quickly you will be fine as well.
- For all technical questions, use the CS160 Piazza Q&A Site.
- For private questions, send a private message on Piazza.
Please avoid emailing the Instructor or the teaching staff directly. You will receive a response much faster if you use Piazza.
You may also choose to send Piazza messages anonymously.
- Lectures: 306 Soda Hall MW 5:30-7pm
- Discussion Sections: 405 Soda Hall -- Th 11am-noon, Th noon-1pm, Th 4-5pm, Th 5-6pm
- Maneesh: 535 Soda Hall, T 4-5pm and by appointment
- Bjoern: 533 Soda Hall, M 4:30-5:30pm and by appointment
- Brittany: 651 Soda Hall Alcove, Th 2:30-3:30pm
- Steve: 510 Soda Hall (Visual Computing Lab), W 1-2pm
- Eric: 651 Soda Hall Alcove, M 11am-12pm
- Participation: (Reading responses, class, Piazza - 10%)
- Individual Programming Assignments - 25%
- Midterm (25%)
- Project Assignments (40%)
- Individual assignments lose 33% per day (weekends count)
- NO LATE SUBMISSION FOR GROUP PROJECT ASSIGNMENTS
To request a regrade for an assignment, please write up a detailed explanation for your request, print it out, and hand a physical printout to Bjoern or Maneesh during class or office hours. Please do not email the course staff directly or request regrades on bCourses.
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.
Android Devices (Buying and Borrowing)
The course project this semester will be based on Google's Android SDK. Although we have a few Nexus 7 Android Tablets (previous generation) -- enough to supply one per project group -- we strongly recommend obtaining your own device. Owning the device will facilitate completion of the individual projects and also make it easier to work on the group project in parallel. Any Android Tablet or Phone will work as long as it can run a recent version of Android (v4.2 or later). We recommend buying the latest generation Nexus 7 Tablet online where we have been able to find it on sale for about $230. You can also work with a previous generation Nexus 7 Tablet which costs about $175.