Date
|
Subject
|
Resources
|
Week 1, Jan 8-12
|
Course introduction and background. Review of notation. Introduction to deterministic finite automata (DFA)
|
|
Week 2, Jan 15-19
|
DFA's continued. Introduction to non-determinism and non-deterministic finite automata (NFA)
|
|
Week 3, Jan 22-26
|
NFA's continued. Equivalence of DFAs and NFAs.
|
|
Week 4, Jan 29-Feb 2
|
Closure properties of regular languages. Regular expressions. Pumping lemma for regular languages.
|
|
Week 5, Feb 5-9
|
Introduction to context-free grammars (CFG)
|
|
Week 6, Feb 12-16
|
Introduction to push-down automata (PDA). Pumping lemma for CFGs.
|
|
Feb 19-23
|
Reading week. Aw yea! No class.
|
|
Week 7, Mar Feb 26-Mar 2
|
Midterm (Wednesday Feb 28th, 9:00-10:00am in FNB 1220 and FNB 1240). Introduction to Turing machines (TM). TM examples.
|
|
Week 8, Mar 5-9
|
The Church-Turing Thesis. Decidability and Decidable languages.
|
|
Week 9, Mar 12-16
|
Universal Turing machines. The halting problem and other undecidable languages.
|
|
Week 10, Mar 19-23
|
Computational complexity and running time. Complexity classes P and NP.
|
|
Week 11, Mar 26
|
The class NP-Complete. The Cook-Levin Theorem and the million dollar question... does P=NP? (Note: No class on Friday!)
|
|
Week 12, Apr 2-6
|
The class NP-Hard. Probabilistic Turing machines and the class BPP. Quantum computers and the class BQP.
|
|
Week 13, Apr 9
|
Exam review
|
|