Classes will be held from 10:00-11:20am Mondays and Wednesdays in MGH 242.
General information
Computational Complexity is the mathematical investigation of several broad questions that have to do with computation. In this class, we shall develop the mathematics required to ask:
- What is hard to compute and why?
- How useful is access to various resources like time, memory, randomness, advice and interaction, when it comes to computation?
We seek to give a rigorous mathematical framework that will enable us to answer some of these questions. Along the way, we shall encounter several interesting mathematical tools. Complexity theory has been around as an area for more than 50 years, but it is still in its infancy. It is notorious for generating the hardest open questions in computer science.
Logistics
- Professor: Mitali Bafna
- TA: Nicholas Kocurek
- Discussion Board: Link
- Gradescope: Link
- Office Hours: Mitali (Monday 11:30am-12:30pm, Gates 211), Nick (Friday 1pm-2pm, TBD)
- Grades: Grade breakdown will be announced shortly. Collaboration is allowed on the homework, but you must write-up solutions by yourself. You can submit one of the homeworks a day late with no penalty. You can get up to 2 late days per homework, with 10% off your grade per day (excluding the freebee).
- Course Materials: We will be roughly following Madhu Sudan's Harvard CS 221: Computational Complexity. All material covered in this course will be posted in the form of lecture notes and homework pdfs on this website (see the Schedule tab), along with suggested readings. You can also refer to this textbook by Arora and Barak (note that this is a draft copy).
- Final Project Info: Details will be given soon.