Computer Science 109 (Spring 2009)

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 213

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 31 Review of Turing Machines, Nondeterminism, DTIME, NTIME, P, NP [Sip], Ch.3,4,5,7  
2. Apr 2 Review of reductions and NP-completeness [Sip], Ch.7  
3. Apr 7 Space complexity; L and NL; Savitch's Theorem [Sip], Ch.8 Homework 1
4. Apr 9 NL completeness; Immerman-Szelepcsenyi Theorem (NL = coNL) [Sip], Ch.8 Homework 2
5. Apr 14 Space and time hierarchy theorems, deterministic and nondeterministic [Sip], Ch.8,9 Homework 3
6. Apr 16 PSPACE; polynomial hierarchy (PH)   Homework 4
7. Apr 21 PSPACE-completeness of TQBF; Introduction to circuits; Non-uniformity [AB], Ch.6
8. Apr 23 Shannon's Theorem; Computation with advice; Karp-Lipton Theorem [AB], Ch.6 Homework 5
Phase 2: The Power of Randomness
9. Apr 28 Randomness; BPP; RP; Error reduction by repetition; Chernoff bounds [AB], Ch.7 Homework 6
10. Apr 30 Adleman's Theorem; Sipser-Gacs Theorem [AB], 7.7  
11. May 5 Schwartz-Zippel Lemma; Valiant-Vazirani Theorem [AB], Ch.7,9 Homework 7
12. May 7 Foundations of cryptography, overview [AB], Ch.10 Homework 8
13. May 12 One-way functions, pseudorandom generators [AB], Ch.10  
14. May 14 Equivalence of next-bit unpredictability and pseudorandomness [AB], Ch.10 Homework 9
Phase 3: The Power of Interaction
15. May 19 Interactive proofs (IP); Arthur-Merlin games (AM); Graph Non-Isomorphism [Sip], Ch.10
16. May 21 Graph Isomorphism and NP-completeness; Arithmetization; LFKN Theorem [AB], Ch.8 Homework 10
17. May 26 Proof of LFKN Theorem; Shamir's Theorem (IP = PSPACE) [Sip], 10.4  
18. May 28 Shamir's Theorem continued; PCP theorem   HW 11 (nixed)
19. Jun 2 Applications of the PCP theorem    


Announcements
  • We did not get to cover the definition of NC and P-completeness in class. I suggest you read this material up from [Sip], Ch. 10, Sec. 10.5. It's relatively easy material. I will also talk about it during the X-hour on Wed Apr 29.
  • The final exam will be a take-home 24-hour time limited exam. You will have a period of about 6 days during which to do it, and you get to choose any contiguous 24-hour interval during which to work on the exam. Further details will be announced later, as necessary.

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 30 points over the course of the term, at least 6 of which must be earned from a final exam. 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 30-point goal. If you score over 24 points from your homeworks, the extra points will count towards extra credit.

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 20 points from turning in homework solutions.

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

Home