Creating Computer Games for Learning
University of Chicago Pre-College Program — Summer 2026
Instructor: Minh Tran (ngminhtran@uchicago.edu)
TA: Han Dang
Office Hours: By appointment, email the instructor (preferred) or talk to the instructor after class.
Dates: July 7–23, 2026, 9AM - 3PM daily
Format: In-person (some sessions via Zoom)
Classroom: Ryerson Phys Lab 255 (lectures), Ryserson Phys Lab 277 (labs)
Full Syllabus: Located here
Course Description
As the computing field continues to advance, interdisciplinary applications of computer science are of increasing importance. This class focuses on a fun approach to the challenge and necessity of designing for human users: Creating Computer Games for Learning. We will explore concepts in educational theories and game design principles and learn game programming in Python. At the end of this class, we create our own educational computer games, where incorporating personal experiences and interests will be highly encouraged. During this process, we will also meet active researchers in the field to discuss what they are using computer games to teach and how their games are effectively teaching it.
Lecture Schedule
| Week | Day | Date | Lecture (mornings) | Lab (afternoons) |
|---|---|---|---|---|
| Week 1 | Tue | 7/7 |
Part 1: Introduction & What is an Educational Game?
Part 2: Introducing Python, Variables and Statements [slides]
|
Coding Practice (individual)
Design Exercise: Defining your mythical users (individual)
|
| Wed | 7/8 |
Part 1: Constructivism & Flow Theory
Part 2: Functions and Conditionals
|
Coding Practice (individual)
Open work time (group)
|
|
| [Assignment Due] Project Milestone #1: Finalize group members | ||||
| Thu | 7/9 |
Part 1: ZPD, Scaffolding, and Learning Trajectories
Part 2: Iteration
|
Coding Practice (individual)
Open work time (group)
|
|
| Fri | 7/10 |
Part 1: Game Elements
Part 2: Strings, Lists, and Event Handling
|
Coding Practice (individual)
Open work time (group)
|
|
| [Assignment Due] Project Milestone #2: Target Users and Learning Content | ||||
| Week 2 | Mon (Zoom) | 7/13 |
Part 1: Game Elements (cont.) & Game Design Frameworks
Part 2: Classes and Objects
Guest Speaker: Erica Goodwin (UChicago)
|
Coding Practice (individual)
Open work time (group)
|
| Tue (Zoom) | 7/14 |
Part 1: Motivation & Assessment
Part 2: Quander
Guest Speaker: David G. Maldonado (UChicago)
|
Coding Practice (individual)
Open work time (group)
|
|
| [Assignment Due] Project Milestone #3: Basic Game Design | ||||
| Wed (Zoom) | 7/15 |
Part 1: Introducing Pygame
Part 2: Inclusive Design
Guest Speaker: Aayushi Dangol, (foundry10)
|
Coding Practice (individual)
Open work time (group)
|
|
| Thu | 7/16 | Exploring Pygame |
Coding Practice (individual): Mini game (Bubble Pop)
Open work time (group)
|
|
| Fri | 7/17 | (Students) — Flash Talk and Peer Review Workshop | Field Trip: UChicago Weston Game Lab | |
| Week 3 | Mon | 7/20 | AI in Design and Education |
Coding Practice (individual): Mini game (Memory Tiles)
Open work time (group)
|
| [Assignment Due] Project Milestone #4: Final Game Design & MVP Implementation "Contract" | ||||
| Tue | 7/21 | AI in Games |
Coding Practice (individual): Mini game (Maze Navigator)
Open work time (group)
|
|
| Wed | 7/22 | (Students) — Project Presentation (“Final Exam”) | Open work time (group) | |
| Thu | 7/23 | (Movie) — Free Guys | Open work time (group) | |
| [Extra Credit] Project Milestone #5: MVP Implementation | ||||
Milestones
| Milestone | Description | Due |
|---|---|---|
| #1 | Finalize group members | Wed 7/8 |
| #2 | Target Users and Learning Content | Fri 7/10 |
| #3 | Basic Game Design | Tue 7/14 |
| #4 | Final Game Design | Mon 7/20 |
| #5 (Extra Credit) | MVP Implementation | Thu 7/23 |