Types of assignments you can expect during the final:

Dr. Hasmik Gharibyan
Computer Science Department
California Polytechnic State University
San Luis Obispo, CA, 93407
CSC445: Theory of Computation, Fall 2008
Final Exam Study Sheet
The final is a comprehensive closed-book exam. The schedule of this exam is as follows:
Section 1: 10:10 a.m. - 1 p.m., Monday, December 8, in your lecture room: 52-A11.
Section 2: 10:10 a.m. - 1 p.m., Wednesday, December 10, in your lecture room: 11-104.
Office hours (final’s week): Monday: 9-10 a.m.; Wednesday: 9-10 a.m.
Types of assignments you can expect during this exam:
Part1: Exercises on topics learned throughout the course (similar to homework exercises).
1. Give a recursive definition of the given set
2. Give a regular expression to specify the given set
3. Construct a context-free grammar for a given language
4. Specify the language of the given context-free grammar
5. Construct a regular grammar for a given language
6. Specify the language of the given regular grammar
7. Construct a DFA for the given language (it should be completely deterministic)
Note: nondeterminism or incomplete determinism will be considered a serious mistake
8. Construct an NFA (or NFA-) for the given language
9. Prove that the given language is regular
10. Prove that the given language is not regular (using the Pumping Lemma for regular languages) –
you may be asked to give the full proof and/or will be asked short-answer questions checking
your understanding of the proof
11. Prove that the given language is context-free
12. Prove that the given language is not context-free (using the Pumping Lemma for context-free
languages) – you will NOT be asked to give the full proof; however, you will be asked shortanswer questions checking your understanding of the proof
13. Construct a Standard PDA for the given language
14. Construct a Turing Machine-language acceptor for a given language
15. Construct a Turing Machine-function computer for a given number-theoretic function
Part2. Short-answer questions on the material covered throughout the course (similar to quiz
questions on the course web site). It includes everything covered in all 3 midterms (see study sheets
of midterms 1,2,3 for the list of chapters/sections from the textbook and for the list of handouts).
In this part there will be questions testing your knowledge of concepts and results (definitions,
theorems, lemmas, corollaries) presented in the course. “Know” means: understand, remember, be
able to state as is or explain in you own words, and be able to apply.
Attention: There will be NO questions on the following:
- Algorithm of removing nondeterminism (Algorithm 5.6.3) – this is the algorithm of constructing
an equivalent DFA for the given NFA or NFA-.
However, you should know the -closure and the t function.
- Algorithm of constructing a regular expression from a finite automaton (Algorithm 6.2.2). Also,
there won’t be questions on the expression graphs.
- Algorithm for constructing a regular grammar from a finite automaton and Algorithm for
constructing a finite automaton from a regular grammar (these are algorithms presented in
Theorems 6.3.1 and 6.3.2).
- Variations on the PDA: various acceptance criteria, atomic/extended PDA’s, deterministic PDA.
- Variations of Turing Machines: various acceptance criteria, various types of Turing machines
(multitape, multitrack, two-way, nondeterministic).