code CS311
credit_hours 3
title Theory of Computation
arbic title
prequisites CS202
credit hours 3
Description/Outcomes This course introduces the fundamental mathematical models of computation. The course presents both inherent capabilities and limitations of these computational models as well as their relationships with formal languages. Topics to be covered include: Finite automata and regular languages, deterministic and nondeterministic computations, pumping lemma for regular languages, context-free grammars and languages, pushdown automata, pumping lemma for context-free languages, and Turing machines and their variants.
arabic Description/Outcomes
objectives 1. Understand the capabilities and limitation of computational models.
2. Prove whether or not a given language is regular.
3. Prove whether or not a given language is context-free.
4. Design variants of Turing machines.
5. Understand the relationship between the regular, context-free and recursively enumerable languages.
6. Implement simple parsers using Finite State Automata and regular expressions.
arabic objectives
ref. books John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley.
arabic ref. books
textbook Michael Sipser, Introduction to the Theory of Computation, Cengage Learning.
arabic textbook
objective set
content set
Course Content
content serial Description