Theory of Computation (Fall 2024)
Time and Location: TTh 1:30-2:45pm, Mergenthaler 111
Instructor: Xin Li. Office hours: Wednesday 2:00pm-3:00pm in person, or by appointment
TA: Songtao Mao. Email: smao13@jhu.edu Office hours: Friday 1:30pm-3:00pm, in person and online.
Syllabus
Course description: This is a combined undergraduate upper-level and graduate-level course studying the theoretical foundations of computer science. Topics covered will be models of computation from automata to Turing machines, computability, complexity theory, randomized algorithms, inapproximability, interactive proof systems and probabilistically checkable proofs. Students may not take both 600.431 and 600.631, unless one is for an undergrad degree and the other for grad degree.
Pre Requisite: Discrete math or permission. Probability theory strongly recommended.
Required Textbook: Computational Complexity: A Modern Approach, by Sanjeev Arora and Boaz Barak.
Recommended Textbook: Introduction to the Theory of Computation, by Michael Sipser.
Topics Covered
- Aug. 27 & Aug. 29: Inroduction and beginning Turing Machines.
- Sep. 3: Variants of Turing Machines.
- Sep. 5 & Sep. 10: Universal Turing Machines and Computability.
- Sep 12: Decidable/Recognizable/Undecidable/Unrecognizalbe languages.
- Sep. 17: Time complexity, Time Hierarchy theorem, starting P and NP.
- Sep. 19: Equivalence of two NP definitions, Polynomial time reduction and NP-completness, start Cook-Levin Theorem.
- Sep. 24: Proof of the Cook-Levin Theorem.
- Sep. 26: More NP-complete languages, dealing with NP-completeness.
Further readings
Interactive proof with Perfect Completeness or Soundness
Introduction to mathematical arguments
Some Help on Reading Mathematics and Creating Proofs
A picture of some complexity classes
Wiki page of Hilbert's 10th problem
An article about Alan Turing
A website about Turing and the history of modern computing
Godel's letter to von Neumann
Clay Institute's official page about the P vs. NP problem
Lance Fortnow's exposition of the P vs. NP problem