CS121 and CAS 207: Outline of Lectures
Unit I: Mathematical Background
Reading: Sipser, Chapter 0.
Sept. 18: Introduction and Overview
Sept.
20: Mathematical Preliminaries: Sets, relations, strings, languages
Unit II: Finite Automata and Regular Languages
Reading: Sipser, Chapter 1.
Sept. 25: Doing Proofs
Sept. 27: Finite Automata
Oct. 2: Nondeterminstic Finite Automata, Closure Properties
Oct. 4: Regular Expressions
Oct. 9: Countability
and Diagonalization
Unit III: Context-free Languages
Reading: Sipser, Chapter 2.
Oct. 11: Nonregular languages
Oct. 16: Context-Free Grammars
Oct. 18: Pushdown Automata
Oct. 23: Closure Properties of Context-Free Languages, Non-Context-Free Languages
THURSDAY, OCTOBER 25: MIDTERM EXAMINATION
Oct. 30: General Context-Free Recognition
Unit IV: Computability
Reading: Sipser, Chapters 3 & 4 (Sec 1.).
Nov. 1: Turing Machines and Simulations
Nov. 6: Church's Thesis
Nov. 8: Decidability, Universal Turing Machines
Unit V: Uncomputability
Reading: Sipser, Chapters 4 (Sec. 2) & 5.
Nov. 13: Undecidability
Nov. 15: Reductions and Rice's Theorem
Nov. 20: Undecidable Problems and Unprovable Theorems
THURSDAY, NOVEMBER 22: THANKSGIVING
Unit VI: Computational Complexity
Reading: Sipser, Chapter 7.
Nov. 22: Computational Complexity
Nov. 29: Polynomial Time
Dec. 4: NP
Dec 6: NP-Completeness
Dec. 11: Cook-Levin Theorem and Beyond
Dec. 13: Interactive and Zero-Knowledge Proofs
Dec. 18: Conclusions