|Instructor:||Mark Bun, mbun [at] bu [dot] edu|
|Instr. Office Hours:||Tue 10-11, Thu 5-6|
|Teaching Fellow:||Ludmila Glinskih, luda [at] bu [dot] edu|
|TF Office Hours:||Wed 9-10, Fri 10-11|
|Class Times:||Tue, Thu 3:30-4:45 (Online)|
|Discussion Sections:||Wed 3:35-4:25 (Online and MCS B37)|
|Wed 4:30-5:25 (Online and MCS B37)|
Course Website: https://cs-people.bu.edu/mbun/courses/535_F20. The website contains the course syllabus, schedule with assigned readings, homework assignments, and other course materials.
Piazza: https://piazza.com/bu/fall2020/cs535. All class announcements will be made through Piazza, so please set your notifications appropriately. Please post questions about the course material to Piazza instead of emailing the course staff directly. It is likely that other students will have the same questions as you and may be able to provide answers in a more timely fashion. Active participation on Piazza may add extra points to your participation grade.
Gradescope: https://gradescope.com. Sign up for a student account on Gradescope using your BU email address. The entry code for the course is MW8845. Homework assignments are to be submitted to Gradescope in PDF format.
Covers topics of current interest in the theory of computation chosen from computational models, games and hierarchies of problems, abstract complexity theory, informational complexity theory, time-space trade-offs, probabilistic computation, and recent work on particular combinatorial problems.
CS 332 (Theory of Computation) or a similar rigorous undergraduate introduction to the theory of computation. Aside from the formal prerequisite, it's important to have "mathematical maturity": Comfort with mathematical abstraction, a solid understanding of basic combinatorics and discrete probability, and the ability to read, understand, and write mathematical proofs. If you have not completed the prerequisites for the course, please schedule a meeting with me before registering.
|Thu 9/3||Course welcome, Turing machines, decidability||0, 1.1-1.5, 1.7 (optional), A.1-A.2||Collaboration Policy, Survey, hw1.pdf, hw1.tex, macros.tex|
|Tue 9/8||Time complexity, P, NP, NP-completeness||1.6, 2.1-2.2, 2.6-2.7|
|Thu 9/10||More on NP-completeness, Cook-Levin Theorem||2.3-2.4||HW 1 due (Fri), hw2.pdf, hw2.tex|
|Tue 9/15||Decision vs. search, hierarchy theorems||2.5, 3.1-3.2, 4.1.3|
|Thu 9/17||Ladner's Theorem, relativization barrier||3.3-3.4||HW 2 due (Fri), hw3.pdf, hw3.tex|
|Tue 9/22||Space complexity, Savitch's Theorem||4.1-4.2|
|Thu 9/24||PSPACE, PSPACE-completeness||4.2||HW 3 due (Fri), test 1 out|
|Tue 9/29||Logspace computation, Immerman-Szelepcsényi Theorem||4.3|
|Thu 10/1||Polynomial hierarchy||5.1-5.2||Take-home test 1 due (Fri), hw4.pdf, hw4.tex|
|Tue 10/6||PH via oracles, alternation||5.3, 5.5|
|Thu 10/8||Alternation, time-space tradeoffs||5.3-5.4||HW 4 due (Fri), hw5.pdf, hw5.tex|
|Tue 10/13||NO CLASS (Virtual Monday)|
|Thu 10/15||Circuits, non-uniform computation||6.1-6.3||HW 5 due (Fri), hw6.pdf, hw6.tex|
|Tue 10/20||Circuit lower bounds||6.4-6.7|
|Thu 10/22||Probabilistic algorithms||7.1-7.2||HW 6 due (Fri), test 2 out|
|Tue 10/27||Randomized time classes, error reduction||7.3-7.4|
|Thu 10/29||BPP vs. P/poly, BPP vs. PH||7.5||Take-home test 2 due (Fri), hw7.pdf, hw7.tex|
|Tue 11/3||PromiseBPP, randomized reductions, Valiant-Vazirani Theorem||7.5, 17.4.1|
|Thu 11/5||Counting, #P, #P-completeness||17.1-17.3.1||HW 7, paper topic due (Fri), hw8.pdf, hw8.tex|
|Tue 11/10||Toda's Theorem, approximate counting and sampling||17.3.2, 17.4|
|Thu 11/12||Interactive proofs||8.1||HW 8 due (Fri)|
|Tue 11/17||SAT solving and fine-grained complexity (Luda)||No reading|
|Thu 11/19||Arthur-Merlin classes||8.2||Term paper draft due (Fri)|
|Tue 11/24||IP = PSPACE||8.3||Draft feedback due (Wed)|
|Thu 11/26||NO CLASS — Happy Thanksgiving!||hw9.pdf, hw9.tex|
|Tue 12/1||PCP Theorem, hardness of approximation||11.1-11.3|
|Thu 12/3||More hardness of approximation, proof of PCP Mini||11.4-11.5||HW 9 due (Fri)|
|Tue 12/8||Circuit lower bounds (Parity is not in AC0)||14.1-14.2||test 3 out|
|Thu 12/10||NEXP is not in ACC0||Web Appendix B||Term paper due|
|Thu 12/17||FINAL EXAM SLOT||Take-home test 3 due (5PM), final feedback due (Fri)|
Oded Goldreich, Computational Complexity: A Conceptual Perspective.
Steven Homer and Alan L. Selman, Computability and Complexity Theory.
Cristopher Moore and Stephan Mertens, The Nature of Computation.
Christos H. Papadimitrou, Computational Complexity.
Michael Sipser, Introduction to the Theory of Computation.
Avi Wigderson, Mathematics and Computation.
There will be weekly homework assignments due each Friday at 8PM. Homework sets are designed to be challenging, so you will want to start early to give yourself time to think deeply about the problems. No late homework will be accepted. To accomodate extenuating circumstances, your lowest homework grade will be dropped. Further accomodations require a note from your academic advisor.
You are allowed, and indeed encouraged, to collaborate with other students on solving the homework problems. However, you must write the solutions independently in your own words. Details of the collaboration policy may be found here: Collaboration and Honesty Policy
Some homework assigments may include optional "bonus" problems. Solving these problems will not directly contribute to your homework grade but may improve the letter grade you receive in the course if the final percentage we calculate is on the borderline between two letter grades. Solving bonus problems is also a good way to impress your instructor if you are seeking a recommendation letter, research opportunities, or a grading position. Collaboration is NOT allowed on bonus problems.
Homework solutions must be typeset. LaTeX is the standard document preparation system used in the mathematical sciences, but you are also free to use other tools such as Microsoft Word. If you wish to include drawings or figures, you may draw them by hand and incorporate the images into your documents. (There are packages for creating images within LaTeX, but they can be unnecessarily time-consuming to use.)
My preferred LaTeX editors are TexShop for Mac and TexStudio for Windows. If you would like to give LaTeX a try on the web without installing anything on your computer, Overleaf is a good option.
Not so short intro to LaTeX. A LaTeX tutorial.
For your convenience, we will supply the LaTeX source for each assignment along with the compiled PDF. Changing the flag \inclsolns from 0 to 1 will let you add your name, collaborators, and solutions directly to the assignment. The file macros.tex should be in the same directory for it to compile correctly.
There will be three take-home tests, two during the semester and one due at the end of our regularly scheduled final exam period. Each test will be about as long as a homework assignment and you will have a week to complete it. Unlike homework assignments, these are to be completed individually and without the use of external resources.
The course will culminate in a final project which will involve writing a 5-10 page review of a research article or survey in complexity theory. Your review should be targeted to other students in the class. The project will also involve supplying constructive feedback to your fellow students. Term papers may be written individually or in pairs. Details for the assignment are below.
You are expected to engage thoughtfully with the readings before each class session. This will help us use our time in class together to work through the most important and difficult parts of the material. Reading assignments will be posted on the course website within a few hours of the end of the previous class session. I may also record a short video introducing the reading and suggesting points to pay particular attention to.
We will use Piazza to manage our online discussion of the reading material. Starting with the 9/8 lecture, you are expected to post at least one insightful question or comment about the readings by 9AM on the day of class. (More are encouraged!) Here are some suggestions to guide your thinking as you comment on the reading.
If you are not comfortable posting some questions or comments publicly, you may set their visibility to "instructors only."
Your participation grade can be supplemented by thoughtfully asking and answering questions in lectures, in discussions, on Piazza, or during office hours. However, students who are not able to participate in the class synchronously will still be able to earn full participation credit by commenting on the reading on Piazza.
(These guidelines are adapted from Salil Vadhan's CS221 and other courses.)
Students have the right to opt-out of being part of the class recording. Please contact your instructor or teaching assistant to discuss options for participating in the course while opting out of the class recording.
No student may record any classroom or other academic activity (including advising sessions or office hours) without my express written consent. Unauthorized use of classroom recordings – including distributing or posting them – is also prohibited. If you have (or think you may have) a disability such that you need to record classroom activities, or need other assistive services, you should contact Disability & Access Services (see below) to request an appropriate accommodation.