Creating new products that meet diverse needs requires a diverse classroom. If you are a student who is not from the Computer Science department, Management Science & Engineering department, or Symbolic Systems program, there may be some flexibility in these prerequisites. Please speak to the instructor or come to the first class for more information.

CS 147 or equivalent experience in design research is the first prerequisite for this course. This class moves quickly and assumes that you already have learned the basics of the design process and have executed a significant design project previously. This class focuses deeply on subsets of the design process. If you have never taken a design or HCI course, you could probably understand the content but you would not be well prepared to integrate it into the broader process.

CS 193P/A or equivalent mobile app programming is the second prerequisite for this course. All students will need fluency in building native mobile applications to complete the project. Every student must make a contribution to their team's implementation, from creating layout files or implementing parts of the front or back end. That said, some may do more of the programming work, and others more of the user testing work. Project teams will benefit from being multidisciplinary.

Assignments and Grading


The class consists of a single, quarter-long project with seven deliverables (P1–P7) throughout the quarter. You will share progress on these deliverables each week. The final project culminates in a presentation and poster at the end of the quarter in front of invited design jurors.

Submission guidelines can be found here. Late assignments will not be accepted. There are two reasons that assignments need to be submitted on time. First, to be able to provide you with rapid feedback about your work, the teaching staff begins looking at assignments immediately. Second, you'll present your work in studio, and you need to be prepared to participate.

Rubrics will be posted beneath each assignment that explain how you and the staff will grade your submission. Different columns represent different scores.

Grade breakdown

The course grade is broken down as:

  • Projects: 90pts
    • P1 Lit/Competitive Review: 5pts
    • P2 Data from field study: 15pts
    • P3 Elevator pitch of app: 10pts
    • P4 Usability Study Summary: 15pts
    • P5 Demo of working app: 10pts
    • P6 Field Usability Study: 10pts
    • P7 Final Report/Presentation: 25pts
  • Participation: 10pts


Letter grade only: the "credit/no credit" option is not available. We have learned through hard experience that teams that are composed of students on different grading outcomes tend to end up in flames.


Regrades will be allowed, but will only earn 50% credit on any new points gained.


Attendance is required in all lectures and studios. Each class will include interactive components that are important to participate in for your quarter-long project. Please clear absenses with the instructor.

Encouraging An Open Design Environment

The open exchange of ideas and the freedom of thought and expression are central to the class’s goals. These aims require an environment that recognizes the inherent worth of every person and group, that fosters dignity, understanding, and mutual respect, and that embraces diversity.

It's possible for even well-intended students to accidentally alienate your peers. Your designs can make unwelcome assumptions that don't fit some lives, and it's also possible for your critiques and conversations to constitute what's called harassment. Harassment means unwelcome or even hostile behavior, including speech, that intimidates, creates discomfort, or interferes with a person's participation or opportunity for participation. That behavior will shut the person down in class or studio, and that is simply not fair and not something we want in an open design environment. Harassment can involve nationality, age, color, creed, disability, gender, sexual orientation or any other protected status. It also extends to unwelcome sexual advances. A response that the participant was “just joking,” or “teasing,” or being “playful,” is not acceptable. If you have witnessed or experienced any harassment, please let an instructor know privately and promptly.

Frequently asked questions

What's the amount of time involved in the class?

The class should take a total of about 12 hours per week (3 in class). The implementation and study weeks might be a bit heavier while other weeks may be lighter.

When do we form groups?

Groups will form during the first week of the class. You may also come with a pre-formed group of 3.

One or more of my teammates aren't pulling their weight...

In classes as in life, some team problems are inevitable. As soon as you encounter subpar performance by a teammate: talk to them and accurately record their performance in your team assessment. There are many benefits to speaking up early. First, you've made your expectations clear so your teammate can adjust their performance. Second, it's on record in case things get worse later. Past performance is the best predictor of future performance, and transparency is the best management tool. If you speak up early, we can help. If you wait until late in the quarter to speak up, you share responsibility for the problem — and there's little we can do - we will assign all members of a group the same grade.

...Can I fire them or quit?

If you have a serious problem with your teammate(s), email them with your concerns, cc'ing your TA and professor, requesting that the team attend office hours to discuss the issue. If this discussion doesn't ameliorate the issue, you may notify your teammate(s) via email (cc'ding the instructor) of your intention to quit/fire them unless performance improves. Finally, if performance doesn't improve, you may email your teammate(s) (cc'ing the instructor) with your resignation/firing. A teammate who quits or is fired is responsible for future assignments on their own. This short essay by Oakley et al. provides great advice on diagnosing 'hitchhikers' and dealing with them effectively.

I would like to take another class that overlaps this class. What should I know?

Class attendance is required because the in-class material and exercises connect the principles taught through lecture to the design project work. In short: CS 377U is an attendance-required course.

A personal issue (health, family event, other commitment) will take me away from class. What should I do?

Most importantly, let the teaching staff know ASAP. The sooner we hear from you, the more we can help. If you give your team a heads-up quickly, they're sure to be empathetic. If you just disappear for a few weeks, they'll be unlikely to want you back. Even if you have a good reason, no one likes being left out in the cold.

Fairness requires us to grade on performance, not desire. Think about if this issue came up when you were about to take the SAT — or if it came up in a job. Realistically, if you're away for more than a week, you have two choices: you can push forward and accept lower performance, or you can drop the class and retake it when you have more time.