You may bring a single page, both sides, of prepared notes to use during the exam. You may not use any other resources during the exam.
If you can do these things (as well as the list from the Exam 1 guide), you should do well on the exam:
- Understand and reason about a formal description of a Turing machine.
- Provide high-level and implementation descriptions of Turing Machines that decide a given language.
- Prove that a given computing model is equivalent (or not equivalent) to a Turing Machine. You should be able to do this for machines that vary various machine properties (for example, the dimensionality of the tape, number of tapes, number of heads, movement rules, acceptance/rejection rules, etc.) as well as for different computing models (such as unrestricted grammars, 2-DPDAs and variants, etc.)
- Determine if a language can be decided by a Turing machine, NDPDA, DPDA, or DFA.
- Reason about closure properties of Turing machines.
- Draw Venn diagrams showing sets of languages that have some property.
- Prove that a given language is decidable or undecidable.
- Understand reduction proofs (well enough to identify flaws in incorrect proofs).
I recommend studying by doing as many of these things as you can (in roughly this order):
- Review Exam 1 and the provided comments. Hopefully, everyone has done this already.
- Review Problem Sets 4-5 and the provided comments. If there are questions you could not solve yourself originally, try them again and then use the comments for help.
- Review the course notes and slides. Try to solve the questions in the course notes.
- Review the book. For topics on which you are under-confident, try example problems and exercises in the book. (Many of these have solutions.)
- Try the practice exams (see below). Try to solve the questions yourself, before discussing them with others or looking at the solutions.
Practice ExamsMIT 6.045J Practice Quiz 2 (Nancy Lynch and Elena Grigorescu)
The first 3 parts of Problem 1 cover enumerators, which are covered in the book, but we have not emphasized in class or the problem sets. Also, do not worry about the questions about the Post Correspondance Problem, which we have not covered (it is in Section 5.2).