Course Information/Syllabus

Human-Computer Interaction Some Systems programmers!

Course Description

Some sample videos helpful to the course.

Registrar Description: Covers the principles of human-computer interaction and the design and evaluation of user interfaces. Topics include an overview of human information processing subsystems (perception, memory, attention, and problem solving); how the properties of these systems affect the design of user interfaces; the principles, guidelines, and specification languages for designing good user interfaces, with emphasis on tool kits and libraries of standard graphical user interface objects; and a variety of interface evaluation methodologies that can be used to measure the usability of software. Other topics may include World Wide Web design principles and tools, computer-supported cooperative work, multimodal and “next generation” interfaces, speech and natural language interfaces, and virtual reality interfaces. Course work includes both the creation and implementation of original user interface designs, and the evaluation of user interfaces created by others.

Prerequisites: Knowledge of a high level programming language and experienced using Unix/Windows/Mac; restricted to students in the College of Computer and Information Science. If you do know C, Python, Javascript/D3, or Processing Library then you should consult the instructor.

From your instructor: You are going to learn a pipeline for building, prototyping, and ultimately delivering a piece of software or hardware learning from principles discovered in this class. This class is collaborative, in that you will work in teams with your classmates everyday.

The course Piazza page is a forum where you may ask questions. This is a forum you may ask other instructors/students clarifying questions (read: Do not ask for answers) or for helpful tips. You can ask questions anonymously or using your name. Using this resource will often be much faster than e-mailing the instructor directly.

The required textbook for this course is: Ben Schneiderman's Designing the User Interface (6th Edition)

Course Objectives

By the end of this course, you will be ready to:

Schedule/Road Map

The following is our tentative syllabus for the course. I will announce in class or through e-mail any major changes.
I have also posted some videos that can be viewed before or after class as refreshers. Note that they are not substitutes for the lecture and are optional.
Week Topic Assignment Presentation/In-Class Activity Reading Note
1 Ch. 1
  • 9/15 PS 1 Due/PS 2 Out
  • Read Paper for week 3
Ch. 2
Ch. 3
  • 9/22 PS 2 Due/PS 3 Out
  • Read Paper for week 4
Ch. 3
Ch. 4
  • 9/29 PS 3 Due/PS 4 Out
  • Read Paper for week 5
Ch. 5
Ch. 6
  • 10/6 PS 4 Due/PS 5 Out
  • Read Paper for week 6
Ch. 7
Ch. 8
  • Read Paper for week 7
  • Ch. 9
    Ch. 10, 11
  • 10/20 PS 5 Due/PS 6 Out
  • Read Paper for week 8
  • Ch. 12
    Ch. 13
  • 10/27 PS 6 Due/PS 7 Out/PS 8 Out
  • Read Paper for week 9
  • Ch. 14
    Ch. 15
  • 11/3 PS 7 Due/PS 9 Out/PS 10 Out
  • Read Paper for week 10
  • Ch. 16
  • Read Paper for week 11
  • 11
  • Read Paper for week 12
  • 11/17 PS 8 Due
  • 12
  • Read Paper for week 13
    • Paper 12
    • Activity
  • 12/2 PS 9 Due (5pm)
    • Paper 13
    • Activity
    • 12/5 Final Project Presentation Day 1
    • 12/8 Final Project Presentation Day 2
  • PS 10 Due (when you present)
  • -- --
  • -- --

  • Development/Coding Environment

    Your instructor will be using the Processing tool for code examples. You are welcome to use Processing outside of its native editor if you are more comfortable doing so. You otherwise have some freedom in this course to use other tools and programming languages to prototype your product.

    If you want to get more programming experience in this course, I recommend the following:

    Some tools I otherwise recommend being familiar with.

    Problem/Project Sets (PS)

    Course Assignments: Assignments are due at the start of class unless otherwise stated.

    Paper/Topic Presentations

    In this class we will be evaluating some state of the art research in a variety of fields. Everyone in the class will take part in presenting on this work.

    You will sign-up here: Presentation Sign-up


    You will be evaluated based on the following criteria from your instructor.


    Throughout this course each problem set will build towards a larger project. You will work together as a team on many of these assignments, and at the end of the term, your team will present on this project. One of the goals of this class is to learn how to follow a methodology to design and deliver new products into the world. This class can serve as a way to kickstart a research paper, design a product, or launch a company that solves real world challenges!

    If you are considering making your project a research project, here are some template(s) that may be useful.


    Please find below the grading distribution that will be used for this course. You will find the grade you earn in this course on blackboard.

    Tips and Guidelines

    These are some general tips for becoming a successful programmer in this course.
    General Tips:

    Academic Integrity and Non-Discrimination Policies

    Students and instructors are to follow the Northeastern policies on these important issues.

    Northeastern Non-Discrimination Policy - This classroom is a safe space for the instructor and students to talk about ideas, share viewpoints, and learn.
    Northeastern Academic Integrity Policy - You only cheat yourself if you are not honest. Most often cheating occurs when an individual falls behind or perhaps has other circumstances occuring in their life. Please consult the instructor before ever considering cheating.
    Student Code of Conduct: Students and instructors will follow the following guide for how we conduct ourselves. This is to create a respectful environment where everyone can learn.

    Lateness and Attendance Policy

    I do not take attendance, and you are not required to attend lecture. However, keep in mind your participation grade depends on how you engage during the class and with your peers. Students who do well in this course tend to show up to the course consistently, participate, and engage with their peers.

    Make-Up Policy

    Students participating in varsity athletics(this does not include club sports or intramurals) or other University sanctioned events may have the need for a make-up. Please contact me in advance of such events, so that appropriate accommodations can be made.

    Occasionally, other life events and circumstances occur that were not planned. If this is the case, please e-mail me privately.


    Part of what makes Northeastern University unique, is our diverse cohort of students, faculty, and staff. In order to support this, Northeastern is committed to providing equal access and support to all qualified students through the provision of reasonable accommodations so that each student may fully participate in the University experience. If you have a disability that requires accommodations, please contact the Student Accessibility Services office at or (617) 373-2675 to make an appointment with the Disability Resource Center representatives in 20 Dodge Hall to determine appropriate accommodations.