CMSC 28100: Introduction to Complexity Theory (Autumn 2025)

Term: Autumn 2025 at the University of Chicago

Instructor: William Hoza (williamhoza@uchicago.edu)

TAs: TBD

Meetings: Mondays, Wednesdays, and Fridays | 2:30pm - 3:20pm | Location TBD

Textbook: Introduction to the Theory of Computing, 3rd Edition by Michael Sipser. ISBN-13: 9780357670583.


Jump to: (loading...)


    Course Description

    In this course, we will study the mathematical and philosophical foundations of computer science. Our central mission will be to understand which problems can be solved through computation, focusing especially on impossibility proofs. In the first part of the course, we will develop techniques for proving that certain problems, such as the "halting problem," cannot be solved by any algorithm whatsoever. In the second part of the course, we will study computation in a world where resources, such as time and space (memory), are limited. We will prove that certain problems are "intractable," meaning that they cannot be solved by polynomial-time algorithms, and we will develop the theory of "NP-completeness," which enables us to identify many important problems that are likely to be intractable. If all goes well, at the end of the course, you will be able to:


    Office Hours and Student Meet-Up Time

    By default, the office hours are as follows [tentative].

    Some weeks will have modified hours, which will be posted on Ed.


    Course Timeline

    (The information below will be updated throughout the quarter.)

    Week 1:

    Monday 9/29:
    Wednesday 10/1:
    Friday 10/3:
    Exercises 1-3 are due at 11:59pm

    Week 2:

    Monday 10/6:
    Wednesday 10/8:
    Friday 10/10:
    Exercises 4-7 are due at 11:59pm

    Week 3:

    Monday 10/13:
    Wednesday 10/15:
    Friday 10/17:
    Exercises 8-11 are due at 11:59pm

    Week 4:

    Monday 10/20:
    Wednesday 10/22:
    Friday 10/24: Midterm exam.
    None.
    (No exercises due this week)

    Week 5:

    Monday 10/27:
    Wednesday 10/29:
    Friday 10/31:
    Exercises 12-15 are due at 11:59pm

    Week 6:

    Monday 11/3:
    Wednesday 11/5:
    Friday 11/7:
    Exercises 16-19 are due at 11:59pm

    Week 7:

    Monday 11/10:
    Wednesday 11/12:
    Friday 11/14:
    Exercises 20-23 are due at 11:59pm

    Week 8:

    Monday 11/17:
    Wednesday 11/19:
    Friday 11/21:
    Exercises 24-27 are due at 11:59pm
    (No classes/exercises next week: Thanksgiving Break)

    Week 9:

    Monday 12/1:
    Wednesday 12/3:
    Friday 12/5:
    Exercises 28-29 are due at 11:59pm

    Date/time TBD: Final exam.


    Homework Policies

    I will assign 29 exercises throughout the quarter. Submit your solutions through Gradescope.

    Collaboration

    You are encouraged to collaborate with your classmates on exercises, but you must adhere to the following rules.

    Permitted Resources

    In addition to discussions with me, discussions with TAs, and discussions with classmates as discussed above, you may also use the course textbook, any slides or notes posted in the "Course Timeline" section of this webpage, and Wikipedia. You may not use any other resources. For example, ChatGPT and Stack Exchange are prohibited.


    Grading Policies

    Numeric Grades

    Your overall numeric grade in this course will be calculated using the formula $$ G = 0.65 \cdot A + 0.35 \cdot B + 0.3 \cdot B^6 \cdot \max(B - A, 0). $$ In this formula, $B$ is your score on the final exam, and $A$ is the weighted average of your score on homework exercises (65%) and your score on the midterm exam (35%). The values $A$ and $B$ are both normalized to be between 0 and 1.

    Here are a few hypothetical examples.

    To a significant extent, a good performance on the midterm exam safeguards your grade against any challenges you might face later in the quarter. Doing well on the midterm exam means that even if the final exam goes poorly, you will still come out okay. (Compare Students 1 and 2.) I hope that this motivates you to study for the midterm exam. I also hope it helps you to relax and not feel too nervous going into the final exam.

    At the same time, even if you do poorly on the midterm exam, you can still succeed in this course. (Consider Student 3.) I hope that this helps you to relax and not feel too nervous going into the midterm exam. I also hope it motivates you to redouble your efforts if the midterm exam goes poorly.

    Letter Grades

    The tentative letter grade thresholds are as follows.

    At the end of the quarter, after I've had a chance to review all the grades, I might adjust the thresholds a tiny bit to make the grading slightly more generous. I won't make it harsher.

    Late Work

    You are strongly encouraged to complete each exercise within the allotted time. If you don't master the subject matter of a particular exercise by the deadline, then you might have trouble understanding the topics we discuss in the following classes. Furthermore, if you submit your solutions late, then it might not be possible to give you timely feedback. That being said, I understand that occasionally missing a deadline is inevitable. Late work will ordinarily receive partial credit based on the following principles.

    The score you see in Gradescope represents your score before applying the lateness penalty, i.e., it is the score that you would have received if you had submitted your solution on time. Lateness penalties will only be recorded in Canvas, possibly after a significant delay.

    Extensions

    Please get in touch with me if you are having trouble keeping up with the course schedule for any reason. I may be willing to give you an extension, or I may be willing to give you partial credit for late work in excess of what the principles above stipulate. To highlight one example, I am happy to grant an extension for a religious holiday if you give me sufficient notice that you will be observing that holiday.

    Regrade Requests

    If you think something was graded incorrectly, please submit a regrade request through Gradescope. Homework regrade requests will ordinarily be handled by a TA; you may contact me if you wish to "appeal" their decision. Exam regrade requests will be handled by me.


    Academic Honesty

    If you ever find yourself in any kind of irregular / problematic / questionable situation related to academic honesty in this course, send me an email and explain what happened.

    For example, you should send me an email if you realize that you accidentally used a prohibited resource while you were working on the homework. As another example, you should send me an email if you cheated on an exam and now you regret it.

    I encourage you to follow this simple protocol in every course you take. Depending on the circumstances, you might possibly face some consequences such as a lowered score, but don't let this deter you. A clean conscience is worth more than any grade.


    Inclusion and Accessibility

    This course, like every course you take, ought to be an enjoyable and enriching experience. You have a right to be treated with respect and a responsibility to treat others with respect. I want all students to be able to fully participate in this course. Let me know if you need an accommodation for any reason, so we can explore possible solutions together. If applicable, please follow the protocols established by UChicago Student Disability Services.

    To highlight a few facets of these topics: