← Minh Tran

CMSC 19929 - Syllabus

University of Chicago Pre-College Program — Summer 2026

General Info

Instructor: Minh Tran

Office Hours: By appointment (Come talk to me after class or send me an email!)

TA: Han Dang (ghanle18@@uchicago.edu)

Classroom:

Asynchronous Communication:


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 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.

This is an active learning style course. Lectures are discussion intensive and lab sections are coding extensive.

By the end of this course, you will be able to:

  1. Explain the differences between games, gamification, and educational games

  2. Articulate educational theory concepts that affect how people learn and apply selected concepts to:
    • Evaluate real-world educational game products
    • Construct a learning trajectory for your educational game
  3. Articulate game mechanics and game design principles and apply selected mechanics and principles to:
    • Evaluate real-world educational game products
    • Design your educational game (for all players with no resource limits)
  4. Write game programs in Python

Materials

You are not required to purchase a textbook for this course. All readings, coding exercises and solutions, and project milestone instructions will be available on the course website.

While the course materials posted will be sufficient for this course, I recommend you get access to a copy of the following resources. You should be able to do so for free online - ways to do so are attached to each individual resource.

How to Think Like a Computer Scientist: Learning with Python 3
by Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers

Making Games with Python & Pygame
by Al Sweigart


Grading

Each student’s final grade will be computed according to the following formula:

This course is graded on a beneficial curve. You are guaranteed not to get lower than straight scale (A>=93%, A- (90->93), B+ (97->90), etc.). The two lowest individual reading/coding scores will be dropped.

Important Note: Due to the group project, a student’s final grade in the course can be no more than one letter grade higher than their performance on individually graded portions. For example, if a student has a C on individually-graded aspects of the course, then they are eligible to earn no better than a B when taking into account the group project.


Class Policies

Attendance and Participation

Attendance and participation are required at all class sessions and project group meetings, unless other arrangements are made with the instructors. Laptops are not allowed in the morning lectures, except for during the in-class participation activities where you will need to participate in small-group discussions and record your responses on Mentimeter.

Academic Dishonesty

In this course, as in all your courses, you must adhere to college-wide honesty guidelines. The college’s rules have the final say in all cases. Our own paraphrase is as follows: Never copy work from any other source and submit it as your own. This includes generative AI or large language models (LLMs), the Internet, etc. Never allow your individual and group work to be copied or seen by other students. Never submit work identical to another student’s or group’s. Never look at someone’s working solution in order to solve your error. Document all collaboration. Generally, collaboration is forbidden on the reading portion of homework assignments. Cite your sources.

We will enforce the following rule as well: Any student who is under suspicion of having violated academic honesty rules will NOT be allowed to withdraw from this course.

Policy on generative AI: You *may use* AI to improve your prose or provide brainstorming for your game design project, but you are responsible for performing any research yourself, such as looking up standards, citations, etc.

Generative AI is, by construction, a next-word predictor trained on the Internet, and it is well known to “hallucinate” or make up facts because it is merely writing words that resemble ones that might be used to answer a particular question. It is not *trying* to be factual. You MUST specify for what purpose you used AI if you used it (e.g. to revise a paragraph, brainstorm ideas related to X, etc.). If you turn in material that is clearly factually incorrect, you will receive no credit for that section. The presence of AI has made it too easy to create factually incorrect, nicely-written text, so you will not receive credit for turning in something that is of the same quality / has the same characteristics as something produced by AI.

Using AI for reading and coding exercises is *not allowed*. These are lightweight assignments designed to help you learn! They will not be challenging at all, and time will be allocated during the lab sessions for help seeking on these assignments.

Late Policy

Given the short duration of the course, late work will *not* be accepted. All assignments are due on the specified date and time listed on Gradescope. However, I understand that genuine, unforeseen emergency situations may arise. In such exceptional cases, you must notify me via email prior to the assignment deadline to discuss your options. Documentation may be required.


Accessibility

Students who have been approved for the use of academic accommodations by Student Disability Services (SDS) should follow the procedures established by SDS for using accommodations. Timely notifications are required in order to ensure that your accommodations can be implemented. Please meet with me to discuss your access needs in this class after you have completed the SDS procedures for requesting accommodations.


Course Schedule

Please note that the current courese schedule is tentative and subjected to changes!

Week Day Date Lecture (mornings) Lab (afternoons)
Week 1 Tue 7/7
Part 1: Introduction & What is an Educational Game?
reading: N/A
Part 2: Python Basics
Wed 7/8
Part 1: Scaffolding and Learning Trajectories
reading: ZPD, LT (abstract, intro, Table 1, Fig. 1)
Part 2: Strings and Lists
[Assignment Due] Project Milestone #0: Finalize group members (Wed 7/8)
Thu 7/9
Part 1: Constructivism & Flow Theory
Part 2: Conditionals and Iteration
Open work time
Fri 7/10
Part 1: Game Analysis Frameworks
reading: IGDPD (Chapter 2; no Gradescope questions)
Part 2: Functions
Open work time
[Assignment Due] Project Milestone #1: Target Users and Learning Content (Sat 7/11)
Week 2 Mon 7/13
Part 1: Classes and Objects
Part 2: Motivation, Player Types
reading: Player Types Handout (no Gradescope questions)
Guest Lecturer: Erica Goodwin
Open work time
Tue 7/14
Exploring Pygame
Open work time
[Assignment Due] Project Milestone #2: Basic Game Design (Tue 7/14)
Wed 7/15
Part 1: Inclusive Design, UDL
reading: N/A
Part 2: Designing Interactive Systems to Support
Children’s Critical and Reflective Engagement with AI
Lecture slides TBA
Guest Lecturer: Erica Goodwin, Aayushi Dangol
Coding practice: Pygame warmup
Open work time
Thu 7/16
Collapsing Qubits: A Quantum Themed Card Game
Guest Lecturer: David Gonzalez-Maldonado
Coding practice: Mini game (choose 1)
Open work time
Fri 7/17
(Students) — Flash Talk and Peer Review Workshop
Field Trip: Weston Game Lab
Coding Practice: Pygame (cont.)
Week 3 Mon 7/20
Assessment of Learning
reading: N/A
Open work time
[Assignment Due] Project Milestone #3: Final Game Design & MVP Description (Mon 7/20)
Tue 7/21
AI in Games
reading: N/A
Open work time
Wed 7/22
(Students) — Mock Final Presentation and Peer Feedback
Open work time
Thu 7/23
(Students) — Final Presentation (“Final Exam”)
Movie Time and Bonding Activities
[Extra Credit] Project Milestone #4: MVP Implementation (Thu 7/23)