Main Page

From CS160 Spring 2014
Jump to: navigation, search

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.



Week 1

W Jan 22: Introduction [ Slides | Live Lecture Video YouTube ]

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

Due: Course Petition
Due: Reading Response to Monday's Reading
Due: Individual Design Exercise, Part 1

Week 2

M Jan 27: Design Cycle, Brainstorming, Sketching, Storyboarding, and Critique [ Slides | Readings | Submit Response by 1/24! | Lecture Video ]

W Jan 29: Sound-Based Interaction [ Slides | Readings | Submit Response | No Lecture Video as YouTube complains about third party content in lectures - come to class ]

Th Jan 30: Section 2

F Jan 31: No class, but assignments due

Due: Individual Design Exercise, Part 2 11:59pm
Due: Individual Programming Assignment 1 11:59pm

Week 3

M Feb 3: In Class Group Brainstorming [ Slides | Readings | Submit Response ]

Meet in 306 Soda; then move to Wozniak Lounge
Assignment due before class on Feb 10: Group Brainstorm
Assignment due before class on Feb 10: Group Collaboration Plan
Assignment due by 11:59pm on Feb 14: Individual Programming Assignment 2

W Feb 5: Task Analysis and Contextual Inquiry [ Slides | Readings | Submit Response ]

Th Feb 6: Section 3 Android SDK Part II, Starting a successful group project

Week 4

M Feb 10: Conceptual Models [ Slides | Readings | Submit Response ]

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

Week 5

M Feb 17: No Class - Academic and Administrative Holiday

W Feb 19: Heuristic Evaluation [ Slides | Readings | | Submit Response ]

Th Feb 20: Section 5 (Android media capture APIs)

F Feb 21: No class, but assignments due

Due: Individual Heuristic Evaluation 11:59pm

Week 6

M Feb 24: Human Information Processing [ Slides | Readings | Submit Response ]

W Feb 26: Input Devices and Prototyping [ Slides | Readings | No Response Due (but you are responsible for the material) ]

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

Week 7

M Mar 3: Engineering Interfaces I: Layout, Widgets, Events [ Slides | Readings | Submit Response ]

Assignment due before class on Mar 5: Mid-Semester Feedback
Fill out the Loaner Device Survey

W Mar 5: Engineering Interfaces II: MVC, Multithreading [ Slides | Readings | Submit Response ]

Due before class: Mid-Semester Feedback
Don't forget about the Loaner Device Survey

Th Mar 6: Section: Working with Sound

Week 8

M Mar 10: Usability Testing [ Slides | Readings | Submit Response ]

Due:: Low-Fidelity Prototype Video
Assignment due before 11:59pm on Mar 21: Low-Fidelity Test and Iteration
Assignment due before class on Mar 12: Individual Team Assessment 1

W Mar 12: Statistical Analysis [ Slides | Readings | No Reading Response - Complete Online Experiment instead ]

Due: Individual Team Assessment 1

Th Mar 13: Section: Midterm Review

Week 9

M Mar 17: Midterm Review [ No Readings - come with questions | Slides ]

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

Week 10

M Mar 24: Spring Break - No class

W Mar 26: Spring Break - No class

Week 11

M Mar 31: Graphic Design and Gestalt Principles [ Readings | No Response | Slides ]

Due: Individual Programming Assignment 3

W Apr 02: Visual Information Design [ Readings | Submit Response | Slides ]

Th Apr 03: Section: Presentation Tips

F Apr 04: 15min Team Check in with Instructors. 1pm-6pm. Sign up for an appointment slot.

Week 12

M Apr 07: Interactive Prototype Presentations I [No Readings | No Slides]

Due: Interactive Prototype

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

Week 13

M Apr 14: Collaboration and Social Software [ Readings | Submit Response | Slides ]

Assignment due by 11:59pm on Wed Apr 17: Team Assessment II

W Apr 16: Historical Perspectives [ Readings | Submit Response | Slides ]

Due by 11:59pm: Team Assessment II

Th Apr 17: Section: Design Review II

Week 14

M Apr 21: Future Interactions [ Readings | Submit Response | Slides ]

Assignment due on Apr 22: Team Update

W Apr 23: Start-Up Panel [ Readings | Submit Response | Slides ]

Guest Speakers from the following companies: Tangible Play, 3Gear, SquarePoet, Embark (acquired by Apple 2013)
Due: Pilot Usability Study
Assignment due on May 5: Final Presentation and Poster
Assignment due on May 12: Final Video, Code

Th Apr 24: Section: Staff Team Office Hours

Week 15

M Apr 28: Crowdsourcing [ Readings | Submit Response (last reading response) | Slides ]

W Apr 30: Last regular lecture Course Summary, Research Directions [ Slides (Deliverables), Slides (Research) | No Readings | ]

Assignment due on May 12: Final Team Assessment

Th May 1: Section: Final Deliverables, HCI at Berkeley and Beyond

Week 16

M May 5: No Class; Practice Talks

Due: Final Presentation and Poster

W May 7: Final Presentations: Public Presentations+Posters (2-5pm, CITRIS Auditorium and Atrium)

M May 12: by 11:59pm

Due: Final Video, Code
Due: Final Team Assessment



Teaching Staff

  • 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

Office Hours

  • 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%)

Late Assignments

  • Individual assignments lose 33% per day (weekends count)

Regrade Policy

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.