Course Topics
-- Subject to change without notice --
- Introduction.
- What is the subject matter of this course? Chapters 1, 3.
- 30-60 minutes of review of Discrete Math. Appendix A up to A.6.7.
- Alphabets, strings, languages. Chapter 2.
- A bit about different notions of infinity: countable and uncountable.
Appendix A.6.8.-A.6.9.
- Finite Automata. Part II of textbook.
- Deterministic Finite Automata.
- Nondeterministic Finite Automata.
- Regular expressions.
- Using Regular Expressions elsewhere in Computer Science (Appendix O).
- Showing that a language is not regular.
- Context-Free Languages. Part III of textbook.
- Context-Free Grammars.
- Pushdown Automata.
- Parsing (Portions of Chapter 15).
- Turing machines and computability theory. Part IV, Chapters 17-21
- Turing machines.
- Basic undecidability (halting problem).
- More undecidability: Reductions.
- Rice's Theorem (Chapter 21.4 ).
- The above should leave quite a bit of extra time. It will be filled by some combination of additional advanced material from Chapters 25, 27, and 28 (Recursive function theory and/or basic complexity theory, including P and NP)
OR
by considering a selection of applications of this material from Appendices G-Q, depending on class (and instructor!) interest.
Prof. Bob Sloan, January 13, 2009