You will work on significant programming projects during CS160. To get the most out of the class, you are required to have taken CS61B or have equivalent programming experience. The more programming experience you have, the more you can focus on the user-centered design concepts which are the focus of the course.

The course will primarily use front end web development languages: HTML, CSS, and JavaScript. Students will be expected to program in these languages independently. Some sections will help teach programming in these languages, however you will be responsible for learning what you need. We will additionally use a backend, Python and Django, but we will provide support and skeleton code for backend programming.

Required Supplies

In lieu of a text book, you will be required to have supplies for designing and prototyping activities. Make sure you have all of the supplies on this list. Ideally, you will acquire your design supplies for the first assignment. At the latest, you will need supplies for the first wireframe assignment and studio critique.


If you haven’t already, create accounts with the following web sites. You will use them for communicating with peers and course staff, for doing work, and for submitting your projects.

Site Purpose Description
Piazza Questions and Announcements Make sure you are enrolled in Piazza, and are receiving notifications. We will use Piazza for answering questions, and for all time-sensitive announcements.
Slack Discussion and Design Archive Make sure you join the course Slack, and are receiving notifications. You will document your projects on our Slack workspace. This will let us have a shared archive of everyone’s designs that everyone can view.
bCourses Assignment Submissions You will submit links to your projects and receive grades through bCourses. Note that we will NOT use bCourses for announcements; make sure you are subscribed to Piazza.
GitHub Project Code You will create your project code respositories through our course Github page. This lets us distribute starter code, and keeps all the projects in the same place.


You are expected to attend all lectures and all studios. Everything that we say in class may be included in any assessment, and may be difficult to obtain through other channels. Lecture will consist partly of breakout room discussions, which will not be recorded. After lectures, you will be expected to complete a “quiz” focused on the breakout room topics, which will be simple to complete for those in attendance. Studio will be spent working on group delivarables that are required for the homework.

If you are in timezone such that the course is at a reasonable time, you will be expected to attend class as scheduled. However, we understand that students may be working in different time zones this semester, and it may not be feasible to attend class at the required times. To support students in other timezones, we will set up 1-2 alternate times where students can join a Zoom room and watch recorded lectures together. Though the breakout rooms will not be recorded, these students can create their own breakout rooms to discuss the topics at this time. We will set up the same mechanism for studio. Students that are unable to attend the live studio will be required to find their own partners to complete group delivarables for the homework assignments.

Sections are not required, but we anticipate in many cases they will be extremely useful to your success in the course and beyond. Make sure you do not have conflicts with at least one section time for each topic so you can get timely help preparing for assignments and practicing skills.

Grading Policy

Final grades will be determined with the following breakdown:

30% Weekly projects: The weekly projects each consist of Design Cycle Checkpoints. Each checkpoint will be graded independently with a detailed rubric. These rubrics will be released with the grades. All submissions should adhere to the guidelines for successful submissions.

30% Final project: Final projects take place during the last three weeks of class in assigned groups of 4-6. For grading, we will take into account several aspects of the final project process: teamwork and participation, design checkpoints, observation/needfinding, evaluation, implementation, and deliverables (e.g., presentation, poster, article).

20% Participation: Your participation grade is determined based on your attendance, preparation, and participation in class and studio, and the feedback you provide on your peers’ designs. It is also determined by your activity on the course Slack and Piazza. Studio takes place on Fridays for the first 5 weeks of class, and you will provide feedback on peers’ designs.

20% Assessments: Every week for the first 6 weeks, there will be a quiz. The quiz will cover content throughout the week, so we encourage you to complete it progressively during the week instead of waiting until the end. It will be multiple choice and short answer, and will cover lecture material (including breakout room prompts), readings from any prior week, and readings from the current week. There is no midterm or final exam.

Late Policies

Unless otherwise specified, assignments will have a 24 hour grace period. This is meant to be used for extenuating circumstances, or if being in a different time zone makes it challenging to complete a particular assignment in time (e.g., responding to peer feedback). This should be used as an exception, not as habit, or else it will be easy to fall behind.

In order to efficiently process all other extension requests, we are using the following Google form: If you would like to request an extension on an assignment, please fill out this form before the due date, as this allows us to easily evaluate and make a decision on your request.

If you are not in the Disabled Students Program and would like to request an assignment extension (i.e. under extenuating circumstances) - please include as much information and/or documentation as possible to help us understand the nature of your request. If you are in the Disabled Students Program, and we have received a copy of your DSP accommodations letter, timely requests for extensions <= 4 days are automatically approved.

If you require an extension longer than 4 days, we may need to check in with you, and work out a plan to keep you on course for success in the class.

The DSP point of contact TA for this course is Shm Garanganao Almeda - ( Feel free to reach out if you have any questions or concerns, or to discuss how we can best support your success. Our goal is to make the course as accessible and supportive as possible!

Dropping a quiz grade

In addition to the policy above, we will drop your lowest quiz grade. If you need to miss a single quiz, that quiz will receive a 0 but can be dropped as your lowest score.

Group Work

When you work in pairs and groups, each group is responsible for making sure that all members are participating. After each project, you will be asked to describe the effort put in by each member of the group, 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.

Etiquette for Dropping the Course

The majority of the work in this course is conducted in pairs and groups. Dropping the course in the middle of a project will have negative consequences for your peers. If you drop the course, do so only after seeing through your current project. Please commit to the course by the time you are assigned to your final project group.

Attribution and Cheating

In this course, we encourage students to learn and draw inspiration from each other. In this class, you will do significant work in pairs and in groups. Though deliverables for some assignments are individual, and the final work should be your own, we encourage general discussion among students about the topics being covered in class.

Citing sources

For the design portion of weekly projects (typically cycles I/II) and the final project we encourage you to draw inspiration from existing work and seek feedback on your designs. Be sure to cite your inspiration sources and feedback partners. When drawing inspiration from existing designs, focus on elements you want to incorporate (e.g., bold colors, low contrast, sharp corners) rather than copying the design as a whole. One rule of thumb is that you should be able to justify how your design differs significantly from existing examples.

For the implementation portions of weekly projects, write your own code. It’s important to us that each of you know how to assemble user interfaces on your own so you can be productive contributors to your group. As such, you may speak with other students about their assignments, and can see parts of their code, but no copy and paste is tolerated. Cite any resources from which you borrow source code or algorithmic ideas to your project, including Stack Overflow and external GitHub projects, as a comment adjacent to the code with a URL to the source and a description of what you reused.


Quizzes are meant to reflect your current understanding of the concepts, and must be completed independently. Your answers can include things you have learned from readings, lectures, or discussions with others.


If you are feeling overwhelmed or highly stressed by the course requirements, please reach out to the instructors. Cheating and plagiarism will not be tolerated, and will get negative (not zero) points on the assignment. Please familiarize yourself with the UC Berkeley Student Code of Conduct. We expect all students and teaching staff to conduct themselves according to the UC Berkeley Honor Code.

Climate & Incident Reporting

We aim to create a class where students work respectfully with each other and feel they are treated equitably by our course staff. However, we acknowledge that may not always be the case.

If you ever think that you (or another student) are being marginalized, excluded, or being treated disrespectfully, please fill out this EECS Student Climate & Incident Reporting Form. You are also more than welcome to reach out directly to either Janaki or Nate.


I have a question, how do I contact the teaching staff?

Please use Piazza for all course-related questions. If you have a technical or logistical question about an assignment, please use the class messaging feature on Piazza. If you have a personal issue pertaining to the course, you may use the private messaging feature on Piazza to message staff. Piazza lets us organize and efficiently respond to questions. Please refrain from sending emails.

Are there any required supplies?

Yes. In lieu of a text book, we will require supplies for design and prototyping tasks. The supply list lives here. Ideally, you will acquire your design supplies for the first assignment. At the latest, you will need supplies for the first wireframe assignment and studio critique.

What can I talk about in office hours?

We will hold many office hours each week. Keep in mind they may be quite busy the day before challenging assignments are due. We highly encourage everyone to make use of office hours; examples of topics that can be covered include design critique of in progress work, debugging assistance, life advice, conceptual brushups of course topics, etc.