4003-389-01: Midterm
The midterm will take place on October 13, 4-5:50pm, in class.
The midterm includes material covered in class in the first five weeks, namely
(in more-or-less chronological order):
- Languages and operations on languages and strings
- (Deterministic) finite automata (DFA)
- Nondeterministic finite automata (NFA), including NFA-epsilon
- Regular expressions
- Pumping Lemma for regular languages
- Myhill-Nerode Theorem and minimization of FA's
- Context-free grammars (CFG) - up to the extent covered on Thursday Oct 8
- Closure properties of regular languages
Structure of the midterm. The midterm will consist of five problems for 10 points each. Your total score will be
computed as the sum of the scores of the four highest scoring problems.
Bonus problem. There will also be a bonus
problem, also worth 10 points (thus you have a chance of getting up to 50 points out of 40).
Your solution must be essentially correct to receive points, in other words there is
(almost) no partial credit for the bonus problem. The only case when you could receive a
partial credit is if you have a correct idea but there is some minor technical problem,
in which case you might loose a point or two.
Help-sheet. You may bring (and are encouraged to do so) one letter-sized double-sided
"help-sheet" with your own hand-written notes (no printouts or photocopies). You are
allowed to put anything you find fit on your help-sheet. Except for the help-sheet, the exam
is closed notes and closed book.
You do not have to memorize proofs from class or the book but you should understand them.
You should be able to apply the constructions from the proofs, like
the constructions for operations on languages (union, concatenation, etc. of two
regular/context-free languages), NFA to DFA, regular expression to NFA,
minimization of a DFA, etc.
Sample midterm can be found here.
The sample midterm is a compilation of previously published sample exam questions and, in a couple
of cases, does not follow our notation - namely lambda is used instead of little epsilon
to denote the empty string; and also the NFA without epsilon transitions to DFA
construction is called the subset construction.
The sample midterm is intended to give you an idea about the
type of problems you might see on the actual midterm, but please keep in mind that I cannot guarantee that the actual midterm will be of the same
difficulty (mostly because difficulty is perceived very subjectively).
Also, the sample midterm does not contain a bonus problem - if you want to practice those,
try bonus problems from the book (I will not ask for a proof but I might ask for a construction
that underlies a proof).
One more comment about the sample midterm: this is the sample midterm I published last year and at the time of the midterm,
we had completely covered context-free grammars and pushdown automata. As such, the sample midterm contains 0.5+0.5 problems related
to context-free languages whereas the real midterm will use maximum 0.5 such problems. So, imagine a sample midterm with the "closure
properties questions about context-free languages" being replaced by more closure properties questions about regular languages.
Also, the "create a CFG" question could be replaced by a contruction question, e.g. apply the cartesian product construction to get
the union of two regular languages, or possibly by a "create your own construction" question, similar to homework Problem 1.43.
Solutions to the sample midterm can be found here.
Note: I might have posted the wrong version of the solutions, though I tried not to. Please
let me know if there are any problems/typos. The problem with the Myhill-Nerode theorem
uses w instead of z.
The midterm can not be made up except for real emergencies in which case proper documentation
(like a doctor's note) will be required. If at all possible, you should contact me prior to the midterm. Oversleeping, cars that
don't start etc. do not constitute a valid excuse.