CS160 User Interface Design Fall 2016

Schedule for final week

See assignments here

Tues, 12/6 from 1-4pm

Final group presentations. Similar to the presentations you did in class. bCourses link here. Remember that the presentation is due the night before!

Thurs, 12/8 from 9:30-11:30am

Final project showcase. Science-fair style showcase of your final projects in 310 Jacobs, open to the public! Refreshments will be served. Poster required - link here. Materials provided: foamboard, easel, and binder clips. More details!

Course Description

CS160 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. Your project topic will be proposed by your group and your project design and implementation will follow a human-centered process. The final result will be an interactive prototype of a novel user experience carefully tailored to the needs of your intended users.

In contrast to most of the other CS classes at Berkeley, CS160 does not primarily focus on particular algorithmic techniques or computer technologies. Instead, 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's project theme is companion apps - mobile applications used to interact with and configure consumer electronics. The Internet of Things is exploding in importance. Connected devices are everywhere: smart thermostats, WiFi-enabled light bulbs, activity monitors, touch screens on refrigerators, Bluetooth padlocks... the list is becoming endless.

An oft overlooked element of the success and failure of these devices is the associated mobile app that is used during setup, remote access, and often daily operation of the device. Meticulous design and engineering of consumer electronics can be undone in the marketplace by a lackluster companion app experience. This semester, we will focus on the design and implementation of these companion experiences.


Your team will be developing companion applications using the Kinoma software platform. Kinoma is a cross-platform app development framework built on top of JavaScript. If you are not yet familiar with JavaScript, there are many helpful resources on the web for getting started. Note that most online JavaScript tutorials are at least partially targeted at web development within the context of a browser. That is not the model used by the Kinoma platform - Kinoma is closer to pure ECMAScript plus a custom UI framework.

Technical support for the Kinoma platform and Kinoma Create will be handled on the Kinoma Forums. Both your course staff and the Kinoma Team will be monitoring that forum to help you with any issues you encounter.

Quick Info

Lecture Time

Thurs. 2-5pm

Lecture Room

310 Jacobs


Oct 20

Final Project

Dec 8, 9:30am