BACHELOR WITH APPLIED COMPUTING AS MINOR
5th SEMESTER
(FOR STUDENTS WITH MAJOR IN COMPUTER APPLICATIONS / INFORMATION TECHNOLOGY)
ACP522N: APPLIED COMPUTING _ THEORY OF COMPUTATION
CREDITS: THEORY (3) PRACTICAL (1)
MAX. MARKS: 100 MIN. MARKS: 36
COURSE LEARNING OUTCOMES:
Upon completion of this course, students will be able to:
1. Understand the basic concepts of complexity theory, computability theory, and automata theory.
2. Apply different types of proof techniques, such as proof by construction, proof by contradiction, and proof by
induction.
3. Design and analyze finite automata and regular expressions to recognize and generate regular languages.
4. Design and analyze pushdown automata and context-free grammars to recognize and generate context-free
languages.
5. Understand the Church-Turing thesis and its implications for computability.
6. Define and analyze polynomial-time and NP problems.
7. Understand the P vs NP problem and its implications for complexity theory.
THEORY (3 CREDITS)
UNIT 1:
Introduction to Automata Theory: Automata and Languages. Regular Languages: Finite Automata (formal definition of
computation, designing finite automata, the regular operations).
Deterministic and non-deterministic automata, formal definition of NFA, equivalence of NFAs and DFAs. Closure
under the regular operations.
Regular Expressions: Formal definition, equivalence with finite automata.
UNIT 2:
Introduction to Grammar and its hierarchy. Context Free Languages: Formal definition, examples, designing of CFGs,
Ambiguity. Pushdown Automata: Formal definition, equivalence with CFGs.
Non-Context Free Languages. Deterministic Context-Free Languages: properties, Deterministic context-free grammars,
relationship of DPDAs and DCFGs.
Recursive and Recursively enumerable languages.
UNIT 3:
Computability Theory. The Church-Turing Thesis: Turing Machines (formal definition, examples). Introduction to
Decidability, Reducibility, Recursion Theorem. Introduction to Undecidability: Halting problem.
Complexity Theory. Time Complexity: Asymptotic notations, Class P (polynomial time, examples), The class NP, P vs
NP, NP-completeness. Introduction to Space complexity.
TUTORIAL (1 CREDIT):
Examples and problems based on Unit 1st to 3rd as specified by the course teacher.
TEXT BOOK:
1. Introduction to the Theory of Computation, Third Edition Michael Sipser, Cengage Learning, ISBN-13: 978-
1-133-18779-0
REFERENCE BOOK
1. Padma Reddy
2. Introduction to Automata Theory, Languages, and Computation by Jeffrey D. Hopcroft, John E. Hopcroft, and
Jeffrey D. Ullman (3rd edition, 2006)
3. Formal Languages and Automata Theory by Peter Linz (3rd edition, 2011)