Syllabus for the Final exam

- Languages
- Give the formal definition of a language
- Operations on languages (complement, intersection, concatenation, power, reverse, star-closure)
- Grammars
- Give the formal definition of a grammar
- Give the formal definition of a regular grammar
- Give the formal definition of a context-free grammar
- Give the formal definition of equivalence of two grammars
- Give the formal definition of a useless production
- Give the formal definition of a nullable variable
- Give a grammar that produces the following language ...
- Describe the language generated by the grammar below ...
- Remove lambda productions from the following context-free grammar ...
- Remove unit productions from the following context-free grammar ...
- Remove useless productions from the following context-free grammar ...
- Convert the following context-free grammar to Chomsky normal form (CNF)
- DFAs
- Give the formal definition of a DFA
- Give the formal definition of the language accepted by a DFA
- Give a DFA that accepts the following language ...
- Describe the language accepted by the DFA below ...
- Minimize the (number of states of the) DFA below ...
- NFAs
- Give the formal definition of a NFA
- Give the formal definition of the language accepted by a NFA
- Give an NFA that accepts the following language ...
- Describe the language accepted by the NFA below ...
- Convert the NFA (with lambda transitions) below into a DFA ...
- Regular Expressions
- Give the formal definition of a regular expression
- Give the formal definition of a language associated with a regular expression
- Give a regular expression for the following language ...
- Describe the language for the following regular expression ...
- Convert the regular expression below into a NFA ...
- Convert the DFA/NFA below into a regular expression ...
- Regular Languages
- Give the formal definition of a regular language
- Existance of an algorithm to check membership, to test whether the language is empty, finite/infinite, and to determine whether two languages are equal
- Prove that the following regular language is regular (show a DFA, NFA, regular expression, regular grammar) ...
- Prove that the following language is not regular (using closure properties or pumping lemma for regular languages) ...
- Pumping lemma for regular languages
- Closure properties
- Context-Free Languages
- Give the formal definition of a context-free language
- Prove that the following language is context-free (show a context-free grammar or a NPDA) ...
- Prove that the following language is not context-free (using closure properties or pumping lemma for CF languages) ...
- Determine whether a given string belongs to the language generated by a grammar in CNF, using CYK algorithm
- Pumping lemma for context-free languages
- Closure properties
- Nondeterministic pushdown automata
- Give the formal definition of a nondeterministic pushdown automaton (NPDA)
- Give the formal definition of the language accepted by a NPDA
- Give a NPDA for the following language ...
- Describe the language for the following NPDA ...

**NOTE:** The list above is representative of the problems that could be on the
final, but not necessarly exhaustive