Course Information

[UNDER CONSTRUCTION: this content is still being updated and not finalized yet]

The goal of this course is to give you hands-on practice with a modern human-centered design process while building a web application to serve a set of target users. Here are some logistics that will help us achieve this goal.

Computer Programming Prerequisites

In order to succeed in this course, you will need to do a large amount of web programming. You must have taken CSE 8B or CSE 11 to enroll in this course. Students who have not taken CSE 8B or CSE 11 will automatically be dropped from the course and will not receive a grade.

Code of Conduct

Our priority is to provide a welcoming and inclusive environment so that all students can fully focus on learning. Thus, everyone involved in the course (staff + students) should agree to show respect and courtesy to each other. To make this commonsense phrase more concrete, we have adapted the following Code of Conduct from the Recurse Center:

This course is dedicated to providing a harassment-free learning environment and community for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, religion, or anything else. We do not tolerate harassment in any form.

All communication related to this course, in person and online, should be appropriate for a professional audience including people of many different backgrounds. Sexual language and imagery is not appropriate in this course in any context.

While this course as a whole is a professional community, it's also a community of friends. We ask you to be aware of the fact that conversations that may be appropriate within the context of a specific friendship or relationship with another member of the course may be inappropriate in a group conversation with classmates or staff members you don't know well.

Be kind to others. Do not insult or put down others in the course. Behave professionally. Remember that harassment and sexist, racist, or exclusionary jokes are not appropriate for this course.

Thank you for helping make this a welcoming, friendly community for all.

Team Formation

All work in this course will be done and submitted in teams of 3 or 4. It is your responsibility to form teams; the staff will help out, but we will not proactively assign anyone to your team without your authorization. (Exception: if you have only 2 people on your team, then we may assign a third person to your team.) If you cannot find a team by the Add Deadline, then you cannot remain in the course.

If you are waitlisted or not registered, then team up with other waitlist students if possible. Otherwise if you can't get into the class, then the team you joined might end up having 2 members and we will have to assign them a third member.


Bring a laptop to lectures and studios for hands-on work. If your laptop's battery won't last the entire class, arrive early so you can sit near a plug. If you do not have a laptop, or yours breaks, you can borrow one from the UCSD Biomedical Library. Restrict your laptop use to class-relevant activities like doing the exercises or taking notes. Be respectful of your neighbors, so try to stay off Facebook, email, games, etc.; it distracts other students, not just you. We also assume all students will have access to a digital camera (e.g., on your phone) for assignments.


There is no final exam, but there are two midterm exams held in lecture (Exam 1 and Exam 2). The exams are closed-note; you may not use any outside resources.

What will exams cover? Anything covered in the lecture slides and example code. You'll have to know how to read code on the exam, but you do not need to write code yourself from scratch. We won't grill you about some nitpicky code construct that appears only on the corner of one slide in tiny font; the coding concepts that you will be tested on will often appear in multiple slides. If you understand the example code from lecture, then you should have a good understanding of the required material for exams.

Weekly Assignments and No-Late Policy

In your weekly assignments, you will progressively design and develop an interactive web application, which will culminate in a final presentation at the end of the quarter. You should submit your assignments as documents on your GitHub account.

No late assignments will be accepted. This is because you will present your work in Wednesday studio every week, so you need to be prepared to participate. If there is a problem with the website that makes it so you cannot submit your assignment, you must message your TA on Piazza by 1:00am or else you will receive a grade of zero for it. You can do this only once.

Another reason for our no-late-assignments policy: Any of your team members can make a submission, so in case one or more members are out sick or are overwhelmed at the moment, the remaining members can be there to make up the work for a given week and submit the assignment. We give you enough advanced notice on due dates to plan around when some of you will be busy.

In-Person Grading Sessions

Your TA will grade your project milestones in person to give you the best possible feedback. This means that you should be in class for grading days to present to your TA. Even though by default all team members will receive the same grade, if your TA notices that certain people are consistently absent or not participating, then they have permission to assign a lower grade to those students.

Teammate assessments

For each assignment, you will privately assess your own and your teammates' performance (called a "teammate assessment"). In general, everyone on the team will earn the same grade. However, if a majority of the team reports on their teammate assessments that an individual was more/less successful in achieving their goals, that individual's grade may be adjusted accordingly.

Grade composition and scale

Letter grade only: the "credit/no credit" option is not available.

[TODO: update grading rubric]

Do not ask the professor about grades

Do not email, Piazza message, or ask the professor about your grades. Everyone follows the same set of grading rules, which are set at the beginning of the quarter and clearly written. This class rewards high-quality, on-topic work that follows the rubrics.

At the end of the quarter, the entire staff meets to go over any special circumstances that may warrant minor grade adjustments. Please do not message us at the end of the term to dispute your grades. In the end, we will make final grading decisions that are the most fair for all students in the class, not just those who happen to be more persistent at arguing.

Academic Integrity

The staff works hard to help you learn course concepts and gain the skills necessary to be an ethical member of society. We expect your help in achieving these goals. If you cheat, you not only fail yourself (in that you won't have gained critical skills), but you fail UCSD (by lowering the expected quality of our degrees). Thus, we have a personal responsibility to both you and to your fellow UCSD students – and we take it seriously. So don't cheat. We will submit an allegation report on anyone we believe to be not upholding our academic integrity contract. This is processed through UCSD's Academic Integrity Office.

Aside from being bad for you, cheating is also highly inconsiderate to your classmates, since all the time and energy that the course staff spends dealing with the paperwork of cheating cases means less time to devote to the vast majority of students in class who are doing good honest work.

As a reminder, the following is an excerpt from the UCSD General Catalog section on Academic Dishonesty:

No student shall engage in any activity that involves attempting effort, for example:

  1. No student shall knowingly procure, provide, or accept any materials that contain questions or answers to any examination or assignment to be given at a subsequent time.
  2. No student shall complete, in part or in total, any examination or assignment (including clicker participation) for another person.
  3. No student shall knowingly allow any examination or assignment to be completed, in part or in total, for himself or herself by another person.
  4. No student shall plagiarize or copy the work of another person and submit it as his or her own work.
  5. No student shall employ unauthorized aids in undertaking course work.
  6. No student shall, without proper authorization, alter graded class assignments or examinations and then resubmit them for regrading.