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 or have equivalent knowledge. We will assume that you are familiar with Java and are comfortable coding a large-scale project.

In Fall 2015 CS160 will undergo a series of transitions. First, it will take place within the new Jacobs Institute for Design Innovation building (Room 310 to be exact). The course format will be modified to run on a single day (Thursday) in two blocks (AM Block from 10:30am-noon) and (PM Block from 1-2:30). All enrolled students must be able to attend the full AM and PM blocks. In addition there will be sections held on Fridays. During the first half of the semester these blocks will be used for lectures and workshops focusing on core HCI techniques and material. A midterm will be held. During the second half of the semester, students will break into smaller groups (roughly 5-6 students) across three studios within Jacobs Hall. Within these smaller teams, students will work on a larger scale design project using the three hour studio time as worksessions, critique time, and for direct interaction with faculty and teaching staff. Students will be expected to attend these studio times. A final project critique and public showcase will replace a final exam.

We will be able to accommodate twice the number of students (up to 200) into CS160 than in past semesters. Enrollment will use the standard policy for computer science upper division courses and will no longer use a separate application process. This means that, unlike in previous semesters, waitlist position will matter and students declared as LSCS or EECS who want to prioritize enrollment into this class should consider using phase I of telebears to sign up for CS160.

Once enrolled, you will be expected to actively participate in lectures, complete readings ahead of time, complete a number of small programming assignments, 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 a substantive reading response before class. Late comments 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.

There will be two types of assignments: programming assignments and project assignments. Programming assignments will be individual exercises; their main goal is to teach you the skills needed to successfully execute on your project. Project assignments will be done in groups.

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.

Most assignments will be turned in online through either bCourses or

Project assignments may not be turned in late. Programming assignments will lose 33% per day they are late.

You are required to own an Android phone running at least Android version 5.0+ (Lollipop) that can be used for development, deployment, documentation, and evaluation of your work. Use Android API 21.

Each group is responsible for making sure that all members are participating. As part of the project reports, you are 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 the GSI. You can come to the professor if the issue cannot be resolved with the GSI’s help.

Cheating will not be tolerated, and will get you an F in the class. Please take time to view the UC Berkeley Student Code of Conduct

We expect all students and teaching staff to conduct themselves according to the UC Berkeley Honor Code