CS 710  Complexity Theory
Spring 2015 
Course Description
This course provides a graduatelevel introduction to computational complexity
theory, the study of the power and limitations of efficient computation.
In the first part of the course we focus on the standard setting, in which one
tries to realize a given mapping of inputs to outputs in a time and
spaceefficient way. We develop models of computation that represent the
various capabilities of digital computing devices, including parallelism,
randomness, quantum effects, and nonuniformity. We also introduce models
based on the notions of nondeterminism, alternation, and counting, which
precisely capture the power needed to efficiently compute important types
of mappings. The meat of this part of the course consists of intricate
relationships between these models, as well as some separation results.
In the second part, depending on the interest of the students, we may
study other computational processes that arise in
diverse areas of computer science, each with their own relevant efficiency
measures. Specific possible topics include:
 proof complexity, interactive proofs, and probabilistically checkable
proofs  motivated by verification,
 pseudorandomness and zeroknowledge  motivated by cryptography and
security,
 computational learning theory  motivated by artificial intelligence,
 communication complexity  motivated by distributed computing,
 query complexity  motivated by databases.
Prerequisites
Complexity theory at the level of CS 520. We will start the course with
a quick review of the relevant CS 520 material. If you haven't taken
CS 520 or an equivalent course before but are mathematically mature,
you should be able to pick up the prerequisite material from the review.
Text
There is no required text.
Lecture notes will be made available from the course web page.
Relevant references are the text books
Complexity Theory:
A Modern Approach by Sanjeev Arora and Boaz Barak, and
Computational
Complexity: A Conceptual Perspective by Oded Goldreich.
Lectures
MWF 2:303:45pm in 1325 CS&S. On average only 2 of the 3 weekly
slots will be used.
Course Work
 Homework (40%).
There will be 2 assignments. You should work on the assignments in pairs.
 Paper Presentation (60%).
Read a recent paper on computational complexity and present it to the
instructor.
Instructor
Dieter van Melkebeek.
Email: dieter@cs.wisc.edu.
Office hours: F 45pm and by appointment.
