EECS 4100 - Theory of ComputationÌýCourse Syllabus
Credits/Contact Hours
3 credit hours & 160 minutes lecture contact hours per week.
Textbook
Michael Sipser, Introduction to the Theory of Computation, 3rd Ed., Cengage Learning,
ISBN: 9789-1-133-18779-0ÌýÌý
Course Information
Examines formal models of automata and languages. Finite-
state automata, regular languages, pushdown automata, context- free languages, Turing
machines, decidability, reducibility, and P vs NP complexity classes.
Prerequisites: EECS 2510: Nonlinear Data Structures and EECS 2520: Discrete StructuresÌý
Elective or Required Course: Required.Ìý
Specific Goals - StudentÌýLearning ObjectivesÌý(SLOs)
The students will be able to:
1. Devise a variety of simple proofs.
2. Define what a Regular Language is and construct a finiteÌýstate machine for it.
3. Construct equivalent representations among RegularÌýLanguages, Regular Expressions,
and Regular Grammars.
4. Formulate a grammar defining the syntax of common programming languages.
5. Be able to formulate the equations for pushdownÌýautomaton.
6. Understand Turing Machines and the simple primitiveÌýmechanisms needed for all computation.
7. Understand recursive and recursively enumerableÌýlanguages.
8. Identify the characteristics of problems for which noÌýcomputational solution exists.
9. Understand the concepts of P vs. NP vs. NP-complete.
Specific Goals –ÌýÌý Outcome 1: Supported by 1, 2, 4, 5, 7, 8, 9
EAC Crit. 3 Outcomes
Specific Goals –Ìý Outcome 1: Supported by SLOs 2, 4, 5, 9
CAC Crit. 3 Outcomes ÌýOutcome 6: Supported by SLOs 5 and 7Ìý
Topics
- DFA’s and regular expressionsÌý
- NFA’s and conversion to DFAÌý
- Regular Expression to GNFA to NFAÌý Ìý
- Pumping lemma for Regular LanguagesÌý
- PDA and NPDAÌý
- Context Free Grammars, Chomsky Normal Form, and Greibach Normal Form.Ìý
- Pumping Lemma for CFL, DK-Test, and LR ParsingÌý
- Turing MachinesÌý
- Turing Machine Types – Recognizers, deciders, enumerators, and other equivalent machines.Ìý
- DecidabilityÌý
- ReducibilityÌý
- ComplexityÌý
- IntractabilityÌý
- Approximation AlgorithmsÌý