FormalLang FormalLanguagesTheoryvvvAutomata
FormalLang FormalLanguagesTheoryvvvAutomata
(SYLLABUS)
Course Title Formal Languages & Theory of Automata
Course Code PGMCA23CR202
Semester MCA 2nd
Course Type Core
Credits 04 Credits (L-T-P=3:1:0)
COURSE OBJECTIVES:
1. To acquire concepts relating to the theoretical foundations of computer science from
the perspective of formal languages.
2. Exploration of Grammar hierarchy/types, Language classes, Decidability and
Computability.
3. Study of Automata, Different machines, Complexity theory and application in modern
computer science.
UNIT I: INTRODUCTION
Structural Representations, Automata and Complexity, the Central Concepts of Automata
Theory – Alphabets, Strings, Languages, Problems, Formal Languages and Grammars, Finite-
State Automata and Regular languages, Chomsky Hierarchy, DFA, NFA - Conversions, Moore &
Mealy Machines.
UNIT II: Regular Expressions & Regular Grammars
Regular Expressions, Algebraic laws of Regular Expressions, Conversion of Finite Automata to
Regular Expressions, Pumping Lemma for Regular Languages, Decision Problems for Regular
Languages, Closure Properties of Regular Languages, Equivalence and Minimization of
Automata.
UNIT III: Context-Free & Context-Sensitive Grammars
Context-free grammar and language, Derivations Using Grammar, Parse Tress, Recursion,
Closure Properties, Pushdown Automata, Equivalence of PDA and CFG, Deterministic
Pushdown Automata, Conversion from CFG to PDA, from PDA to CFG, Context-Sensitive
Grammar & Language, Production Rules, Closure Properties of CSG, Linear Bounded
Automata.
UNIT IV: Turning Machines & Complexity Theory
Introduction to Turing Machine, Formal Description, Instantaneous Description,
Grammar/Language of a Turing Machine, Universal Turning Machine, The Church-Turing
thesis.
Recommended Textbook(s):
1. "An Introduction to Formal Languages and Automata" by Peter Linz.
2. “Introduction to Computer Theory” by Daniel I.A Cohen.
Suggested Readings:
1. “Introduction to Automata Theory, Languages and Computation" by John E. Hopcroft
and Jeffrey D. Ullman
2. "Automata, Computability and Complexity: Theory and Applications" by Elaine Rich