University of Central Punjab
Faculty of Information Technology
PROGRAM (S) TO BE
BSCS
EVALUATED
A. Course Description
1 NCEAC.FORM.001.C
Course Code CSAL 3253
Course Title Theory of Automata and Formal Languages
Credit Hours 03
Prerequisites by Course(s) and Discrete Structure
Topics
Assessment Instruments with Assignments (10%)
Weights (homework, quizzes, Quizzes (15%)
midterms, final, programming Class Participation (10%)
assignments, lab work, etc.)
Mid Term Paper (25%)
Final Term Paper (40%)
Semester 6th
Course Instructor (s) Asif Farooq
Course Instructor Email [email protected]
Course Coordinator Asif Farooq
Course Coordinator Email [email protected]
Office Hours Monday 10:00 am - 11:30 am, Wednesday 11:30 am - 01:00 pm
Office Location C Block Ground Floor G-004
Plagiarism Policy 0% tolerance policy
Tools Used in the Course Nill
Course Description The three major foundations of computer science, the mathematical
description of computational networks, the limitations of computation, and
the formal specification of languages are highly interrelated disciplines, and
all require a great deal of mathematical maturity to appreciate. A computer
science undergraduate is often expected to deal with all these concepts, and
so, this course attempts to make it possible for average students by
developing the standard mathematical models of computational devices, as
well as investigating the cognitive and generative capabilities of such
machines.
Course Objectives Students will achieve the Objectives:
To familiarize the students with the concept of formal languages,
different classes of formal languages such as regular languages,
context-free languages, context-sensitive languages, recursive and
recursively enumerable languages.
To familiarize students with the grammars and machines used for
describing various types of languages. These include regular
expressions, finite state automata, context-free grammars, push-
down automata and Turing machines.
To familiarize students with properties of different types of
languages.
Textbook (or Laboratory Manual John C. Martin. Introduction to Languages and the Theory of Computation.
for Laboratory Courses) Fourth Edition. 2003. McGraw-Hill. ISBN: 0-07-115468-X (International
Students Edition).
Reference Material 1. John E. Hopcroft. Jeffery D. Ullman. Introduction to Automata
Theory, Languages, and Computation. 1979. Addison-Wesley.
ISBN 0-201-02988
2. Harry R. Lewis, Christos H. Papadimitriou: Elements of The
Theory of Computation, Second Edition, 1998.
3. Michael Sipser. Introduction to the Theory of Computation. 1997.
PWS Publishing Company.
Programming Assignments Done Nill
2 NCEAC.FORM.001.C
in the Course
Class Time Spent on (in credit Theory Problem Solution Social and Ethical
hours) Analysis Issues
0.5 1 1 0.5
Oral and Written Yes (Oral in terms of discussion for problem solving)
Communications
CLO CLO STATEMENT Bloom’s PLO
Taxonomy Level
1 Understand basics of formal language classes and prove language C2 2
membership properties with focus regular languages using State machines.
Differentiate and manipulate formal descriptions of languages, automata
2 and grammars with focus on context-free languages using push down C3 3
automata to determine solution of problems.
Apply their understanding of key notions through complex problem
3 solving with focus on non-context-free languages using Turing Machines. C3 3
Book / Slides Evaluation Relation
Week Topics
Reference Used to CLO
3 NCEAC.FORM.001.C
Mathematical Tools and Techniques
Course Introduction
Review of Set Theory
Languages
Complement, union, concatenation of language
Substring, relations, functions
Languages and different examples
Examples
1st CH # 01 CLO_1
Finite Automata and Language they Accept
Formal Language
kleene Star * and +Recursive Definitions
Structural Induction
Definition
Examples
Finite Automata definition
CLO_1
2nd CH # 01 and 02
4 NCEAC.FORM.001.C
Finite Automata and Language they Accept
Regular Languages
Examples
Finite Automata definition
Detail Examples
Problem Solving
Assignment CLO_1
3rd CH # 02
01 CLO_2
Finite Automata and its Properties
Deterministic Finite Automata,
Design and working of Deterministic State
Machine
Closure and decision properties
Union and Intersection
Difference of two languages
CLO_1
4th CH # 02 Quiz 01
CLO_2
5 NCEAC.FORM.001.C
Non- Determinism
Non-Deterministic Finite Automata definition
NFA With and with-out lambda transition
Design and working of Non-Deterministic State
Machine with lambda transition
Design and working of Non-Deterministic State
Machine without lambda transition
Examples with computational Tree Assignment
5th CH # 3 CLO_2
02
Equivalence of NFA and DFA
NFA to DFA Conversion
With lambda Transition
Without lambda Transition
Practice Examples
6th Ch # 03 CLO_2
Regular Expression
Regular Language and Regular expression
Regular Expression working
7th CH # 03 Quiz 02 CLO_2
Examples
Closure properties
Kleene’s Theorem
Regular Expression Equivalence
Equivalence among Regular Expression and
8th CH # 03 CLO_2
Finite State Machine
Revision
CLO_1,
CLO_2,
MID Term
MID Term Review
6 NCEAC.FORM.001.C
Context Free Languages
Use of Grammar rules to define a language
Difference between Regular and Context Free
Languages
Context Free Grammar definition
Examples CLO_3
9th CH # 04 CLO_2
CLO_1
Context Free Languages/Grammar
Regular Language and Regular Grammar
Working of Context Free Grammar
Examples
Assignment CLO_3
10th CH # 04
03 CLO_2
Context Free Languages/Grammar
Derivation (LMD and RMD)
Parse Tree
Ambiguity
Simplified and Normal forms
CLO_1
11th CH # 04 Quiz 03
CLO_2
7 NCEAC.FORM.001.C
Pushdown Automata
Definition and Examples
Deterministic Pushdown Automata
Palindrome with a marker
12th Number of a’s are greater than number of b’s CH # 05 CLO_3
Non-Deterministic Push Down Automata
Non deterministic PDA
Palindrome
Dry run examples
String Parsing
Assignment CLO_3
13th CH # 05
04 CLO_2
Non- Context Free Languages
Turing Machine definition
General model of computation
Single Tape Turing Machine
Turing Machine as language acceptor
Examples
14th CH # 07 Quiz 04 CLO_3
8 NCEAC.FORM.001.C
Turing Machine
Turing machine that computer Partial
Functions
Addition of two binary numbers using TM
Subtraction
15th Multiplication CH # 07 Quiz 05 CLO_3
Division
More Examples of TM CLO_1,
th Revision CLO_2,
16
CLO_3
9 NCEAC.FORM.001.C