Prerequisites

You must have taken CSE8A/11 AND (DSGN1 or COGS1 or COGS187A) to enroll. Students without these prerequisites will be dropped from the class and will not receive a grade. Why CSE8a/11? because all students need some programming fluency to complete the course project. While some students may do more of the programming and others more of the other pieces, every student must make a significant programming contribution to their team. Why DSGN1/COGS1/COGS187A? Because students need basic knowledge of human cognition to do HCI.

Equipment

Bring a laptop to class, lab, & studio 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 Biomedial Library. Restrict your laptop use to class-relevant activities like doing the exercises or taking notes. No Facebook, email, and so on. It distracts other students, not just you. We also assume all students will have access to a digital camera for assignments.

Lab

Each week's lab will help you learn tools and techniques to implement Web applications. Lab walkthroughs will be posted on the class website the day before lab. We strongly encourage all students to attend lab in person because the teaching staff (and your peers!) can help you. However, you may choose to complete labs on your own. We work hard to make sure that labs can be completed within classtime. That said, we know that students go at different places and sometimes go slower. If you are still working at the end of classtime, just let your TA know in person (not Piazza) and we will give you additional time. Labs are individual assignments; your submission must be your own work.

If you can complete the stretch goal during classtime, awesome! That said, we don't expect everyone to do the stretch goals; they're there for students already familiar with the technologies who want to push themselves further. Our class has students with really widely varying prior experience with these web technologies, and stretch goals help accommodate that. We don't expect everyone to do the stretch goals. If you don't have time to do the stretch goal in class and would like to do more programming, we encourage you to spend that effort on your project.

Assignments

In the weekly design assignments, you will progressively design and develop an interactive web application. This group project will culminate in a presentation and poster session at the end of the quarter in front of invited design jurors. Use www.gradescope.com to submit your assignments online by 11:59pm each Thursday. You should submit your assignments as a pdf or word doc. Do not spend time "beautifying" your submission.

No late assignments will be accepted. There are two reasons for this no late policy. First, to be able to provide you rapid feedback on your work, the teaching staff meets on Friday afternoon to grade. Second, you'll present your work in Friday studio every week, and 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 1am or else you will receive a 0. You can only do this once.

Grading

Rubrics

Each assignment has a rubric explaining how the course staff will grade your submission. These rubrics have been developed over the years to clearly describe what we think mastery of each assignment entails. True mastery in any field is a lifelong process. (We don't expect you to become Garry Kasparov or Jony Ive in just 10 weeks. That will take until next quarter.) But for this course, 'mastery' means performing at the level described in the rubric. Make sure to review the entire assignment description, and especially the rubric, before starting your assignment.

Feedback

The instruction staff will necessarily need time to thoroughly evaluate each assignment, and for some assignments this can be a very time consuming process before forming teams. Our intention is to give timely and effective feedback generally by the end of the weekend after submission, but sometimes we may need an entire week to grade all of the assignments.

Self & team assessment

Part of being a designer - or practitioner in any field - is being able to accurately assess how well you are doing. Helping you acquire that metacognitive skill is one of the course goals, so you will grade every assignment you submit using the assignment rubric. This is not always an easy task and we hope that this exercise will help you improve your self-assessment skills and get you start thinking about how to evaluate your own work.

If your self assessment grade is within two points of the grade received on Gradescope, your final score will be the average of the two. If it is not within two points, your final score will be the grade on Gradescope.

For team assignments, you will self-assess as a team and then individually assess your own and teammates performance. In general, everyone on the team will earn the same grade. However, if a majority of the team reports that an individual was more/less successful in achieving their goals, that individual's grade will be adjusted accordingly.

How well does self-assessment work?

Occasionally, a student will say that self-assessment feels like 'guessing'. If so, students are very good guessers. With impressive consistency, well over half of all students self-assess within 1 point of the staff grade, and well over 80% are within 2 points.

Students overwhelming report learning a lot from self assessment. Many appreciate being able to assign their own grade, but some are uncomfortable with the responsibility. There's a philosophical reason why your self-assessed grade counts: it's your life! That doesn't mean we're not paying attention. If you've been to driving school, you know that you get to drive the car, AND there's an instructor right next to you in the passenger seat. They often have a brake pedal for emergencies. This class is like that. You drive, but we're right there next to you, paying attention and correcting when necessary.

Having both self and staff assessment is more work for us, not less—that's how much we believe this will help you learn to think like a designer.

Regrades

The teaching staff works extremely hard to grade fairly and return assignments quickly. (We grade each assignment together to insure consistent grading across studios.) We know you work hard, and want you to receive the grade you earned. Occasionally, grading mistakes happen, and it's important to us to correct them. If you believe your assignment score does not match the rubric, submit a regrade request on GradeScope and include an explanation, within 7 days of receiving the grade. Select any rubric item in contention to see the 'request regrade' button at the bottom (we recommend that multiple queries be combined in a single request). This explanation should list the score that you think is most accurate for each rubric item, and explain why that score is more accurate than the one you received. A second staff member will regrade the entire assignment to ensure quality, and their grade will be your final score. Make sure that the staff have access to all materials needed (e.g., the version of your app as of the submission deadline, login information, images or physical copies of any materials shown in person but not submitted online). Requests made orally, after 7 days, or with disrespectful language will not be accepted. Verbally hassling or emailing your TA with grading questions automatically earns you a 0 on the assignment. You will receive your revised and final grade within 7 days of submitting your regrade request.

Attendance & Participation

Design is a contact sport, and studio is where the action is. studio attendance is mandatory because sharing and discussing designs with others is central to design. To receive credit for attending, you must arrive on time (no more than 5 minutes late) and stay for the entire session.

You are allowed two excused absences for the quarter without penalty; thereafter you will receive zero credit for any missed studio. To receive an excused absence, you must ask your studio leader in advance, and receive an acknowledgment from them. Excusable absences include family emergencies, job interviews, and presenting at a conference. It does not include wanting to leave early for long weekend or vacation. Attending another class during lecture or studio is not an excusable absence. Athletes who would like to miss more than one studio to participate in athletic competitions must ask their studio leader for permission in week 1.

Grade composition & scale

Letter grade only: the "credit/no credit" option is not available. The course grade is out of 200 points, comprising:
  • Ten weekly assignments: 125 points.
  • Four in-class quizzes: 30 points. 10 points each, drop lowest.
  • Self & team assessments: 10 points (1 each for A1-A10)
  • Submitting Lab exercises: 16 points (2 each)
  • In Class Assignments: 4 points
  • Participation: 15 points (one unexcused studio absence: max 10. two unexcused: max 5. Three+ unexcused: no credit.) You'll earn the following fraction of your max based on your level of participation:
    Low: minimal participation in class/studio, never attended any office hours, and/or extraneous laptop use in class.
    Mid: some participation in class/studio, attended office hours
    High: active participation in class/studio + attended office hours

At the end of the quarter, point scores are translated into letter grades in the standard way. For example 180/200 is 90% and would earn an A-. In this class, as with any, the grade you earn reflects your performance. We don’t 'mark off' for anything.

Academic Integrity

The course staff and I work hard to help you learn computational concepts and gain the skills necessary to be a contributor in digital 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 undergraduate degrees). I have a personal responsibility to both you and to your fellow UCSD students -- and I take it seriously. So don’t cheat. I will submit an allegation report on anyone I believe to be not upholding our academic integrity contract. This is processed through UCSD's Academic Integrity Office.

The following is an excerpt from the UCSD General Catalog section on Academic Dishonesty:

No student shall engage in an activity that involves attempting to receive a grade by means other than honest 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.

Frequently asked questions

What the course covers

How much time should I expect to spend?

By university guidelines, students should plan on averaging 15 hours a week for a 5-unit class. In post-class surveys, students report spending 10-12 hours a week on this class. Some spend less; others spend more. As with any design experience, you get out what you put in. Great projects explore broadly and dive deep, and needfinding, design, implementation and evaluation take time to do well. Expect to spend a good deal of time outside of class with your team building your project.

What's the distribution of engineering, designing thinking and psychology?

There's a healthy balance of all three. The first class each week will cover design principles and methods. The second class each week gives you practice building interactive Web applications. Friday is the time you'll have to share and give feedback on your progress.

Are there any midterms or finals?

Nope! There are closed-note in-class quizzes…

What will the quizzes cover?

Anything in class is fair game: lecture, lab, studio, videos, & the web site (hint: including this logistics page). You may not use any outside resources during the quizzes.

I'm unable to attend class on a quiz day, what should I do?

We know that all sorts of things happen: unexpected health issues, job interviews, family emergencies, car breaks down, etc. and that there may be a quiz that you aren't able to attend or properly prepare for. To accomodate all of these issues in a scalable way, we will automatically drop your lowest quiz score. You can use this freebie in whatever way makes the most sense for your life; please do not post to Piazza about this.

When do we form groups?

In studio on the second Friday of the quarter. You may work with anyone in your studio. Ask potential teammates two questions: 1) When are you available to meet? 2) What level of performance to you intend to achieve? Form a team with peers who have compatible answers to yours.

Attendance and Waitlist

What do I do if I'm waitlisted?

If you are number 20 or lower on the waitlist, attend lecture. Because you won't have an account registered with the class, you cannot sign up for studio or submit work online.

If you would like to be admitted, complete the assignments and attend any studio, turning in work physically. If/when you are admitted and sign up for a studio, we will credit this work.

I'm an international student. How do I get an email and ID number?

Have your advisor email postmaster@ucsd requesting a UCSD email for you. For Web pages requiring a PID, first register for an extension ACMS Account follow this link you need this account to login to UCSD Coursera site. For assignment submission on gradescope.com, email your UCSD email and ID number to our Daniel Kong, tell him your Studio time and your studio leader's name

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/videos to the design project work. Often, you'll submit work in class that will count toward your participation grade. Arriving late or leaving early may prevent you from doing so. Because of the large number of students enrolled, these exercises must be done during class — we don't have the resources to make individual exceptions. However, we understand that life happens — you might have a family event, job interview, attend a conference, or get sick. If you need to miss class, you can receive attendance credit by submitting the in-lab (or in-class exercises when we have them) online anytime before then end of class.

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

Let your studio leader and your team 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. We recommend the second option whenever possible.

Can I have an extension? I have a lot of work in other classes, I'll be out of town, I'm generally overwhelmed…

No. It's not because we're callous – we've all been in your shoes. Two reasons: 1) because sharing work in studio is integral to the class, there's no practical way to offer extensions. 2) Psychology teaches us that people consistently believe they'll have more time in the future than in the present – and that it's a fallacy. We strongly encourage you to start early so that if issues arise you're not pressed up against a deadline.
When you pick classes for the quarter, make sure not to overcommit. In our experience, you'll learn more and have a better resume by doing a great job in a smaller of classes, rather than trying to take as many units as humanly possible and doing a mediocre job with all of it.

Teammates

My teammates and I have different project interests.

That's okay. If you happen to find a project that expresses your interests, awesome! But that's not really the point. And in some ways, it's a liability. A good designer can creatively solve any problem. If your design work addresses a topic that's not a particular interest of yours (and that's bound to happen quite a bit in the future), that's a great way to build your design thinking muscles because you have to learn what matters to users, rather than just relying on your internal knowledge.

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.

...Can I fire them or quit?

If you have a serious problem with your teammate(s), email them with your concerns, cc'ing the instructor, and 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.

Grading

Do I have to do the stretch goal?

Nope.

What is the 'out of the box' column in the rubric?

Design can excel in many ways, and often the best designs are unanticipated. You can do good design by following the rules, but to achieve great design you need to transcend them. Great design is also rare. To acknowledge and encourage this, the very top score in each assignment rewards unusually creative, out-of-the-box work. About 5% of submissions earn these points. If it helps, you can think of this as kind of like an A+.

Technology

The class teaches node.js and Javascript. Can our group use other technologies, like Ruby or a native app?

We recommend against it. Most group problems arise when one person strongarms their teammates into using another technology. Late in the quarter, it turns out that only one person can really do the work, and that causes all the problems you can imagine. If you use node.js & Javascript, lab will teach you key techniques and the TA's will help you if you get stuck. With other technologies, you're off-piste: we can't save you, and it can get awfully cold when the sun goes down. With that information, the choice is yours.

May I build on modules, like the ones on the jQuery website?

Yep!

Guidelines on using Wizard of Oz in the final project

The reason we implement things is to learn about how to better design the interaction, not to do busy work. By making your project more realistic, you will uncover design issues that may not be apparent with Wizard of Oz alone. Your final project will be evaluated on the design of the interactions, and you are certain to produce a better interaction if it is more realistic. Good heuristics to decide what to implement:

  1. If you can implement it, do it
  2. You should be focusing on the interaction design. If implementing it will take an inordinate amount of time, you should Wizard of Oz it in the most realistic way
  3. If it would be impossible for anyone to implement it, your design is wrong

To make this more concrete, consider the following two examples:

  • You are building a navigation application for pedestrians. This application will leverage GPS information to support wayfinding. In this instance it would be highly recommended that you implement GPS functionality for real, since it is central to the application.
  • You are building a social photo sharing application. Among a host of other features, you’d like this application to geotag photos if a GPS location is available. In this case, it may be appropriate to Wizard of Oz the GPS functionality, since it is not central to the application.
While implementing GPS functionality would take the same amount of effort in both cases, there is a much larger potential payoff for implementing it in the first case because it impacts a much larger portion of the interaction design.

Make sure to think about the easiest way to approximate the functionality you seek. For example, if you need basic phone call or message functionality, you may be able to make something sufficient just by using e.g., <a href="sms:">Send a SMS</a>

I was thinking of designing for tablets - is this okay?

Yes, as long as you make a compelling case that your application benefits from being on a tablet and that those benefits don't extend necessarily to a desktop app or browser.

Communication

I have a question that's not answered here. How do I contact the teaching staff?

Post it to the forum — don't send email. This includes all questions about assignment clarifications and class requirements. While you may think you're the only one with this question. with nearly 300 students, someone else is bound to be interested. Answering all questions in a public place means that every student has access to the same information. It's both efficient and fair. Similarly, if you solve a problem yourself, post how you solved it. Use clear titles and tags. And we only respond to questions that ask nicely ;)

Please only mark a post as private if it contains sensitive information. All other posts should be visible to the entire class so that everyone has the same information.

If you missed class (or will miss class) and would like to find out what's covered, review the syllabus materials then ask a fellow student to fill you in. Do not send email -- it's your responsibility.

Also, you're welcome to come to office hours and ask any question you want. You can ask questions about classes, internships, design, graduate school, jobs, or simply come to say hi, listen to other students questions, or share your background and interests. Office hours are for you, and Scott and the teaching staff really value your presence and questions.

With nearly 300 students, we unfortunately cannot accommodate requests to meet outside of office hours. We trust that if your question is important, you can find a way to make the time to come to office hours.

When can I expect a response by on Piazza?

We will respond to all questions on Piazza within 24hrs — please do not expect an immediate response.