0% found this document useful (0 votes)
12 views5 pages

Formal Language - Course Outline

The document describes a course on formal language theory. It provides details on the course number, title, credits, prerequisites, and status. It also outlines the course description, objectives, contents including regular expressions, grammars, automata, and context free languages.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views5 pages

Formal Language - Course Outline

The document describes a course on formal language theory. It provides details on the course number, title, credits, prerequisites, and status. It also outlines the course description, objectives, contents including regular expressions, grammars, automata, and context free languages.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Course Number COSC3053

Course Title Formal Language Theory

Degree Program BSc. In Computer Science

Credits/Contacts 3/3

Prerequisite COSC3061

Semester 2nd Semester / Year III

Status of Course Compulsory

Course Description  Overview of Natural vs. Formal Language,


Review of set theory and relations,
Grammars, Introduction to phrase structure
grammar and language, Regular grammars,
Definition of regular languages and
properties, Finite state automata, Definition
of DFSA,NFSA, Equivalence of DFSA and
NFSA
 Regular expressions
 Definition, simplification , equivalence
between DFSA,NFSA and RE
 Pumping Lemma for regular language
 Context free grammars
 Definition, derivation tree, CFL, ambiguity of
grammars
 Parsing arithmetic expression
 Normal forms( CNF, pumping lemma for
CFLs ,GNF)

Pushdown automata(NPDA, DPDA)

Course Objectives and Upon the completion this course, the students will
Competences to be
acquired be able to:-

 understand the difference between natural


and formal language
 understand regular expressions ,grammar,
and language
 understand finite state automata
 identify DFSA and NFSA
 understand context free grammar
 Know how to parse arithmetic expression
Course Contents 1. Basics
 Overview of languages
 Review of set theory and relations
o Set theory
 definition
 operations
 cardinality and countability
o Relations and functions
 basic definition of relations
 Equivalence relation
 Functions
 Mathematical induction
 Graphs and trees
o Graphs
o Trees
 Strings and languages
o Strings
o Languages
2. Introduction to Grammars
 Grammars (introduction)
 Types of Grammar
 Regular expressions (REs)
 Regular grammars
o Regular grammars (introduction and
definition)
o Regular languages and properties
o Transition diagrams
 Phrase Structure Grammar (PSG) and
language
o Derivation
3. Regular Languages
 Automata
o Characteristics and types of automata
o Finite State Automata (FSA)
 Deterministic FSA
 String acceptance by DFSA
 Nondeterministic FSA
 String acceptance by NFSA
 Equivalence of DFSA and NFSA
 FSA with lambda moves
 String acceptance by FSA with
lambda moves
 Regular expressions (REs)
o Identities for regular expressions
o Equivalence of DFSA, NFSA, and RE
 Minimization of DFSA
 Identification of non-regular languages
o Pumping lemma for regular languages
4. Context Free Languages
 Context Free Grammars
o Introduction and Definition
o Derivation Tree
o Context free Languages
o Ambiguity in grammars
 Parsing arithmetic expressions
 Removing lambda productions
 Normal Forms (NFs)
o Chomsky NF (CNF)
o Greibach NF (GNF)
5. Push Down Automata (PDA) (5hrs)
 Non-deterministic pushdown automata
(NPDA)
o Instantaneous description (ID)
o Languages accepted by NPDA
 Deterministic pushdown automata (DPDA)
o Languages accepted by DPDA

6. Introduction to Turing Machines

 Definition of Turing Machines


 Turing Machines and Deterministic
Machines
Undecidability
Teaching and learning  Lecture
Methods  Discussion

Assessment/Evaluation  Theoretical Tests (30%)


and Grading System
 Assignment (20%)
 Final Exam (50%)
Text Books 1. Martin, John C. Introduction to Languages
and Automata Theory, 3rd ed., Tata McGraw-
Hill, 2007.
Reference Materials 1. Sudkamp, Thomas A. An Introduction to the
Theory of Computer Science, Languages and
Machines, 3rd ed., Pearson Education, 2006.
2. Cohen, Daniel I.A. Introduction to Computer
Theory –, 2nd ed., John Wiley & Sons, 2004.
3. John C. Martin, An Introduction to Languages
and the Theory of Computation, Tata McGraw
Hill,2004
4. K.L.P Mishra, Theory of Computer Science,
PHI, 2003
5. Chandrasekaran, Theory of Computer Science
(Automata, languages & Computation), 2nd ed.,
1998
Peter Linz, An Introduction to Formal Language
Automata,D.C.Heath,1990

You might also like