Computer Science 109 (Spring 2008)

Theory of Computation
Advanced Level

Dartmouth Logo
Computer Science
Dartmouth College

Who: Taught by Amit Chakrabarti
When: 10A hour, TTh 10:00-12:00, X-hr W 15:00-16:15
Where: Sudikoff 214

This course is designed as a follow-up to an introductory Theory of Computation course, such as Dartmouth's CS 39. Students who have not yet taken such an introductory course are required to do so before registering for CS 109.

In CS39, we learned that the Turing Machine is a powerful abstraction that helps us reason about computation. In this course, we shall continue from where CS39 left off, and delve deeper into the mysteries of the Turing Machine and study five key aspects of computation: time, space, nondeterminism, randomness and interaction. The goal is to understand the power of each of these. The course is structured into three major phases, as indicated in the following plan.

Phase 1: Delving deeper into Nondeterminism, Time and Space
1. Mar 25 Review of Turing Machines, Nondeterminism, DTIME, NTIME, P, NP [Sip], Ch.3,4,5,7  
2. Mar 27 Review of reductions and NP-completeness [Sip], Ch.7  
3. Apr 1 Space complexity; L and NL; Savitch's Theorem [Sip], Ch.8 Homework 1
4. Apr 3 NL completeness; Immerman-Szelepcsenyi Theorem (NL = coNL) [Sip], Ch.8 Homework 2
5. Apr 8 Space and time hierarchy theorems, deterministic and nondeterministic [Sip], Ch.8,9 Homework 3
6. Apr 10 PSPACE; polynomial hierarchy (PH)   Homework 4
7. Apr 15 Circuits; computation with advice; Karp-Lipton Theorem [AB], Ch.6 Homework 5
8. Apr 17 NC; Parallel algorithms; P-completeness [AB], Ch.6 Homework 6
Phase 2: The Power of Randomness
9. Apr 22 Randomness; BPP; RP; Error reduction by repetition; Chernoff bounds [AB], Ch.7 Homework 7
10. Apr 24 Adleman's Theorem; Sipser-Gacs Theorem [AB], 7.7  
11. Apr 29 Schwartz-Zippel Lemma; Valiant-Vazirani Theorem [AB], Ch.7,9 Homework 8
12. May 1 Foundations of cryptography, overview [AB], Ch.10 Homework 9
13. May 6 One-way functions, pseudorandom generators [AB], Ch.10  
14. May 8 Equivalence of next-bit unpredictability and pseudorandomness [AB], Ch.10 Homework 10
Phase 3: The Power of Interaction
15. May 13 Interaction; Interactive proofs (IP); Arthur-Merlin games (AM) [Sip], Ch.10 Homework 11
16. May 14 (X-hour) Goldwasser-Sipser Protocol; impact on Graph Isomorphism  
17. May 15 Shamir's Theorem (IP = PSPACE)   Homework 12
May 20
No lecture: Amit is out of town
18. May 22 Shamir's Theorem continued; PCP theorem   Homework 13
19. May 27 Applications of the PCP theorem    

Textbooks and Such

There is no set textbook for the course, so it is vital to attend class. However, there are three reference books that cover just about everything we shall do in class, and I will be updating the schedule table above with appropriate references. These reference books are:

  • Introduction to the Theory of Computation (Second Edition). Michael Sipser. Referred to above as [Sip].
  • Computational Complexity. Christos Papadimitriou. Referred to above as [Pap].
  • Complexity Theory: A Modern Approach. Sanjeev Arora and Boaz Barak. Available online. Referred to above as [AB].
Administrative Details about Grading

Your goal is to earn at least 25 points over the course of the term. There are two ways to earn points.

Homework: Starting Apr 1, there will be a short homework, consisting of approximately 2 problems, given out after every class. There will be a total of about 25 problems given out throughout the term. Each problem will be worth 2 points. I strongly recommend that you solve each homework before the next class, as this will help in your understanding of the next class. By "solve", I mean solve for yourself. You don't need to turn in everything, just turn in "enough" to make progress towards the 25-point goal.

Final exam: This will be a take-home exam given out at the end of the course. The maximum possible score in the final exam will be 10 points, so you will have to earn at least 15 points from turning in homework solutions. My recommendation is that you secure at least 20 points from the homework, because the final exam may be tougher.

Working together is allowed on homework problems (except when indicated otherwise), but not on the final exam.

Similar courses taught by others: Luca Trevisan (Berkeley) , Sanjeev Arora (Princeton)

Other courses taught by Amit Chakrabarti