TOC Syllabus
TOC Syllabus
Pre-requisite Course Codes, if any. CS201: Discrete Structures and Graph Theory
Course Objective: To give an overview of the theoretical foundations of computer science from the
perspective of formal languages which provides the mathematical foundation of formal models of
computation, and fundamentals of formal grammars and languages that is used in most areas of
computer science.
Course Outcomes (CO):At the end of the course students will be able to
CS301.1 Design finite automaton for a regular expressions and languages.
CS301.2 Apply the properties of regular languages.
CS301.3 Construct the grammar for a language and convert it into normal forms.
CS301.4 Design and Evaluate Pushdown Automata and Turing Machine for a language.
Theory Component
Module Unit
Topics Ref. Hrs.
No. No.
1 Title Sets, Relations and Languages 1,5 3
1.1 Relations and functions
1.2 Alphabets and languages
1.3 Types of proof
2 Title Finite Automata 1,3,5 7
2.1 Regular languages and regular expressions
2.2 Finite Automata, Nondeterministic Finite Automata,
Nondeterministic Finite Automata with ϵ-transitions
2.3 Kleene’s theorem
2.4 NFA to DFA Conversion
2.5 Finite Automata with output (Moore and Mealy Machine)
3 Title Regular Languages 1,4 6
3.1 The pumping lemma for regular languages, Applications of the
pumping lemma
3.2 Closure properties for regular languages
3.3 Equivalence and minimization of automata: Testing equivalence
of states, Minimization of DFA’s
4 Title Context-Free Grammars and Languages 1,5 5
4.1 Context free grammars: Definition of context free grammars,
Derivations using a grammar, The language of a grammar,
Sentential forms
4.2 Parse trees: Constructing parse trees, From inferences to trees,
From trees to derivations, From derivations to recursive
inferences
4.3 Ambiguity in grammars and languages: Ambiguous grammars,
Removing ambiguity from grammars
5 Title Pushdown Automata 1,2 6
5.1 Definition of the pushdown automaton: The formal definition of
pushdown automata, A graphical notation for PDA’s,
Instantaneous descriptions of a PDA
5.2 The languages of a PDA: Acceptance by final state, Acceptance
by empty stack, From empty stack to final state, From final state
to empty stack
5.3 Equivalence of PDA’s and CFG’s: From grammars to
pushdown automata, From PDA’s to Grammar
5.4 Deterministic pushdown automata: Definition of a deterministic
PDA, Regular languages and deterministic PDA’s, DPDA’s and
context free languages
6 Title Properties of Context-Free Languages 1,2,3 5
6.1 Eliminating useless symbols, Computing the generating and
reachable symbols, Chomsky normal form, Greibach normal form
6.2 The Pumping lemma for context free languages: Applications of
the pumping lemma for CFL’s
Text Books
Sr.
Title Edition Authors Publisher Year
No.
1 Introduction to Automata Third John E. Hopcroft, Pearson 2008
Theory, Languages, and Rajeev Motwani,
Computation Jeffrey D. Ullman
2 Introduction to the Theory of Third Michael Sipser Cengage 2013
computation
Reference Books
Sr.
Title Edition Authors Publisher Year
No.
1 Introduction to Languages Fourth John C. Martin McGraw-Hill 2010
and the Theory of
Computation
2 Elements of the Theory of Second Harry R. Lewis, Pearson 2015
Computation Christos H.
Papadimitriou
3 Automata and Computability -- Dexter C. Kozen Springer 1997