Theory of Computation Syllabus
Theory of Computation Syllabus
COURSE OBJECTIVES:
To introduce students to the mathematical foundations of computation including automata
theory; the theory of formal languages and grammars; the notions of algorithm, decidability,
complexity, and computability.
COURSE CONTENT
MODULE I : (12 classes)
Introduction: Automata, Computability, and Complexity, Strings and languages: symbol,
alphabet, string/ word. Language - Definition, language states, difference between natural and
formal language. Finite Automata: Formal definition of a finite automaton, Examples of finite
automata, Formal definition of computation, Designing finite automata, Non-determinism:
Formal definition of a nondeterministic finite automaton, Equivalence of NFAs and DFAs,
Minimization of Finite Automata, Mealy and Moore Machine, Closure under the regular
operations.
MODULE-II: (6 Classes)
Regular Expressions and Pumping Lemma: Regular Expressions: Formal definition of a regular
expression, Equivalence with finite automata. Non-regular Languages: The pumping lemma for
regular languages.
COURSE OUTCOMES:
At the end of the course, the student will be able to:
CO CODE CO STATEMENT COGNITIVE
LEVEL
ETCST206.1 Select a formal notation for strings, languages and machines. Evaluate
Design Finite State Machine and Write the hierarchy of formal
languages, grammars and machines.
ETCST206.2 Examine whether the given language is regular or not. Analyze
ETCST206.3 Design context free grammars to generate strings of context Create
free language. Determine equivalence of languages accepted by
Push Down Automata and languages generated by context free
grammars
ETCST206.4 Distinguish between computability and non-computability and Analyze
Decidability and undecidability. Explain the Decidability or
Undecidability of various problems.
TEXT BOOKS:
REFERENCE BOOKS: