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