Prerequisites

CS106B or equivalent programming experience is a prerequisite for this course. The prerequisite exists because all students will need some fluency in building interactive systems to complete the project. Every student must make a significant contribution to their team's implementation; students who are unable to do so should not take the class. 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. Students with less programming experience (and e.g., more design experience) should consider partnering with students who with complementary strengths. Additionally, we presume that all students will have access to a digital camera for use in assignments.

Students without the expected background can take CS 77 instead.

Bring a laptop to class, lab, and studio

Bring a laptop to class, especially lab and studio. This is a course requirement because of the hands-on work we'll do. If the laptop's battery won't last the whole class, arrive early to get a set near a plug. (And you may want to bring an extension cord.) Please restrict your laptop use to class-relevant activities, like doing the exercises or taking notes. No Facebook, email, etc. How come? It distracts other students, not just you.

Lab

The laboratory curriculum teaches you the tools for designing and implementing effective interaction designs. It functions as an interactive session with downloadable code and walkthroughs.

Lab slides will be up on the class website the day before lab. Each week, there will be a lab assignment due at the end of class. You should be able to complete the lab assignment by attending the lab session and following the instructor. However, you may choose to try complete the lab assignment on your own between Monday night and Wednesday class time. If you run in to any issues and need help, please come to the Wednesday lab session to complete your assignment. Otherwise, you may turn in the lab assignment in advance and do not have to come to lab, except when there is a quiz.

If you encounter problems with submitting your lab assignment that cannot be solved by the end of class, there are TAs that hold office hours after lab to help. You are welcome to come get additional help with these problems. Lab assignments can be submitted until 3:30 Friday afternoon, when the TAs meet to grade assignments, specifically for these cases.

Studio

Friday studios will provide you an opportunity to meet in smaller groups in order to discuss and reflect on weekly assignments and project progress. Studios will focus on self and peer assessment, as well as specific activities intended to supplement and expand on ideas from lectures.

Students in CS 147 only are expected to sign up for exactly one studio time-slot by 11:59PM on Wednesday (1/8) of the first week of class. In order to sign up, you must first complete this preliminary enrollment survey. Upon completion, you will receive a link to the sign-up site.

Note for CS 77 students and auditors: As mentioned in class, it is possible for you to join studios, but please do not attempt to sign-up through Catalyst. We want to ensure that the sign-up process is completed for students in CS 147 before adding any additional students. In addition, we ask that you team with other auditors if you choose to attempt a project, to avoid situations which might be unfair to students working for a grade.

Studio Themes

Collaboration (Sanjay)

This quarter, you will be designing applications designed for mobile phones - communication devices that we carry around with us everywhere we go. In this studio, we'll focus primarily on projects designed to influence and transform the ways that people interact with each other or their larger community. Your application might focus on connecting individuals or facilitating interaction across larger communities or even cities. How might your application address issues of privacy and relevance? Will your application target casual, social activities, or serious, professional use cases? Will your users communicate synchronously or over long time intervals?

Change (Julie)

Change is hard. Sometimes because we lack information, and other times because our routines or habits are hard to shake. Can technology help people and communities change their behavior to meet their goals? New electronic devices (computers, phones, tablets...) can help by providing information, reminding us, and connecting us with others. Want to keep a commitment to running more? Go with a friend. Change might mean exercising more, eating healthier, helping make a more sustainable planet, or participating in local government. It might even start with something as simple as remembering to see the world from a new perspective.

Digital Self (Jon)

Mobile devices are excellent tools for tracking our daily activities and interactions with others. But what kind of data is appropriate to gather? What meaning should we assign it? And how can we use it to set goals, make changes, and reflect on our place in the world? In the digital self studio, we will seek out answers to these questions in an effort to improve individual well-being (think health, fitness, time management, and interpersonal relationships).

Glance (Graham)

We are surrounded by information -- some might even call it overload -- and we don't have the time to sift through all of it. But we also compulsively check email, Twitter, Facebook, and the news -- just in case there's something new there. Instead of doing the filtering and finding ourselves, why not let our mobile devices do it for us? How might mobile technology show us the essential pieces at a glance, we so we can quickly navigate through the noise to get to what we really want? How can a mobile screen summarize information and present just the most relevant parts? Consider the sphere of information that interest you (news, learning, personal quantification, etc.) and think about how microinteractions with this information can shape and be shaped by our lives.

Time (Gilbert)

The Pomodoro Technique encourages us to structure our working time more efficiently. Toys like the Tamagotchi demand our periodic attention and time. We install sofware to tell us we've been spending too much time on Facebook. We build clocks to track the progression of epochs. In this studio, we'll spend our time exploring how to design around time (seconds, minutes, months, or years). Will your app help users gain control of their time, or (perhaps, more nefariously) help users control others' time? Will it be used constantly or once in a blue moon? Can it enhance people's perception of time? Or maybe help them lose track of time altogether.

Language (Omosola)

Language shapes our conversations, limits who we can and cannot interact with, restricts us or frees us to express certain emotions. In this studio, we will explore ways in which technology can interact with human language, tackling questions such as: How can technology facilitate communication between global teams, moving us beyond linguistic or cultural barriers? How can technology facilitate learning and using new languages? How do technological constraints shape our use of language (e.g. How have short forms of communication, like SMS or Twitter, changed the way we use language?)

Style (Jingshu)
"Style is knowing who you are, what you want to say, and not giving a damn."

Our style -- expressed through fashion to art, architecture, and everyday life -- describes us and defines the way we live. It's a matter of both internal self-image and external projection. Technology is changing the way we discover, create, and share style. Consider startups in this area like Pinterest, Polyvore, and Quirky. Many of these apps were not specifically designed for mobile phones, leaving a lot of room to reimagine and innovate by considering how we could make full use of mobile devices. How might we capture instant inspiration from our surroundings? How might your users work together to define new trends? What's the future of shopping, fashion shows, music festivals, and museums? It's your call - turn on your swag and design cool apps!

Health (Will)

Mobile phones and smart devices have great potential to improve the ways people monitor, preserve, and improve their health. Phones have been used to assist and inform doctors, track and support compliance with treatments, and passively or actively gather patient information. Successfully designing for health requires tackling challenges around providing usable interfaces and navigating privacy concerns. Beyond these challenges lie real opportunitise to improve the lives of people in meaningful ways.

Learning (Kingston)

Learning is an integral part of becoming who we are. Whether it be American history or how to beat Candy Crush, we are constantly learning new skills and knowledge. In this section, we focus on what it means to learn and different interfaces with which we can encourage learning (both formal and informal). Already, we have seen enormous strides in how we learn from online education to iPad apps that a 3-year-old can use. How else might technology impact the way we learn?

Collaboration (Heidi)

In academic, professional, and other environments, collaboration is key. When we work together towards a shared goal, we can be more creative, move faster, and learn from each other. In this studio, we'll focus on creating solutions to help people improve the way they collaborate. How can we help people find the best collaboration partners? How can we facilitate meaningful collaboration over the lifecycle of a project? How can we improve communication within a team (tackle scheduling problems, improve coordination for non-colocated groups, etc.)? How can we help teams recognize each member's strengths and partition tasks effectively?

Emotion (Stephen)

Technology now touches almost every aspect of human experience, one of the most central of which is emotion. Through both hardware and software, designers now have the opportunity to affect users’ emotions in a number of ways. We might design software that helps people to track and reflect on their own emotions or we might design applications that help people form more intimate relationships. Well-designed software and hardware can even encourage users to form emotional connections to the technology itself. In this studio, we will explore projects which design for emotional connections with technology.

Assignments and Grading

Deliverables

You'll have a weekly design project, submitted online by Thursday 11.59pm and shared in studio on Friday. Your project work culminates in a presentation and poster at the end of the quarter in front of invited design jurors. Your team will share its quarter-long design project.

You will use Coursera to submit your work. Your assignments will be submitted online as a body of plain text and a series of digital photograph attachments. Do not spend time "beautifying" your submission. Submit early! Late assignments will not be accepted. There are three 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 meets on Friday afternoon to grade. Second, you'll present your work in studio every week, and you need to be prepared to participate. Third, after the submission deadline, students can view each others' assignments, so that you can learn from each other. We encourage you to see what your peers are up to.

There are rubrics 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 out of 250 points, comprising:
  • Ten weekly assignments (13 to 25 points each) total 165 points.
  • Three in-class quizzes total 37 points.
  • Self assessments total 23 points: one point each for completion, one point each for accuracy (self within 2 points of staff), and three points for the end-of-quarter team assessment.
  • Participation : 25 points (10 for Labs, 10 for Studio, 5 for Class)

Credit

Letter grade only: the "credit/no credit" option is not available. (CS77 is graded S/NC.)

Regrades

It is very important to us that all assignments are properly graded. The teaching staff works extremely hard to grade fairly and to turn around assignments quickly. We know what you work hard, and we respect that. Occasionally, mistakes happen, and it's important to us to correct them. If you believe there is an error in your assignment or exam grading, please submit an explanation in writing to your studio TA within 7 days of receiving the grade. We will regrade the entire assignment to ensure quality. No regrade requests will be accepted orally, and no regrade requests will be accepted more than 7 days after receipt of the assignment. Regrade requests must be respectful; we will not consider any regrade requests containing disrespectful language.

Self and team assessment

Every week in studio you will submit a self-assessment of your work for that week's assignment. You will receive the your grade if the two grades (staff grade and your grade) are within 1 point of each other, otherwise you will receive the staff grade. Submitting a self-assessment is a prerequisite for receiving a grade. (Even if you miss studio, you are still responsible for submitting a self-assessment.) For team projects, you'll submit a self-assessment 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.

Why this approach? Being able to successfully assess your own performance in comparison to a given criterion is a skill that you will draw benefit from, both as a student and in your professional career. 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 using the yardstick of the setting.

Attendance

Design is a contact sport, and studio is where the action is. Sharing your work and discussing designs with others is an important part of your design education. Therefore, studio attendance is mandatory. To receive credit for attendance, you must arrive on time. You are allowed two excused absences for the quarter without penalty; thereafter you will receive zero credit for the missed studio. To receive an excused absence, you must ask your studio leader in advance, and receive an acknowledgment from the studio leader.

If you are more than 5 minutes late (or leave early), you will be marked as absent. Because of the number of group activities that we do in studio, it's important that everyone comes on time.

  • 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.
  • Varsity athletes who would like to miss more than one studio to participate in athletic competitions must make any request before the study list deadline (the first day of class). No exceptions will be granted after the study list deadline.
  • No late assignments will be accepted, but you may submit them early. If there is a problem with the website that makes it so you cannot submit your assignment, you must email your TA by 1am or else it’s a 0. You can only do this once.
  • The participation grade comprises both lecture and studio participation.

CS77

CS77, the non-implementation version of the course, focuses on the core concepts in the material without any implementation requirements. It is ideal for non-majors who want to learn the material and are concerned about having sufficient programming background.

Requirement CS 147 CS 77
Prerequisites CS106B or equivalent (co-requisite for graduate students) none
Units 4 (3 for grad students w/cap) 2
Grading Letter S/NC
Required attendance Lecture+Lab+Studio Lecture only
Counts towards major or masters degree Yes No

Frequently asked questions

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

There's a healthy amount of work involved. 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. A decent project usually takes 5-10 hours of out-of-classroom collaboration time throughout the quarter - just remember not to leave things to the last minute!

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

There's a healthy balance of all three. Mondays will be lectures and principles (or sometimes activities) which supplement the videos. Wednesday is purely engineering. Friday is the time you'll have to share and give feedback on your progress.

The class teaches node.js and Javascript. Can our group use Ruby?

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.

What about a native iOS or Android app?

No. There is too large an overhead for the TA's to grade prototypes that are native apps. Additionally, TA's might not have a device that runs the platform you're building for, and we don't want to allow students in one studio to have iPhone prototypes and not allow the students in another studio to do the same. However, many sensors that used to be only available to native apps are now available via the web. For example, the camera, accelerometer, and geolocation can all be accessed via the web.

If I'm familiar with the course materials, should I still attend lab?

Yes. We'll be asking you to pitch in and help other students during the lab.

Do I have to go to studios?

Yes. Attendance at studios is mandatory.

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. 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.

Are there any midterms or finals?

Nope! (There are 3 in-class quizzes. The quizzes are closed-note, so you may not use any outside resources.)

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

Design can excel in many ways, and often the best designs are unanticipated. To acknowledge and encourage this, each assignment offers a few points for this truly out-of-the-box work. Great design is also rare. So these points can only be achieved by at most 5% of submissions. If it helps, you can think of this as kind of like an A+.

When do we form groups?

You will form groups in the studio on the second Friday of the quarter. You can form and sign up for studios as a group but they have to be groups of 3. We'll be encouraging everyone to form groups as soon as possible so that you can pool resources. In the second studio, during team formation make sure to ask your potential teammates 2 questions. 1) When are you available to meet? 2) What level of performance to you intend to achieve? This will help you find like-minded teammates.

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.

I was signed up for 77 but I want to do the programming too for 147. Can I switch?

Definitely! The Wednesday labs will introduce (mobile) Web application programming, so if you feel up for the challenge (and have at least a CS 106B-level programming background), join us in the lab!

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. Amongst 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.

What will the quizzes cover? you should be able to...
  • Describe merits and drawbacks of interfaces using the ideas from Direct Manipulation & Representations (and other relevant class topics), e.g., what makes an interface more "natural"?
  • Quantitatively analyze input performance using Fitts' Law
  • Critique an interface using Heuristic Evaluation (and other relevant class topics).
  • Improve the visual/information design of an existing interface using principles from the readings and design lectures
  • Improve the collaborative potential of an interface using principles from the social software lecture
  • Describe how to design and perform a user study, analyze the results, and critique a given user study design (both in the "lab" and online).
  • Describe the relative merits of alternative study designs (both in the lab and online).
  • Test for statistical significance using a t-test or CHI-squared test. (You won't need a calculator, and you don't need to memorize any formulas. A table and formula(s) will be provided.)
  • Be generally familiar with vocabulary terms from in-class & video lectures
I was thinking of designing for tablets - is this okay?

It's fine as long as you can 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.

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. Consequently, CS147 students may miss 3 days of Monday/Wednesday class without penalty. (CS77 students may miss 2 days of Monday class without penalty.)

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

Most importantly, 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.

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

If you have a question, post it to the forum — don't send email. This includes all questions about assignment clarifications and class requirements. The reason: 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.

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 Michael and the teaching staff really value your presence and questions.

With 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.