## CSE 311
Foundations of Computing I

## Final exam preparation, Fall 2014

The exam is Monday, December 8, 2013, 2:30-4:20 p.m. or 4:30-6:20 in Kane 210.

These will all be in EEB 125!
There will be the following review sessions in EEB 125:

- Thursday, Dec 4 4:30–7:30 (TODAY!)
- Saturday, Dec 6 4:00–7:00
- Sunday, Dec 7 4:00–6:00

Please bring your questions.
We have posted a practice final, and some extra practice questions. You can find (most of) the solutions to the practice exam here. We omitted the DFAs, because they take a while to make.

The final exam will cover the entire course
but particularly the following topics. There will be some emphasis on the
material not covered on the first midterm. (As a rough guide, you can expect 2/3rds of the material post midterm, 1/3rd of the material pre midterm.
In reverse chronological order they are:

- Undecidability: Halting problem and evaluating properties of programs.
- Diagonalization and countability.
- Finite Automata for Pattern Matching.
- Proving languages not accepted by DFAs.
- Subset construction to convert NFA to DFA.
- Conversion of Regular Expression to NFA.
- Minimizing Finite state machines
- Finite state machines with outputs at states.
- Product construction for DFAs.
- DFAs, NFAs and language recognition.
- Graph representation of relations and their closures.
- Transitive reflexive closure.
- Relations, including composition of relations.
- Context-free grammars and languages.
- Regular expressions.
- Structural induction.
- Recursively defined functions and sets.
- Induction and Strong Induction.
- GCD, Euclid's algorithm and modular inverse.
- Prime numbers.
- Modular arithmetic.
- Set theory and functions.
- English proofs.
- Inference rules and proofs for propositional and predicate logic.
- Boolean logic and circuits.
- Predicates and Quantifiers.
- Logic.