You are on page 1of 22

Subject Folder: Theory Contents

Department : Computer Science and Engineering Session: July 19 – December 19


Name of Faculty: Atish Mishra Semester V
Subject: Theory of Computation Subject Code: CS 501

INDEX

Sr. No. Contents Page No.


1. Time Table
2. Individual Time table
3. Scheme
4. Syllabus
5. CO,CO-PO Matrix
6. Assessment Tool
7. Mid Semester Test Papers
8. Target Set for the 2019-2020
9. CCP
10. Assignment
11. Virtual Lab
CLASS TIME TABLE

Prestige Institute of Engineering Management and Research, Indore


Department of Computer Science and Engineering
Time Table: BE III Year V ( Semester)

Academic Session Jul-Dec 2019

Room No- C209 Number of students- 60 Class Teacher- Mr. Atish Mishra

DAY 9:00-10:00 10:00-11:00 11:00-11:50 11:50-12:40 12:40-1:30 1:30-2.20 2:20-3:10 3:10-4:00


Minor Project (MJ1) TOC Lab (P2) - AM1 - SE Lab
Aptitude-
MON OS lab/ Internship TOC - AM1 CS - MJ DBMS Lab (P1) GST - DBMS
MJ
Lab-SE lab Lab
DBMS - Soft Skills Cocubes Coding - Computer
TUE CS - MJ TOC - AM1 IWT - AC
GST - VA Center
TOC Lab (P1) - AM1 - Python Lab (P1) CGMM - MJ
WED SE Lab DBMS Lab (P2) DBMS - GST CS - MJ IWT - AC & YM Linux Lab (P2)
GST - DBMS Lab DS - SE Lab
Lunch
Python Lab (P2)
Python Lab (P1) CGMM - MJ
CGMM - MJ & YM DBMS - TOC -
THU IWT - AC & YM
Linux Lab (P1) DS - GST AM
Linux Lab (P2) DS - SE Lab
SE Lab
Python Lab (P2)
CGMM - MJ & YM Aptitude- TOC - Enterpreneurship/
FRI Sports
Linux Lab (P1) DS - SE MJ AM Internship - II - GST
Lab
DBMS -
SAT IWT - AC CS - MJ TOC - AM
GST
INDIVIDUAL TIME TABLE
Day 9:00-10:00 10:00-11:00 11:00- 11:50 11:50 -12:40 12:40-1:30 1:30-2:20 2:20-3:10 3:10 - 4:00

TOC - CS V
TOC Lab CS V Sem
Monday Sem

TOC - CS
Tuesday VSem

Wednesday TOC Lab CS V Sem

TOC - CS VII
Thursday Sem

TOC - CS VII
Friday Sem

TOC - CS VII
Saturday Sem
B.Tech. Computer Science and Engineering
Course: CS 501 Theory of Computation

SCHEME
COURSE TITLE COURSE CREDITS– 4C THEORY
CODE PAPERS

Theory of Computation L T P Max.Marks-70


CS 501 Min.Marks-21
3 1 2 Duration-3hrs.

SYLLABUS
UNIT 1
Introduction of Automata Theory: Examples of automata machines, Finite Automata as a language
acceptor and translator, Moore machines and mealy machines, composite machine, Conversion from Mealy
to Moore and vice versa.

UNIT 2
Types of Finite Automata: Non Deterministic Finite Automata (NDFA), Deterministic finite automata
machines, conversion of NDFA to DFA, minimization of automata machines, regular expression, Arden’s
theorem. Meaning of union, intersection, concatenation and closure, 2 way DFA.

UNIT 3
Grammars: Introduction to CFG, Regular Grammars, Derivation trees and Ambiguity, Simplification of
Context free grammars, Normal Forms (Chomsky Normal Form and Greibach Normal Forms).

UNIT 4
Pushdown Automata: Definition of PDA, Deterministic Pushdown Automata, PDA corresponding to given
CFG, CFG corresponding to a given PDA.
Context Free Languages: The pumping lemma for CFL’s, Closure properties of CFL’s, Decision problems
involving CFL’s.

UNIT 5
Turing Machines: Introduction, TM model, representation and languages acceptability of TM Design of TM,
Universal TM & Other modification, Church’s hypothesis, composite & iterated TM. Turing machine as
enumerators.Properties of recursive & recursively enumerable languages, Universal Turing machine
COURSE OUTCOME

After completion of this course student will be able to :


1. Relate practical problems to languages, automata, computability and
complexity.
2. Construct and justify abstract models of computing and check their power to
recognize the languages.
3. Analyze the grammar, its types, simplification and normal form.
Course Outcome
4. Develop an overview of how automata theory, languages and computation
are applicable in engineering.
5. Demonstrate analytical thinking and intuition for problem solving in the
related areas
6. demonstrate analytical thinking and intuition for problem solving in the
related areas

CO PO MATRIX
CO & PO Mapping

CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3 1

CO2 2 3 1

CO3 2 3 3 1

CO4 3 2 1

CO5 3 2 2

CO6 2 3 3

Average 1.5 2.1 1.6 1.1 0.18

Note: Now map your Cos with POs and fill the given matrix: Fill 1,2 or 3 in the cell depending on 1:poor, 2: medium
and 3:strong fulfillment of CO for particular PO
ASSESSMENT MATRIX

Application/Field Trip)
Research assignments
Learning Outcome ID

Practical Experiment
Learning

Case Study analysis

Group Discussions

Other (Real World


Prototype making
Lab Experiment
Outcome

Presentation
Writen Test

Role Play
Seminar
Sr. No

Tutorial

Project
Module/Unit

LO1
√ √
L02
√ √
L03
Introduction of √ √
1 Automata Theory L04
√ √ √

LO5
√ √ √ √
L06
Types of Finite √
2 Automata L07
√ √ √
L08
√ √
L09
√ √
Grammar L10
3 √
L11
√ √ √
L12
√ √
L13
√ √
L14
Push Down
Automata
√ √
4 L15

L16
√ √
L17
√ √
L18
Turing Machine
√ √
5 L19
√ √
L20
√ √ √
EVALUATION SYSTEM

Assessment Requirements as per


Course Matrix (Select which is Percentage weight
applicable)
Mid Term Examination 12.5
Quiz 12.5
Term/Lab Work 12.5
Lab Assignment 12.5
University Exam(theory) 15
University Exam(Practical) 15
Comprehensive Viva 20
Total 100%

TARGET SET:
65% students score 60% or more marks upon final evaluation.
Course Curriculum Pack
This course is aimed at imparting knowledge to candidates for the Theory of Computation and aims at
building the following key competencies amongst the Students

Program Name Degree Bachelor of Technology in Computer Science &Engineering


Qualification Pack QPXXXXX
Course Name Theory of Course Code Weekly Workload in Hours
Computation CS 501 Theory 3 Pract. 2 Tut 1

Version No 1.0 Version Update date 10/07/2019


 Discrete Mathematics
Pre-requisite
 Fundamental of Set theory
After completion of this course student will be able to :
7. Relate practical problems to languages, automata, computability and
complexity.
8. Construct and justify abstract models of computing and check their power to
recognize the languages.
9. Analyze the grammar, its types, simplification and normal form.
Course Outcome
10. Develop an overview of how automata theory, languages and computation
are applicable in engineering.
11. Demonstrate analytical thinking and intuition for problem solving in the
related areas
12. demonstrate analytical thinking and intuition for problem solving in the
related areas
The Course Encompasses

Instructional
Sr. No Module/Units Key Learning Outcomes
Objectives

Introduction of Automata The Students should be able to:


Theory L01: understand the concept and components of a
language.
Theory Duration (hh.mm):
1 LO2: design FSM.
(10.00)
L03: Design FSM’s with output of various types.
Practical Duration L04: Covert FSM’s with output into one and other.
(hh.mm): (10:00)

Types of Finite Automata


The Students should be able to:
Theory Duration (hh.mm): L05: Convert various NFA’s into DFA’s.
2 (10:00) L06: write regular expression for FSM’s.
Practical Duration LO7: check whether the given set is regular or not..
(hh.mm): (4:00)

The Students should be able to:


Grammars:
LO8: understand CFG and its use.
3 Theory Duration (hh.mm): L09: Do LMD, RMD and draw parse tree for a given
(6:00) string.
L10: understand the concept of Ambiguity.
L11: convert given CFG into CNF, GNF.
Pushdown Automata:
The Students should be able to:
Theory Duration (hh.mm): L12: know about PDA, its component, types and use.
(7:00) L13: Design PDA according to the requirement.
4
L14: Know the property of CFL.
Practical Duration L15: convert PDA to CFG and vice a versa.
(hh.mm): (6:00) L16: check whether the given set is context free or not.

The Students should be able to:


Turing Machines
L17: know about Turing Machine, its component, types
and use.
Theory Duration (hh.mm):
5 (7:00) L18: Design Turing Machine according to the
requirement.
Practical Duration L19: Know the property of Recursive and recursively
(hh.mm): (4:00) enumerable set.
L20: know Church’s Hypothesis
Module/Unit wise Syllabus Details
Sr. No Module/Units Detailed Topic wise Syllabus References
1 Introduction of Automata  Automata types and use
Theory  Equivalence Mealy & Moore machines Chapter 1,2 ,3,4
 Conversion of Mealy To Moore and Vice T1
Theory Duration (hh.mm):
(10.00) versa Chapter 3,4,5
 Regular Sets and grammar T2
Practical Duration
(hh.mm): (10:00)
2  Equivalence of DFA and NDFA
Types of Finite Automata
 Finite automata and regular expression
Chapter 3
Theory Duration (hh.mm):  Finite Automate minimization Myhill- Nerode T1
(10:00) theorem
Practical Duration  Pumping lemma and regular sets Chapter 5
(hh.mm): (4:00) T2
 closure properties of regular sets
 2-way DFA.
3  Introduction to CFG, Regular Grammars
Grammars: Chapter 5,7
 Derivation trees and Ambiguity
T1
Theory Duration (hh.mm):  Simplification of Context free grammars
(6:00)  CNF Chapter 4,6
 GNF T2

4  Definition of PDA
Pushdown Automata:
 Deterministic Pushdown Automata
Chapter 6
Theory Duration (hh.mm):  PDA corresponding to given CFG T1
(7:00)
 CFG corresponding to a given PDA
Chapter 7
Practical Duration  The pumping lemma for CFL’s
T2
(hh.mm): (6:00)  Closure properties of CFL’s
 Decision problems involving CFL’s
5  TM model, representation and languages
acceptability of TM
Turing Machines  Design of TM
 Universal TM & Other modification Chapter 8,9
Theory Duration (hh.mm): T1
 Church’s hypothesis, composite & iterated
(7:00)
TM Chapter 9
Practical Duration  Turing machine as enumerators T2
(hh.mm): (4:00)
 Properties of recursive & recursively
enumerable languages.
 Universal Turing machine
Lecture Plan To Cover/Complete The Syllabus
Reference Planned
S.No. Unit Topic Name
Books Lectures

Subject Objective, Applications, Emerging Technologies,


1 Content Extra to Syllabus, Lesson Plan, Teaching Methodology - 1
and Training aids will be discussed in first lecture

2 Introduction to Automata Chapter 1 T1 1

3 Finite Automata as a language acceptor and translator Chapter2 T1 2

4 I Moore machines and mealy machines Chapter 3 T2 1

5 Conversion from Mealy to Moore and vice versa Chapter 3 T2 2

Chapter 4
6 composite machine 1
T1

7 Numerical Solving 2

8 Non Deterministic Finite Automata (NDFA) and types Chapter 2 T1 1

9 conversion of NDFA to DFA, NFA with”^” to NFA and DFA Chapter 2 T1 2

Minimization of finite automata using Myhill-Nerode theorem


10 Chapter 2 T2 2
Numerical

Two-way finite automata. Regular Sets and Regular


11 II Chapter 3,4 T1 2
Grammars: Alphabet, words, Operations, Regular sets

12 Finite automata and regular expression Arden’s Equation Chapter 5 T2 1

Finite automata and regular expression Arden’s Equation


13 1
Numerical

Pumping lemma and regular sets, Application of pumping


14 Chapter 5 T2 1
lemma, closure properties of regular sets.

15 Chapter 6 T2 1
Introduction to CFG

16 LMD, RMD, Parse tree and Ambiguity, Chapter 5 T1 1

III
17 Simplification of Context free grammars Chapter 6 T2 1

18 Normal Forms: Chomsky Normal Form Chapter 6 T2 1

19 Greibach Normal Forms Chapter 6 T2 2

21 Definition and introduction of PDA Chapter 7 T2 1

22 Deterministic Pushdown Automata Chapter 6 T1 1

23 Deterministic Pushdown Automata Numerical 1

24 PDA corresponding to given CFG Chapter 7 T2 1


IV

25 CFG corresponding to a given PDA. Chapter 7 T2 1

26 Chapter 7 T2 1
Context Free Languages: The pumping lemma for CFL’s.
Module wise List of Activities/ Experiments/Practical/Tutorials
Equipment
Sr. No Module/Units Description required
Code
1. Design a Program for creating machine that accepts
three consecutive one.
2. Design a Program for creating machine that accepts the
string always ending with 101.
3. Design a Program for Mode 3 Machine
4. Design a program for accepting decimal number

Introduction of divisible by 2. S1
1
Automata Theory 5. Design a program for creating a machine which accepts S2
string having equal no. of 1’s and 0’s.

6. Design a Program to find 2’s complement of a given binary


number.

7. Design a Program which will increment the given binary


number by 1.

Types of Finite
2 8. Design a Program to convert NDFA to DFA.
Automata
S1
3 Grammars:
S2
9. Design a Program to create PDA machine that accept the well-

Pushdown formed parenthesis.


4
Automata: 10. Design a PDA to accept WCWR where w is any string and WR
is reverse of that string and C is a Special symbol.
11. Design a program for creating a machine which counts
number of 1’s and 0’s in a given string.
5 Turing Machines
12. Design a Turing machine that’s accepts the following S2
language a n b n c n where n>0.
Text Books/Reference Books

Text(T)
Sr. No Title of the Book Author Edition / volume
Reference (R)

1. ”Introduction to Automata theory, John E. Hopcroft, Jeffery Narosa Publishers T1


Langauges & computation” Ullman

2 Theory of Computer Science K.L.P Mishra & PHI Learning T1


N.Chandrasekaran
3 Element of the Theory Computation Lewis &Christors, Pearson R1
4 Introduction to Computing Theory Daniel I-A Cohen Wiley India R2

List of Unique Equipment required

Equipment
Sr. No Module/Units Description of Equipment
Code
Introduction of Automata C/C++ S1
1
Theory JFLAP Simulator S2
C/C++ S1
2 Types of Finite Automata
JFLAP Simulator S2
3 Grammars:
C/C++ S1
4 Pushdown Automata:
JFLAP Simulator S2
5 Turing Machines JFLAP Simulator S2
Assessment Matrix

Application/Field Trip)
Research assignments
Learning Outcome ID

Practical Experiment
Learning

Case Study analysis

Group Discussions

Other (Real World


Prototype making
Lab Experiment
Outcome

Presentation
Writen Test

Role Play
Seminar
Sr. No

Tutorial

Project
Module/Unit

LO1
√ √
L02
√ √
L03
Introduction of √ √
1 Automata Theory L04
√ √ √

LO5
√ √ √ √
L06
Types of Finite √
2 Automata L07
√ √ √
L08
√ √
L09
√ √
Grammar L10
3 √
L11
√ √ √
L12
√ √
L13
√ √
L14
Push Down
Automata
√ √
4 L15

L16
√ √
L17
√ √
L18
Turing Machine
√ √
5 L19
√ √
L20
√ √ √
Evaluation System

Assessment Requirements as per


Course Matrix (Select which is Percentage weight
applicable)
Mid Term Examination 12.5
Quiz 12.5
Term/Lab Work 12.5
Lab Assignment 12.5
University Exam(theory) 15
University Exam(Practical) 15
Comprehensive Viva 20
Total 100%

Atainment Criteria:
65% students score 60% or more marks upon final evaluation.

CO & PO Mapping

CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3 1

CO2 2 3 1

CO3 2 3 3 1

CO4 3 2 1

CO5 3 2 2

CO6 2 3 3

Average 1.5 2.1 1.6 1.1 0.18

Note: Now map your Cos with POs and fill the given matrix: Fill 1,2 or 3 in the cell depending on 1:poor, 2: medium
and 3:strong fulfillment of CO for particular PO
Program Outcomes
Engineering Knowledge: Apply knowledge of mathematics and science, with fundamentals of Computer
PO1
Science & Engineering to be able to solve complex engineering problems related to CSE.

Problem Analysis: Identify, Formulate, review research literature and analyze complex engineering problems
PO2 related to CSE and reaching substantiated conclusions using first principles of mathematics, natural sciences
and engineering sciences

Design/Development of solutions: Design solutions for complex engineering problems related to CSE and
PO3 design system components or processes that meet the specified needs with appropriate consideration for the
public health and safety and the cultural societal and environmental considerations

Conduct Investigations of Complex problems: Use research–based knowledge and research methods
PO4 including design of experiments, analysis and interpretation of data, and synthesis of the information to
provide valid conclusions.

Modern Tool Usage: Create, Select and apply appropriate techniques, resources and modern engineering and
PO5 IT tools including prediction and modeling to computer science related complex engineering activities with an
understanding of the limitations

The Engineer and Society: Apply Reasoning informed by the contextual knowledge to assess societal,
PO6 health, safety, legal and cultural issues and the consequent responsibilities relevant to the CSE professional
engineering practice

Environment and Sustainability: Understand the impact of the CSE professional engineering solutions in
PO7
societal and environmental contexts and demonstrate the knowledge of, and need for sustainable development

Ethics: Apply Ethical Principles and commit to professional ethics and responsibilities and norms of the
PO8
engineering practice

Individual and Team Work: Function effectively as an individual and as a member or leader in diverse
PO9
teams and in multidisciplinary Settings

Communication: Communicate effectively on complex engineering activities with the engineering


PO10 community and with society at large such as able to comprehend and with write effective reports and design
documentation, make effective presentations and give and receive clear instructions.

Project Management and Finance: Demonstrate knowledge and understanding of the engineering
PO11 management principles and apply these to one’s own work, as a member and leader in a team, to manage
projects and in multi disciplinary environments

Life-Long Learning: Recognize the need for and have the preparation and ability to engage in independent
PO12
and life-long learning the broadest context of technological change
Assignments
Assignment-1

(1) Prove by Induction:

1+2+3+4+…………….+n= n(n+1)/2, for n>=0.

(2) Make a FSM for calendar. (Transitions for leap year are also required).

(3) Give English description of the language of the following regular expression

(i) (0+1)*1(0+1)*0 (ii) b*(abbb*)+ (iii) 1(0+1)*1

(4) Convert following Moore machine to Mealy machine


Assignment-2

1. Convert the following FSM in to DFA

0 1
q q qq3

0 1 3

1 1
qq3
1 q
4
2

2. Minimize the finite state machine by the following state table.

State input output


0 1
A D B 1
B E B 0
C D A 1
D C D 0
E B A 1

3. Convert following Mealy machine to Moore machine


Assignment-3

(1) - Convert the following CFG into CNF, and do the LMD for “aaabaaabab”. Also draw the parse tree.

A aAb

A bAa

A bA

A aA

A €

(2) Write CFG generating integers divisible by four?

(3) Prove that the following set is not regular using Pumping Lemma

{anbncmdmІn,m>=0}

(4) What do you understand by ambiguity? Give example and prove that the grammar is ambiguous.
Assignment-4

(1) Design PDA for the following language :


L= {an b2n: n>0}

(2) Design a PDA to accept the following language:


{anbn : n>=1}

(3) Design PDA for the following language (with n,m,k>=0)


L={anbmck : n=m or m<=k}
Assignment-5

(1) Design a Turing Machine for the following language (with n,m,k>=0)

L={anbmck : n=m or m<=k}

(2) Design a Multi Tape Turing Machine for multiplication of two variables.

(3) Discuss properties of Recursive Set with its proof.

You might also like