CMSC 20300: Introduction to Human Computer Interaction

News & Announcements

Welcome to Intro to HCI class!
This class has two sections (Prof. Lopes and Prof. Nakagaki). You are required to attend the section you registered for, not the other. The location and times are posted below. You will receive info and access to class materials via email (to your uchicago email as per registrar info).
Published by Prof. Pedro Lopes on Sep 25 2023


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.

Class location and time

1. Prof. Pedro Lopes' section: Tuesday and Thursdays at 2pm in Rosenwald Hall (RO) 011

2. Prof. Ken Nakagaki' section: Tuesday and Thursdays at 3.30pm in Stuart Hall (STU) 104

Notice: You are required to attend the section that you are registered for, you cannot attend another. This an any other detailed information can be found on the class wiki


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.


The detailed policies for this course can be viewed by students 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.