- 1 sheet of 8.5" by 11.0" piece of paper with notes written on it
- Pencil or pen
- eraser

What's covered by the exam.

- Anything in Chapter 11-14 of the text book.
- Anything in the published notes, through last Thursday, June 2, 2011.
- Anything covered by any of the Homeworks (including proofs by induction, and proofs by contradiction).
- Anything we talked about in class

Topics you should know

- Definitions of formalisms
- Regular Language
- Regular Expression
- DFA
- NFA
- NFAe
- GenNFA
- Regular Grammar
- Context Free Langauge
- Context Free Grammars
- Normal forms
- Chommsky Normal Form
- Greibach Normal Form

- Context Free Expressions
- Push Down Automata (deterministic and non-deterministic)
- Turing machines
- Other Turing-Complete formalisms (Simple Language, Markov, Post, Lambda Calculus)
- The Halting Problem
- Complexity Classes: P, NP, PSpace

- Skills
- Translating word descriptions of a language into any of the formalisms
- Using properties of Regular Expressions (Table 11.1, page 700)
- Executing DFA's by hand over a string
- Executing PDAs
- Executing Turing Machines
- Vreating Turing machines from written descriptions.
- Executing simple Programming language programs
- Executing Partial Recursive Functions
- Executing Markov algorithmsPost Algorithms
- Carrying out reduction in the Lambda Calculus
- Reduceability, Reducing one kind of Turing-Complete problem into another.

- Algorithms
- RegExp to Finite automaton
- Top Down (via GenNFA, 11.4, page 711)
- Bottom up (11.7, page 729)

- Finite automaton to RegExp (via GenNFA, 11.5, page 713) state ripping.
- Computing Lambda-closures (page 732)
- NFA to DFA (subset construction, 11.8, page 733-734)
- Minimum State DFAs (11.10, page 740)
- NFA to RegGrammar (11.11 page 748, also see the Notes on Regular Grammars).
- RegGrammar to NFA (11.2 page 750)
- Combining Context Free Grammars (12.3, page 761)
- Context Free Gramma to PDA (12.5, page 770)
- PDA to Context Free Grammar (12.6, apge 772)

- RegExp to Finite automaton
- Other topics
- Closure properties of Regular languages
- Applying the pumping-lemma to prove a language is not regular.
- Applying the CF pumping lemma to prove a language is not context free.
- Church Turing Thesis
- The Halting Problem
- Diagonalization to show the functions from Nat to Nat are not countable.
- Intractable problems, Travelling Salesman, Boolean Satisifiability, Pressburger Arithmetic