Course Policies

CMSC 141: Introduction to Python • Summer 2026

This page collects the policies for the course. The schedule is subject to change; any adjustments are announced on Ed.

A Note on Norms

College often relies on a hidden curriculum of unspoken expectations that not all students have equal access to. In the interest of equity, I aim to make those expectations explicit. This includes how to address me, when and how to ask for help, what office hours are for, how collaboration is supposed to work, and what counts as appropriate participation and citation.

How to contact me: A post on Ed is best. If you need to email me, please put CS141 in the subject line so it does not get lost. I check email between 8am and 5pm Monday through Friday and aim to respond within one business day. Emailing at 2am does not signal dedication.

How to address me: In the CS department we use Professor [Last Name] as the norm. As such we will model that in this class. "Professor Chanenson," "Professor C," or just "Professor." Whatever feels natural.

Office hours: Designed for all kinds of questions: conceptual confusion, debugging help, feedback on work in progress, and study strategies. You do not need a fully formed question to show up. If you are unsure whether something is worth asking about, it probably is.

Time: This is a summer course and it moves quickly. Plan for roughly 9–12 hours per week total, including class time. Some weeks will take more, some less. Carving out focused work time between sessions, not just before deadlines, is what separates students who keep up from those who fall behind.

How to Succeed in CS 141

Attend class. The primary way you encounter new material is through lecture, and we often work through problems together in real time. Missing a session means missing that practice.

Read before class. You do not need full comprehension before showing up, but skimming the relevant chapter gives you a foothold. When you have seen something once, the lecture lands better.

Ask questions. There are many places to do this: in class, at office hours, and on Ed. This course builds on itself week by week. Confusion about one topic will compound into the next. Ask early.

Start assignments early. If you run into trouble two hours before the deadline, there is nothing we can do. If you run into trouble two days before, there is. Starting early also lets you step away and come back fresh, which is one of the most effective debugging strategies there is.

Practice. You will not learn to program by watching someone else do it. Do the exercises, finish the assignments, and try things that were not assigned. The only path to fluency is repetition.

See also the Getting Help page.

Communication

There are a number of ways we communicate about the class.

Grading

Grading scheme: TBD.

Grades are feedback. The point of grading here is to tell you where your understanding is solid and where it needs work. If a grader made a factual mistake about your code, you can request a review within one week of receiving the work; keep it to a few sentences pointing at the exact statement and the line of code it's wrong about. e.g., "I did check the parameter -- see line 107." Disagreeing with whether something should have been flagged is not grounds for a review.

Quizzes

Quizzes are held at the start of class on the days marked in the schedule and take 15 to 20 minutes.

Exams

The midterm is Thursday, July 16 and the final is Thursday, August 6. Both take the full class period. Plan accordingly.

Homeworks

There will be seven homework assignments. We evaluate code on two dimensions: completeness, determined via an automated test suite, and code quality. Code quality means:

Late Policy

Late work is accepted without penalty under one condition: instead of submitting by the original deadline, you send a brief note stating when you will submit, and a private message on Ed with that date. You set your own new deadline. It cannot be later than 11:59pm CDT on Tuesday, August 4, 2026. You don't need to explain why. Then submit by the date you set. No further extensions, and late work submitted without following this procedure is not accepted.

Academic Integrity

We take academic integrity seriously. The University of Chicago's academic integrity policy is available at college.uchicago.edu/advising/academic-integrity-student-conduct. Plagiarism, meaning submitting someone else's work as your own whether from another student, the internet, or a generative AI tool (e.g., GitHub Copilot, ChatGPT), is not permitted. Because this is an introductory course, almost every problem has been solved countless times over, which makes plagiarism easy and easy to detect. We use automated tools to compare submissions across all sections and all prior offerings of this course. Any match is reviewed manually.

Specifically, never do any of the following:

These prohibitions continue after the course ends. You should never share your work from this class publicly. The one exception: if a prospective employer asks to see your code, you may send it privately.

For a complete discussion of collaboration, AI use, plagiarism, and citations, see the Academic Honesty Policy.

Accessibility

The University of Chicago is committed to ensuring equitable access to our academic programs and services. Students with disabilities who have been approved for accommodations by Student Disability Services (SDS) and need a reasonable accommodation to participate fully in this course should follow the procedures established by SDS.

SDS: (773) 702-6000 • disabilities@uchicago.edu • disabilities.uchicago.edu

Acknowledgements

All knowledge is built upon the work of others. This syllabus owes its creation to ideas that I first saw pioneered by: Matt Zucker, Lila Fontes, Kevin Webb, Tim Burke, Adam Parker, Amanda Jungels, and Mac Crite. Sections of this syllabus were adapted from CMSC 14100 Winter 2026.