CMSC 20300: Introduction to Human Computer Interaction

News & Announcements

Getting help in this class
If you have questions you should email us at and show up at office hours (Wed, 5PM, zoom, password in wiki)
More info here.
Published by Pedro Lopes on Sep 28 2021

Wiki passwords are out!
Check your inbox (including spam folder) to get your username and password for the class wiki
Published by Pedro Lopes on Sep 27 2021

Mask policy in this class
Our objective is a safe class for everyone (consider that some of your colleagues and professors are immunocompromised and are at constant risk -- let us keep them safe), so in this class we will ask you to keep your mask on at all times: if you want to drink water -- go outside, drink water and come back.
Published by Pedro Lopes on Sep 26 2021

Class full
This class is full; if you did not sign up via waiting list -- you will probably not get a seat anymore.
Published by Pedro Lopes on Sep 20 2021

Welcome to Intro to HCI class!
Welcome to our class; this class will happen in person Tuesdays and Thursdays (TR 3:30pm–4:50pm) at Ryerson 251.
Published by Pedro Lopes on Aug 26 2021


An introduction to the field of Human-Computer Interaction (HCI), with an emphasis in understanding, designing and programming user-facing software and hardware systems. This class covers the core concepts of HCI: affordances, mental models, selection techniques (pointing, touch, menus, text entry, widgets, etc), conducting user studies (psychophysics, basic statistics, etc), rapid prototyping (3D printing, etc), and the fundamentals of 3D interfaces (optics for VR, AR, etc). We compliment the lectures with weekly programming assignments and two larger projects, in which we build/program/test user-facing interactive systems.

Expected workload

In this class you will: solving weekly assignments (mostly programming in python or javascript) and two projects (programming, user studies and engineering).


Please see UChicago's official registrar page.


This course was developed by Pedro Lopes. Parts of this course are derived (with permission) from a course taught by Patrick Baudisch (in which Pedro co-taught a few segments) at Hasso Plattner Institute. All teaching materials in this class, including course slides, homeworks, assignments, practice exams and quizzes, are copyrighted. Reproduction, redistribution and other rights solely belong to the instructor. In particular, it is not permissible to upload any or part of these materials to public or private websites without the instructor's explicit consent. Violating this copyright policy will be considered an academic integrity violation.


The University of Chicago has formal policies related to academic honesty and plagiarism. We abide by these standards in this course. Depending on the severity of the offense, you risk being dismissed altogether from the course. All cases will be referred to the Dean of Students office, which may impose further penalties, including suspension and expulsion. In addition, we expect that everyone handles their fellow students and staff members with respect, following the norms of proper behavior by members of the University of Chicago community.