CS 3041: Human-Computer Interaction

Course Syllabus

Course: CS 3041, Human-Computer Interaction, B-term 2019
Location: Higgins Lab 218
Tuesdays & Fridays 3-4:50

Professor: Erin Solovey
Email: esolovey   @   wpi.edu
Office: Fuller Laboratory B21
Office Hours: Posted on website

TA: Chris Micek
Email: cjmicek   @   wpi.edu
Office: Fuller A22
Office Hours: Mondays: 3-4pm

SA: Cormac Lynch-Collier
Email: cglynchcollier   @   wpi.edu
Office: Fuller A22
Office Hours: Thursdays: 4-5pm


Every year, computers are increasingly woven into the fabric of our 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 throughout the day, 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 cannot 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.

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?

This course covers the methods and tools for user-centered practice in human-computer interaction. You will learn to identify design problems that can be solved using computational means. This will allow you to develop ideas that fit actual human needs. You will use a principled process for developing an idea, iterating on it, and communicating it to others. You will develop knowledge about characteristics of good interfaces and tools that can be used for prototyping and implementation. You will evaluate and improve upon your designs at all stages of the design process.


Students are expected to have some programming skills. Knowledge of software engineering would be an advantage. However, this course is not a programming-intensive course. We will focus on processes for building human-centered solutions.

Lectures and Class Participation (8%)

Lectures are intended to be interactive, and class participation is highly encouraged -- please ask questions early and often! 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. A typical class meeting will involve reflection and/or clarifications on the previous class meeting, an introductory class activity, a short lecture on the topic of the day, additional activities to reinforce the material. Missed in-class activities receive a score of 0. We count your top 8 in-class activities in your final grade. There will be at least 10 during the term.

Reading and Pre-Class Activities (10%)

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 short readings or other materials. There will often be a short assignment to do along with the reading. In addition, there will often be a short quiz that covers the reading and/or the previous lecture.

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:

Assignments (50%)

The course will include assignments that will solidify and expand on topics presented in lectures. Assignments will be hands-on, and students will be asked to design and conduct usability studies and present analyses of user data. Assignments will be mostly individual work components, with each building on the previous one. However, there will be some aspects of the assignments that will involve collaboration with classmates, and this will mostly be done in class. The final week will include demonstration sessions in which everyone presents their results to the class.

Labs (20%)

Labs are designed to introduce the basics of building a simple 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 lab work unfinished at the end of class will be completed on your own time before the next class meeting. The lab work will provide a foundation for the project implementation.

Exams & Quizzes (8%)

There will be no exams, but there will be frequent quizzes. The quizzes will cover any pre-class reading and/or the previous lectures. If you miss class for any reason, it is your responsibility to review course materials that you missed before the following class. This includes lecture notes and in-class activities. Missed quizzes receive a score of 0. There will be at least 10 quizzes throughout the 14 class meetings. We will count your top 8 quizzes in the grade.

One Minute Responses (4%)

After each class, there is a required one-minute response. These are designed to very quickly reflect on the class and the responses are used to assess areas that need further clarification. In addition, the feedback is taken seriously to make course adjustments throughout the term as needed, and to improve future offerings of the course.


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 following final grades are possible: A, B, C, NR.

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

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.


We will primarily use Slack for communication. Make sure that you have joined the class workspace. Please post all questions and comments in the main channels as you may get a quick response from a classmate. In addition, you are encouraged to respond to comments when you can assist a classmate. If you have a private question, you can send a direct message to the teaching staff, but be sure to include the TAs/SAs as well as the professor. The instructor will also disseminate important announcements by email through the course mailing list via Canvas, 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.