CS 880: Advanced Complexity Theory
Spring 2004

contacts | lecture notes | assignments


This is an advanced graduate course in complexity theory, bringing you close to the frontier of current research. After taking this class, you should be able to enjoy most conference talks on computational complexity. Use CS 880 as a jump board into your own research.
CS 810 provided you with a sound background on the complexity theory from the 80's and before. The main focus of this course will be research directions that have been in vogue since the 90's. In particular, we will cover
  1. hardness of approximation results based on interactive proof systems and probabilistically checkable proofs, and
  2. derandomization and randomness extraction.
Time permitting, we will also introduce you to some other areas that were not covered in CS 810, such as proof complexity, communication complexity, and learning theory.


There is no existing text. Lecture notes will be made available from the course web page.


Introductory Complexity Theory at the level of CS 810. In particular, the material from Jin-Yi Cai's lecture notes for CS 810 and Toda's Theorem as covered in Lance Fortnow's survey on counting complexity.

Course Work

  • Scribes (15%). Write lecture notes for about 3 lectures in groups of 2. Someone who missed the class should be able to learn the material from the notes. We expect a draft within 24 hours after the lecture, and the final version a week later. You need to type your notes in LaTeX using the guidelines provided.

  • Homework (45%). There will be 3 assignments. Expect the problems to be challenging so start early. You are allowed to discuss the problems in group but you should write out the solutions on your own.

  • Project (40%). There will be no exams. Instead, you are expected to work out a project on a topic of your own choosing. The basis should be a recent manuscript or conference paper on computational complexity, say from 2000 or later. Although I will suggest some topics during the 5th week of the semester, I strongly encourage you to start looking for a topic yourself right away. Suitable places to look for inspiration include the Electronic Colloquium on Computational Complexity and the proceedings of the following conferences: STOC, FOCS, Complexity, ICALP, STACS, Random.

    You should discuss your selection with me, and settle down on a topic before Spring break. You can work in groups of up to 3 people on your project but you should first find a topic on your own, and then look for other people who share your interest. More guidelines will be posted in due time.

Links to Conference websites

  • ACM Symposium on Theory of Computation (STOC) : The proceedings of past conferences are available online via the ACM digital library . Click on Go to ACM Digital Library and then on the page that comes up click on the Proceedings link under the Browse the digital library heading.
  • IEEE Symposium on the Foundations of Computer Science (FOCS) : The proceedings of past conferences are available through the IEEEXplore site . In the Quick find a conference title box enter Foundations of computer science to access them.
  • IEEE Conference on Computational Complexity: Go to IEEEXplore and search for Computational Complexity to find the proceedings.
  • Symposium on Theoretical Aspects of Computer Science (STACS): The best way to find the articles online is via MADCAT. Search on STACS and then click on Internet links under the relevant volume listing. Some older conference websites and contents of proceedings are available here.
  • International Colloquium on Automata, Languages and Programming (ICALP): To find articles, go to this site and find the Springer Lecture Notes in Computer Science volume in which the proceedings appeared. Then go to Springer Link and find the volume.
  • International workshop on Randomization and Approximation Techniques in Computer Science (RANDOM): The procedure is similar to the one for getting ICALP proceedings. This site has the information as to which Springer LNCS volume has the proceedings.