You are on page 1of 24

Theory of Computer

Science
TE C O MP U TE R
LE CT U RE 1
Content

• Syllabus

• Assessment

• Textbook and References


Theory of computer science

• Course Code:                   CSC 501

• Number of Credits:           4

• Prerequisite:                     Discrete Structures


Course objectives

1. Acquire conceptual understanding of fundamentals of


grammars and languages. 

2. Build concepts of theoretical design of deterministic and non-


deterministic finite automata and push down automata. 

3. Develop understanding of different types of Turing machines


and applications. 

4. Understand the concept of Undecidability. 


Course Outcomes

1. Understand concepts of Theoretical Computer Science, difference and


equivalence of DFA and NFA , languages described by finite automata and
regular expressions

2. Design Context free grammar, pushdown automata to recognize the


language. 

3. Develop an understanding of computation through Turing Machine.

4. Acquire fundamental understanding of decidability and undecidability


• Module 1.1

Basic concepts  Importance of TCS

and  Alphabets, Strings, Languages, Closure properties. 

finite automata  Finite Automata (FA) and Finite State machine (FSM). 
Module 1
• Module 1.2

 Deterministic Finite Automata (DFA) and


Nondeterministic Finite Automata (NFA): Definitions,
transition diagrams and Language recognizers 

Basic concepts ü Equivalence between NFA with and without

and ε- transitions 

finite automata  NFA to DFA Conversion 


Module 1
 Minimization of DFA 

 FSM with output: Moore and Mealy machines 

 Applications and limitations of FA 


• Module 2.1

 Regular Expression (RE) 

 Equivalence of RE and FA, Arden‘s Theorem 

 RE Applications 
Regular
Expression and • Module 2.2
languages  Regular Language (RL) 
Module 2
 Closure properties of RLs 

 Decision properties of RLs 

 Pumping lemma for RLs 


• Module 3.1

 Grammar and Chomsky Hierarchy

• Module 3.2

 Regular Grammar
Grammars
Module 3  Equivalence of Left and Right linear grammar, 

 Equivalence of RG and FA.


• Module 3.3 (Context Free Grammar)

 Definition, Sentential forms, Leftmost and Rightmost


derivations, Parse tree, Ambiguity. 

 Simplification and Applications. 

Grammars  Normal Forms: Chomsky Normal Forms (CNF)

Module 3 and Greibach Normal Forms (GNF). 

 CFLs - Pumping lemma, Closure properties 


• Definition, Language of PDA 

• PDA as generator, decider and acceptor of CFG. 


Push Down
• Deterministic PDA , Non-Deterministic PDA 
Automata
Module 4 • Application of PDA. 
• Definition 

• Design of TM as generator, decider and acceptor. 

• Variants of TM: Multitrack, Multitape 

• Universal TM. 
Turing Machine
Module 5 • Equivalence of Single and Multi Tape TMs. 

• Applications, Power and Limitations of TMs.


• Decidability and Undecidability

• Recursive and Recursively Enumerable


Languages. 

• Halting Problem
Undecidability
Module 6 • Rice‘s Theorem

• Post Correspondence Problem


Textbooks
1. John E. Hopcroft, Rajeev Motwani, Jeffery D. Ullman, ―
Introduction to Automata Theory, Languages and Computation,
Pearson Education. 

2. Michael Sipser, ― Theory of Computation, Cengage learning. 

3. Vivek Kulkarni, ― Theory of Computation, Oxford University Press,


India. 
References
1. J. C. Martin, ― Introduction to Languages and the Theory of
Computation, Tata McGraw Hill. 

2. Kavi Mahesh, ― Theory of Computation: A Problem Solving


Approach, Wiley-India. 
Assessment
• Internal Assessment (20 Marks)

 Two Class Tests of 20 Marks Each

 Average score will be calculated

• Term work (25 Marks)

 At least 6 Assignments (One Assignment per module)

 Best of 5 Assignments – 20 Marks

 Attendance – 5 Marks

• End Semester Examination (80 Marks)

v Question No 1 is Compulsory – Entire Syllabus – 20 Marks

v From Question 2 to 6 attempt any THREE Questions – Each Question of 20 Marks


Useful links

1. www.jflap.org 

2. https://nptel.ac.in/courses/106/104/106104028/ 

3. https://nptel.ac.in/courses/106/104/106104148
Introduction

• The Theory of Computation includes


What Can be
Automata Theory done by
Computers in
Formal Languages and Grammar Practice

Computability

Complexity What can be done in practice


Introduction

• The Theory of Computation includes


What Can be
Automata Theory done by
Computers in
Formal Languages and Grammar Practice

Computability

Complexity What can be done in practice

• Above topics are theoretical foundation of Computer Science


Why To Study Theory ???

1. Provides CONCEPTS and PRINCIPLES 


To understand general nature of discipline

Common Underlying Principles for wide variety of Application

2. Ideas have some immediate and important application


E.g. Digital Design, Programming Languages, Compilers

3. Provides many challenges, Puzzle like problems


INPUT What is Automaton

• Abstract model of Digital Computer 


Temporary Automaton
Storage
• It can make DECISION in transition from
input to output

OUTPUT
Formal Language
• Abstraction of general characteristics of programming languages

• Set of all sentences permitted by rules of formation known as Formal


Language
 Set of Symbols – Alphabets

 Grouping of symbols with specified rules – Single Sentence

 Rules are known as Grammar


QUESTIONS...    ???
Thank You....

You might also like