Fourth Semester
Theory of Computation
Course Description: This course presents a study of Finite State Machines and their languages. It covers the details of finite state automata, regular expressions, context free grammars. More, the course includes design of the Push-down automata and Turing Machines. The course also includes basics of undecidabilty and intractability.
Course Objectives: The main objective of the course is to introduce concepts of the models of computation and formal language approach to computation. The general objectives are to, introduce concepts in automata theory and theory of computation, design different finite state machines and grammars and recognizers for different formal languages, identify different formal language classes and their relationships, and determine the decidability and intractability of computational problems.
Contents of Chapter |
|---|
Unit 1: Basic Foundations (3 Hrs.)
1.1. Review of Set Theory, Logic, Functions, Proofs |
Unit 2: Introduction to Finite Automata (8 Hrs.)
2.1. Introduction to Finite Automata, Introduction of
Finite State Machine |
Unit 3: Regular Expressions (6 Hrs.)
3.1. Regular Expressions, Operators of Regular Expressions (Union, Concatenation, Kleen), Regular Languages and their applications,
Algebraic Rules for Regular Expressions |
Unit 4: Context Free Grammar (9 Hrs.)
4.1. Introduction to Context Free Grammar (CFG), Components of CFG, Use of CFG, Context Free
Language (CFL) |
Unit 5: Push Down Automata (7 Hrs.)
5.1. Introduction to Push Down Automata (PDA), Representation of PDA, Operations of PDA, Move of a PDA, Instantaneous Description for
PDA |
Unit 6: Turing Machines (10 Hrs.)
6.1. Introduction to Turing Machines (TM), Notations of Turing Machine, Language of a Turing Machine, Instantaneous Description for Turing Machine, Acceptance of a string by a
Turing Machines |
Unit 7: Undecidability and Intractability (5 Hrs.)
7.1. Computational Complexity, Time and Space complexity of a Turing Machine, Intractability |