Midterm Exam Topics Topic Text Chapter -------------------- ------------- Introduction...................... 0 (covered lightly) Regular Languages................. 1 Finite Automata................. 1.1 Nondeterminism.................. 1.2 Regular Expressions............. 1.3 Nonregular Languages............ 1.4 Context-Free Languages............ 2 Context-Free Grammars........... 2.1 Pushdown Automata............... 2.2 Formal definition of a pushdown automaton Examples of pushdown automata Equivalence with CFGs Non-context-free Languages...... 2.3 The Church-Turing Thesis.......... 3 Turing Machines................. 3.1 Formal definition of a Turing Machine Examples of Turing Machines The following is a list of Exercises and Problems from the text like the ones that may appear on exams, possibly in a slightly altered forms. Some have been assigned as homework. Only very simple questions will be asked about algorithms that grow rapidly in complexity (such as converting an NFA to the equivalent DFA). Chapter 0 Exercises (pages 25-27): 0.4 0.5 0.6 Chapter 1 Know that regular languages are closed under union, concatenation, star, intersection, complement, and reversal. Know how to use the Pumping Lemma and/or (Prob 1.52) pairwise distinguisability to prove non-regularity. Exercises (pages 83-88): 1.4 1.5 1.6 1.7 1.8, 9, 10 1.11 1.12 1.14a 1.16 NFA --> DFA 1.18 1.19 RE --> NFA 1.21 DFA --> RE 1.28 RE --> NFA 1.29 Problems (pages 88-93) 1.31 1.32 1.34 1.35 1.36 1.46 1.51 1.52 (know the results) 1.54a (special version of pumping lemma: pump between 1 and p+1) 1.60 Chapter 2 Know that context-free languages are closed under union, concatenation, and star (but not intersection or complement), also the intersection of a regular language and a context-free language is context-free. Know that context-free languages are not closes under intersection or complement (Ex. 2.2 p. 128). Exercises (pages 128-129): 2.1 2.2 2.3 2.4 2.6a 2.8 (simple example of ambiguity) 2.9 2.10 2.14 2.16 2.17 Problems (pages 130-132) 2.18 2.26 2.27 2.30 2.31 2.32 2.35 Chapter 3 Know the formal and informal definitions of Turing Machines. Know how to specify a configuration of a Turing Machine. (You don't have to know what the Church-Turing Thesis says for the midterm, but probably for the final exam). Exercises (pages 159-160): 3.1 3.2 3.5 3.8