CS 546: Human-Computer Interaction

Course Syllabus

Course: CS 546, Human-Computer Interaction, Spring 2019
Location: Fuller Labs 311
Tuesdays & Fridays 4-5:20
Professor: Erin Solovey
Email: esolovey   @   wpi.edu
Office: Fuller Laboratory B21
Office Hours: Posted on website
Grader: Nishant Doshi
Email: ndoshi   @   wpi.edu
Office: Zoo Lab, Fuller A21
Office Hours: Thursdays: 3:30-4:30pm

Why the Human is first in Human-Computer Interaction

For computer scientists, the word design is too often used exclusively in the context of code and architecture. The result of this narrow perspective is that engineers have a habit of building complex, intricate products that are wonderfully functional, but never used. When they are used, neglecting people in your design can lead to unexpected consequences that range from clumsiness to discrimination for individuals, groups, or cultures.

In this course, we will study both people and technology to understand the behavior that computers encourage or constrain. Through a variety of modalities, we will deliberately practice processes that result in useful, usable, and maybe even inspirational computer interfaces.

Why it's not just about Computer Science

Every year that you have attended school, computers have been increasingly woven into the fabric of your everyday life. We don't interact with computers simply when we sit in front of their screens anymore. They are in front of our faces when we eat dinner, telling us where to go when we drive our cars, and the medium through which we express many of our relationships.

This means that we can't dismiss the quality of our interactions with these devices as something trivial or unimportant. Computers are simply too pervasive in our lives. The quality of our interactions with computers has a direct impact on our overall quality of life.

Practically, if you write an application that people can't use, they won't use it. Many of the dominant companies that we are familiar with received a jump start by emphasizing core usability principles in the beginning stages of development.

Given these stakes, we need to deeply consider What is the best way for us to interact with computers? How can we quantify or capture this notion of 'good design'? How can we build applications of our own that are designed well? In this class, you will learn about:

  1. Human-Centered Discovery: Identify design problems that can be solved using computational means. This will allow you to develop ideas that fit actual human needs.
  2. Human-Centered Design Processes: Develop a process for exploring and testing solutions to design issues. This will allow you to use research-validated approaches to creating apps that people find a pleasure to use.
  3. Research-Driven Design Solutions: Utilize existing and emerging interaction techniques to improve the way that people engage with the world around them. This will allow you to develop a design intuition - using design ideas and principles to build user-centered applications.
  4. Human-Computer Interaction Research Practices: Practice the prototyping, programming, critical reading, writing, and speaking skills necessary for human-computer interaction research. This will allow you to explore the latest research in the field of human-computer interaction and make novel contributions to the field.


Students are expected to have mature programming skills. Knowledge of software engineering would be an advantage.


Participation, Professionalism, and Critique

When the core content of a course involves people, engagement is absolutely critical. We will be doing design exercises in class, testing new software on each other, and providing critiques of each others' work. This portion of your grade is significantly higher in HCI than some of your other courses for this very reason. Coffee up! It involves:

Reading, Watching, Listening

While many HCI courses come with a standard text book, I believe that there is more than enough freely available information online. The resources link on the course webpage has links to helpful articles and resources.

Each week, our course schedule will contain a set of content you are asked to consume. Often this will involve short readings, YouTube videos, podcasts, or slide decks. My goal is to transform the lecture section of the course into a design studio as much as possible. While there will a lecture roughly once a week, talking through a million examples only gives you limited design capabilities. Iterating through, presenting, and critiquing each others' designs is where you will really learn to build in a human-centered way.

Aside from internet sources, here are a few of the excellent books that we will be drawing from (I'll link to restricted pdf excerpts). If you want to dive deeper, they are all freely available to borrow as ebooks from the WPI's Library:

I will give reading quizzes on this content.


Each student will give a presentation and lead a discussion on one of the special topic readings. Presentations will be done individually, and you will be asked to post slides about the reading, including your analysis and critique of the work, and then lead a discussion on its context in the course.


Assignments will solidify and expand on topics presented in lectures. Some assignments involve implementation of a user interface using web technologies (HTML/CSS/Javascript); lectures will introduce whatever knowledge of is needed of these languages to complete the assignments. Some of these will be done in class. Any work unfinished at the end of class will be completed on your own time before the next class meeting. Other assignments revolve around the team project.

Team Project

The course will include a multi-week team project that brings together all aspects of the learned material. The initial waypoint will include group discussion of interface prototypes to get feedback for future work. The final week will include demonstration sessions in which everyone presents their projects and results to the class. Teams will be assigned, and a background survey will be administered to help this process.


There will be no exams.


Most assignments will have a rubric that explains how the grade for that assignment is determined. Please pay careful attention to the rubrics! They tell you EXACTLY what you should do to receive full credit, and also will explain EXACTLY why you may have lost points on an assignment. Check your assignment against the rubric before turning it in for best results! In addition, you will often be required to turn in a self-assessment along with your submission.

All aspects of this course are important for developing an understanding of and appreciation for building user interfaces. The grading breakdown will be as follows:

Within each group, the group members will also evaluate one another. The student group grades and the individual performance evaluations (as determined by team members) will then be used to establish final student grades.

The core of the design cycle relies on feedback. If you do not complete something on time, then it offsets the entire cycle. In a real job, you must have something to present to your client. I expect the same from you. As a result, I will not accept late assignments. While special circumstances may warrant an extension, failing to complete an assignment in time to present it or get feedback will result either in a 0 or a grade of no more than half your final grade on the the assignment.

If you cannot complete an assignment, you should turn in whatever work that you have completed along with a reflection on the assignment (Why couldn't you finish it? What was harder than you expected?).

The following final grades are possible: A, B, C, D, F, I.

If there is a numerical error when computing your final grade from raw scores, please email and we will fix the numerical error.

Teammate Peer Evaluation

Over the course of the project, you will use the CATME system to evaluate yourself and your group members. This will be your opportunity to give feedback about your opinion of the performance of your team members. If there are certain team members that are clearly not pulling their weight, or who are doing more than their share of the work, the individual’s final project grade may be adjusted to reflect this at my discretion.

Regrade requests

After receiving a grade on an assignment or exam, you have one week to request a grade change. After the one week period, you may ask questions about the grade, but your grade will not be changed. If you believe there is an error in your assignment or exam grading, submit an explanation in writing to your grader. 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. Note that they regrade the entire assignment. This may mean that you will receive a lower grade than before, and you cannot appeal again for another re-grade.


The instructor will disseminate important announcements by email through the course mailing list, and also post these announcements on Canvas. Also, Canvas contains a timeline with links to all information (lecture slides, assignments, etc.) relevant to the course.

Writing Center

The mission of the Writing Center is to work interactively with WPI students to improve written, oral, and visual communication. The trained writing tutors provide individual and group peer tutoring on a range of projects including course papers, presentations, dissertations, and job-related documents. They provide an approachable peer resource for students seeking assistance with their communication projects.