Home/Degree/CS3452
Back to Degree
CS3452Actively Used

Theory of Computation

This course is part of the B.E. Computer Science Engineering curriculum under Anna University Regulation 2021. The knowledge from this course continues to be actively applied in professional software development.

Semester 4 (Second Year)
3 Credits
45 Lecture Hours

Course Overview

  • UniversityAnna University
  • Regulation2021
  • Semester4
  • Credits3
  • TypeCore
  • Units5

Course Objectives

1

To understand finite automata and regular languages

2

To learn context-free grammars and pushdown automata

3

To understand Turing machines

4

To learn decidability concepts

5

To understand computational complexity

Syllabus

Detailed unit-wise breakdown of the course curriculum as per Anna University Regulation 2021.

1

FINITE AUTOMATA AND REGULAR LANGUAGES

9 Hours
Deterministic Finite Automata (DFA)Nondeterministic Finite Automata (NFA)Equivalence of DFA and NFARegular expressionsPumping lemma for regular languagesClosure propertiesMinimization of DFA
2

CONTEXT-FREE GRAMMARS

9 Hours
Context-free grammars (CFG)Parse trees and ambiguityChomsky Normal FormGreibach Normal FormPumping lemma for CFLsClosure properties of CFLs
3

PUSHDOWN AUTOMATA

9 Hours
Pushdown Automata (PDA)Acceptance by final stateAcceptance by empty stackEquivalence of CFG and PDADeterministic PDA
4

TURING MACHINES

9 Hours
Turing Machine definitionVariants of Turing MachinesMulti-tape Turing MachineNondeterministic Turing MachineChurch-Turing thesisUniversal Turing Machine
5

DECIDABILITY AND COMPLEXITY

9 Hours
Decidable languagesUndecidable problemsHalting problemReducibilityTime complexityP and NP classesNP-completeness

Course Outcomes

Upon completion of this course, students will be able to:

CO1

Design finite automata for regular languages

CO2

Construct context-free grammars

CO3

Design pushdown automata

CO4

Understand Turing machine capabilities

CO5

Analyze computational complexity

Industry Application & Relevance

How the concepts learned in this course are applied in real-world software development projects across Banking, Healthcare, and Enterprise domains over 20+ years of experience.

Professional Application

Compiler design, regex, language processing

Textbooks & References

Textbooks

  • John E. Hopcroft et al., 'Introduction to Automata Theory, Languages, and Computation', Pearson
  • Michael Sipser, 'Introduction to the Theory of Computation', Cengage

Reference Books

  • Peter Linz, 'An Introduction to Formal Languages and Automata', Jones & Bartlett
  • K.L.P. Mishra, N. Chandrasekaran, 'Theory of Computer Science', PHI