CMSC 20300: Introduction to Human Computer Interaction

News & Announcements

Wiki usernames and password sent!
Please check your inbox (including spam filter) for access to our class wiki! If you experience any difficulties when logging into the class wiki, try the following in this order and try again after every step: (1) clear cache (2) cookies, (3) use an incognito window. Email helpdesk if you are still having problems.
Published by Pedro Lopes on Sep 27 2022

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. You will receive info and access to class materials via email.
Published by Pedro Lopes on Aug 26 2022


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), 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. This class requires you to program assignments in Python, Javascript, and C Sharp (Unity3D, we provide a tutorial for this one), as such, the pre-requisites need to be observed.

Expected workload

In this class you will: solving weekly assignments (mostly programming in python and javascript) and two projects (programming in C-Sharp via Unity3D and conducting user studies).


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.