CMSC 20300/30300: Introduction to Human Computer Interaction
(also nicknamed by previous students as "intro to hci")


News & Announcements

2026 Class location and time
The class starting in September 2026 is on Tuesday and Thursdays at 2:00pm-3:20pm in Ryerson 251!
Published by Prof. Pedro Lopes on Sep 28 2026

Questions about class?
If you have questions, fill out the wiki "helpdesk" form.
More info here.

Published by Prof. Pedro Lopes on Sep 28 2026

Office hours
This quarter (2026) the office hours are on Wednesdays 14-16 at CSIL
Published by Yun Ho on Sep 28 2026

Welcome to Intro to HCI class!
Welcome class of 2026, check your inbox for access (username/password) to our class wiki and for the welcome email. More importantly, see you on Tuesday!
Published by Prof. Pedro Lopes on Sep 28 2026

Synopsis

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 three 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 three projects (programming in C-Sharp via Unity3D, conducting user studies, and an individual project programming in Python).

Prerequisites

Please see UChicago's official registrar page.

Class location and time

Tuesday and Thursdays at 2:00pm-3:20pm in Ryerson 251

Copyright

This course was developed by Pedro Lopes. 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.

Policies

The detailed policies for this course, such as why you cannot use AI, can be viewed in our class wiki. 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.