Welcome to CS 160: User Interface Design and Development!

CS 160 is the introductory course to the field of Human Computer Interaction (HCI). In this class, students will learn to design, prototype and evaluate user interfaces. Unlike most classes, CS 160 will not focus on any particular set of algorithmic techniques, instead students will learn techniques for user-centered interface design (e.g., prototyping, contextual inquiry, heuristic evaluation etc). This summer, we will use front-end web development technologies (HTML, CSS and JavaScript) and a backend for prototyping.

The course features two parts: (1) five weeks of curriculum and practice, and (2) three weeks of a final project.

Curriculum and practice: For the first five weeks, lecture occurs three days a week (Monday, Tuesday, and Thursday), studio once a week (Fridays during lecture), and section occurs twice a week. While lectures and studio focus on introducing core HCI concepts, sections reinforce these concepts and help students improve technical skills. Outside of class, students will work individually or in pairs on weekly projects. Weekly projects allow students to engage in the design cycle and develop technical skills.

Final project: Using design methodologies and technical skills learned during the first five weeks, students will work in groups for the last three weeks to ideate, prototype and implement a final project. Students will choose their own design methodologies and project topic within a theme. During the last three weeks, final project studio will take the place of lecture and studio. Final project studio provides in-class time for teams to work together and receive feedback from course staff.

The instructors for this summer’s CS 160 course are Janaki Vivrekar and Nate Weinman.

On this website, you can find the schedule of topics and course policies, and below, projects deadlines and readings, as well as office hours.

Upcoming Project Checkpoints

This is the authoritative list of upcoming deadlines. Come to lecture and check on this list regularly for updates. All readings are due before class on that day. Other assignments are due at midnight Pacific Time the end of that day.

Week 1

Mon, 6-21
reading
reading
Tue, 6-22
reading
project 1
design
project 1
prototype
Wed, 6-23
project 1
evaluate
Thu, 6-24
reading
reading
project 1
prototype
Fri, 6-25
reading
quiz

Week 2

Tue, 6-29
reading
project 1
prototype
project 1
Wed, 6-30
project 3
design
project 3
design
Thu, 7-01
reading
reading
Fri, 7-02
reading
reading
reading
project 2
project 3
design

Week 3

Tue, 7-06
reading
reading
reading
reading
reading
project 2
project 3
evaluate
Wed, 7-07
project 3
design
Thu, 7-08
reading
project 3
prototype
project 3
evaluate
Fri, 7-09
reading
project 3
design
prototype

Week 4

Mon, 7-12
reading
Tue, 7-13
reading
project 3
prototype
project 3
Wed, 7-14
project 4
design
Thu, 7-15
reading
project 4
design
Fri, 7-16
project 3
project 4
evaluate
project 4
design
prototype

Week 5

Mon, 7-19
reading
project 4
design
evaluate
project 4
design
prototype
Tue, 7-20
reading
reading
project 4
design
Thu, 7-22
reading
project 4
prototype
Fri, 7-23
project 4
prototype
Sun, 7-25
project final

Week 6

Mon, 7-26
project 4
evaluate
Tue, 7-27
project 4
Fri, 7-30
project 4
evaluate
project 4
project final

Week 7

Mon, 8-02
project final
Fri, 8-06
project final

Week 8

Tue, 8-10
project final
Thu, 8-12
project final
Fri, 8-13
project final
project final
project final

Sections and Office Hours

Office Hours with Janaki and Nate scheduled by appointment slot only, or email to find a different time.

Credits for this course

The syllabus, lecture slides, web content, and assignments of this course are only the most recent iterations of a long history of HCI classes. This iteration of the course, at the very least, draws from prior course materials by Sarah Sterman, Andrew Head, Amy Pavel, Cesar Torres Torres, Björn Hartmann, Eric Paulos, Valkyrie Savage, Maneesh Agrawala, Scott Klemmer, John Canny, and James Landay.