Computer Science 109 (Spring 2011)

Theory of Computation
Advanced Level

Dartmouth Logo
Computer Science
Dartmouth College

Who: Taught by Amit Chakrabarti
When: 2A hour, TTh 14:00-15:50, X-hr W 16:15-17:05
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 29 Review of Turing Machines, Nondeterminism, DTIME, NTIME, P, NP [Sip], Ch.3,4,5,7
2. Mar 31 Review of reductions and NP-completeness [Sip], Ch.7 Homework 1 (due Apr 6)
3. Apr 5 Space complexity; Savitch's Theorem; L, NL, NL-completeness [Sip], Ch.8 Homework 2 (due Apr 11)
4. Apr 7 Immerman-Szelepcsenyi Theorem (NL = coNL); PSPACE; TQBF [Sip], Ch.8 Homework 3 (due Apr 15)
5. Apr 12 Space and time hierarchy theorems, deterministic and nondeterministic [Sip], Ch.8,9 Homework 4 (due Apr 18)
6. Apr 14 Polynomial hierarchy (PH); Alternating TMs [AB], Ch.5 Homework 5 (due Apr 20)
7. Apr 19 Circuits; Non-uniformity; Shannon's Theorem; SIZE versus DTIME [AB], Ch.6 Homework 6 (due Apr 27)
8. Apr 21 Shannon's Theorem; Computation with advice; Karp-Lipton Theorem [AB], Ch.6
Phase 2: The Power of Randomness
9. Apr 26 Randomized computation; Three examples; Schwartz-Zippel Lemma [AB], Ch.7 Homework 7 (due May 2)
10. Apr 28 BPP; RP; ZPP; Error reduction by repetition; Chernoff bounds; Adleman's Theorem [AB], Ch.7 Homework 8 (due May 4)
11. May 3 Sipser-Gacs Theorem; Randomized reduction; Valiant-Vazirani Theorem [AB], Ch.7,17
12. May 5 Foundations of cryptography; one-way functions, pseudorandom generators Homework 9 (due May 11)
13. May 10 Next-bit unpredictability and PRGs; Goldreich-Levin theorem [AB], Ch.9
13A. May 11 (X-hr) One-way permutations to PRGs [AB], Ch.9
Phase 3: The Power of Interaction
15. May 12 Interactive proofs (IP); Arthur-Merlin games (AM); Graph Non-Isomorphism [AB], 9.3 Homework 10 (due May 18)
16. May 17 Goldwasser-Sipser Protocol; GNI and NP-completeness [Sip], Ch.9 Homework 11 (due May 23)
17. May 19 Arithmetization; LFKN Theorem; Shamir's Theorem (IP = PSPACE) [AB], Ch.8
18. May 24 Introduction to PCPs; PCP theorem; Applications [Sip], 10.4 Homework 12 (due Jun 1)
–  May 26 (no lecture, Amit is out of town)  
19. May 31 Hastad's 3-bit PCP; More applications  


Announcements
  • 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. Draft available online. Referred to above as [AB].
Administrative Details

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 8, 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 is 12 points, so you will have to earn at least 20 18 points from turning in homework solutions.

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

Getting Help: This term, Amit has office hours TBD. We may have a teaching assistant. Feel free to just drop in if we are around, or make an appointment if you want a specific time.


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


Other courses taught by Amit Chakrabarti

Home