## Course Announcement: Computational Complexity
- Spring Semester (2010-11)

Time: TBD

Location: A-212 (STCS, TIFR)

Instructor:

Homepage:
http://www.tcs.tifr.res.in/~prahladh/teaching/2010-11/complexity

# Computational Complexity

Computational complexity is the study of efficient
computation. Computational Complexity concerns itself with
understanding the difference between "easy" problems and "intractable"
problems: easy in the sense that the problem can be solved using a
reasonable amount of computational resources and intractable in the
sense that it is beyond the scope of existing computers. The
computational resource could be time, memory, randomness,
communication depending on the context.

This course will roughly be divided into two parts. In the first
half of the course, we will cover the classical material (NP
completeness, space complexity, time and space hierarchy, alternation,
randomized algorithms, interactive proofs). In the second half of the
course, we will deal with more advanced topics (possible research
directions), a superset of which is given below.

- Complexity of counting
- hardness amplification and connection to coding
- derandomization
- pseudorandom constructions: expanders, extractors ...
- circuit complexity
- PCPs and hardness of approximation
- ....

#### References

- Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern
Approach (1st edition), Cambridge Universtiy Press, 2009.
- Michael Sipser, Introduction to the
Theory of Computation (2nd edition), Course Technology, 2005.

Instructor: