TOA Outline
TOA Outline
TOA Outline
Fall 2016
CS-2207: Theory of Automata
Credit Hours: 3
Instructors: Ms. Anham Liaqat anham.liaqat@lhr.nu.edu.pk
Objective: The three major foundations of computer science, the mathematical description of computational
networks, the limitations of mechanical computation, and the formal specification of languages are highly
interrelated disciplines, and all require a great deal of mathematical maturity to appreciate. A computer science
undergraduate is often expected to deal with all these concepts, and so, this course attempts to make it possible
for average students by developing the standard mathematical models of computation devices, as well as
investigating the cognitive and generative capabilities of such machines.
Textbook: John C. Martin. Introduction to Languages and the Theory of Computation. Third Edition. 2003.
McGraw-Hill. ISBN: 0-07-115468-X (International Students Edition).
Reference Books:
1. John E. Hopcroft. Jeffery D. Ullman. Introduction to Automata Theory, Languages, and Computation.
1979. Addison-Wesley. ISBN 0-201-02988
2. T.A. Sudkamp: Languages and Machines (Addison-Wesley, 2nd Edition, 1997)
3. Harry R. Lewis, Christos H. Papadimitriou: Elements of The Theory of Computation, Second Edition,
1998.
4. Daniel I. A. Cohen. Introduction to Computer Theory. Second Edition. 1997. John Wiley & Sons.
ISBN: 0-471-13772-3.
5. Michael Sipser. Introduction to the Theory of Computation. 1997. PWS Publishing Company.
Grading Scheme:
Assignments + Quizzes 20%
Mid-I 15%
Mid-II 15%
Final 45%
Class Participation 5%
Some Rules:
Cheating in any respect will be treated as a big crime and your cases will be forwarded to DC.
Eligibility to pass this course, students should have to get at least 50% marks.
Hand written assignments should be submitted in due time otherwise will be treated as absent in that
assignment.
There will be many pop up quizzes.
There will be No quiz re-take.
Course Outline
Week Reading
Introduction to the Theory of Computation
1
The Basic Concepts
Alphabet, Concatenation, Strings, Kleene Closure, Words, Languages.
Recursive definition of languages.
Operations on languages.
Proof Techniques
Finite Automata
2-3
Finite Automata: States, Transitions, Acceptance/Rejection, Representation by transition table,
Representation by transition diagram, Languages defined by Finite Automata.
Nondeterministic Finite Automata and their equivalence to Deterministic Finite Automata.
4 Regular Languages
Regular Expressions, Languages defined by Regular Expressions.
Kleene’s Theorem.
Connection between Regular Expressions and Regular Language
5 Properties of Regular Languages
Closure Properties of Regular Languages
Elementary Questions about Regular Languages
6 Midterm – I
7 Identifying Nonregular Languages
Pumping Lemma
8 Context Free Languages
Formal definition of context-free grammar.
Regular Grammars: Right linear Grammars, Left Linear Grammars, and Relationship with
nondeterministic finite automata and regular languages.
Push Down Automata and Context Free Languages
9-10
Parsing and Ambiguity
Normal Forms: Chomsky Normal Form, Griebach Normal Form.
Definition: Deterministic, Nondeterministic Push down Automata
Pushdown Automata and their equivalence to Context-free grammars.
Midterm – II
11
Properties of Context Free Languages
12
Pumping Lemma
Closure Properties of Decision Algorithm for Context Free Languages
Parsing
13
LL Parsing
Turing Machines
14
Standard Turing Machines
Recursive and Recursively Enumerable Languages (optional)
Turing Machines
15-16
Multi Track Turing Machines
Multi Track Turing Machines to Standard TM
Combining Turing Machines for Complicated Tasks
Turing Thesis
Some Algorithms (MAX, MULIPLY, ADD, etc.)