Formal Language
Formal Language
Learning Outcomes:
Subject-specific knowledge:
Introduce the student to the concepts of theory of computation in computer science and the
student acquires insights into the relationship among formal languages, formal grammars, and
automata.
introduce with the mathematical notation of Sets, Graphs and Trees
understand about (Finite) Automata concepts
study and understand about Grammars, Languages and Normal Forms
introduce the mechanism of Turing Machine
Subject-specific practical skills:
None
Transferable skills:
Analyzing and Reasoning skills
Course Description:
Introduction to Mathematical Notation and Basic Concepts; Finite Automata; Regular
Expressions, Grammars and Languages; Context Free Grammars and Languages; Normal
Forms – Chomsky Normal Form and Greibach Normal Form; Push down Automata; Turing
machines
Course Contents:
Chapter-One : Introduction to the Theory of Computation
1.1 Sets
1.2 Functions and Relations
1.3 Graphs and Trees
1.4 Languages
1.5 Grammars
1.6 Automata
Chapter-Two : Finite Automata
2.1 Deterministic Finite Automata
2.2 Nondeterministic Finite Automata
2.3 Equivalence of Deterministic and Non-deterministic
Finite Automata
2.4 Reducing number of states in Finite Automata
Chapter-Three : Regular Languages and Regular Grammars
3.1 Regular Expressions
3.2 Connection between Regular Expressions and Regular
Languages
3.3 Regular Grammars
Chapter-Four : Context Free Languages
4.1 Context Free Grammars
4.2 Parsing and Ambiguity
4.3 Context Free Grammars and Programming Languages
Chapter-Five : Simplification of Context Free Grammars and Normal Forms
5.1 Methods for Transforming Grammars
5.2 Normal Forms
5.2.1 Chomsky Normal Form
5.2.2 Greibach Normal Form
Chapter-Six : Push Down Automata
6.1 Nondeterministic Push down Automata
6.2 Push down Automata and Context Free Languages
6.3 Deterministic Push down Automata and Deterministic
Context Free Languages
Chapter-Seven : Turing Machines
7.1 The Standard Turing Machine
7.2 Combining Turing Machines for complicated tasks
Assessment Methods:
Mid Exam – 30%
Quizzes – 10%
Final Exam – 60%