Automata and Complexity Course Module
Automata and Complexity Course Module
Faculty of Technology
Department of Computer Science
Instructor’s information
Name: Dr. Bhoomeshwar Bala
Phone No. 0961375600
E-mail: [email protected] Office Block no. ______________ Office no. ______________
Office hour ______________
Course information
Course Title: Automata and Complexity Theory Course Code: CoSc3101
Credit Hours: 3 ECTS: 5
Contact Hours: Lecture: 3hrs Laboratory: 0hrs Tutorial: 2hrs
Prerequisite: None
Course category: Compulsory
Target groups: year III Semester: I Academic year: 2022-23 Batch of: _________
Course Description
This course aims to develop the theoretical foundations of computer science through study of
mathematical and abstract models of computers and the theory of formal languages. It also,
introduces some fundamental concepts in automata theory and formal languages including
grammar, finite automaton, regular expression, formal language, push down automaton, and
Turing machine. The importance of time and space complexities, various notations and theorems
of Complexity theory.
Course Objectives
By the end of this course, students will be able to:
▪ On completion of this course students should be able to:
▪ Introduce concepts in automata theory and theory of computation
▪ Study the central concepts of automata theory
▪ Acquire insights into the relationship among formal languages, formal grammars, and
automata.
▪ Identify different formal language classes and their relationships
▪ Design grammars and recognizer for different formal languages
79
▪ Explain Models of Computation, resources (time and space), algorithms, computability, and
complexity.
▪ Understand Complexity classes, P/NP/PSPACE, reductions, hardness, completeness,
hierarchy, relationships between complexity classes.
▪ Learn Randomized computation and complexity; Logical characterizations, incompleteness
and approximately.
Course Outline
Chapter 1: Introduction (4hr)
1.1. Introduction to formal language theory
1.2. Alphabets and strings 1.3. Languages and Grammars 1.4. Automata
1.4.1. Deterministic Finite automata 1.4.2. Non-deterministic finite automata
Chapter 2: Regular Expression and Regular languages (4hr)
2.1. Regular expressions
2.2. Connection between regular expression and regular languages 2.3. Regular grammar
2.4. Pumping lemma and non-regular language grammars
Chapter 3: Context free languages (6hr)
3.1. Context free languages 3.2.Parsing and ambiguity 3.3.Sentential forms
3.4. Derivation tree or parse tree
3.4.1.Left most and right most derivations
3.5.Simplification of context free grammar 3.5.1.Methods for transforming grammars
3.5.2.Chomsky’s hierarchy of grammars
Chapter 4. Push down automata (4hr)
4.1.Non-deterministic pushdown automata 4.2.Push down automata and context free languages
4.3.Deterministic push down automata 4.4.Deterministic context free languages
Chapter 5: Turing machines (4hr)
5.1. Standard TM
5.2. Construction of TM
5.3. Turing Decidable and Turing Acceptable 5.4. Undecidable problems
Chapter 6: Computability (4hr)
6.1. Recursive functions
6.2. Recursive languages and recursive Enumerable languages
Chapter 7: Computational complexity (6hr)
7.1. Big-O notations 7.2. Class P vs class NP
7.3. Polynomial time reduction and NP-complete problems 7.4. Cook’s Theorem
Teaching-Learning Methods
The learning–teaching methodology will be student-centered with appropriate guidance of
instructor/s during the students’ activities. There will be Lecture, Demonstrations, Lab work
Tutorials, Reading assignments, Group Discussions, Gap learning, interactive lecturing and
questions and answer.
Assessment Methods
Assessment Type Assessment Weight
Quizzes 10%
Tests 20%
Project/ Assignment 20%
Final Examination 50%
Total 100%
This policy
▪ It is mandatory to attend all classes such as lecture class, laboratory sessions, tutorials and
seminars. However, with distinct circumstance up to 80% will be entertained.
▪ It is mandatory to pass 50% of the lab exam, in order to be eligible for the final.
▪ Plagiarism will cause not only automatic course dismissal but also academic discipline based
on the rules and regulations of the university.
▪ If someone is caught while cheating during final examination, his/her grade will be ‘F’ grade
also academic discipline may be taken based on the rules and regulations of the university.
However, other assessments are evaluated as ‘0’.
▪ If someone misses any assessments with a valid justification, he/she has a right to sit for
makeup exam.
▪ Students are not allowed to enter to class rooms after 5 minutes the session.
Teaching materials Required Texts:
[1] Introduction to Automata Theory, Languages, and Computation by Hopcroft, Ullman and
Motwani
Reference books:
[1] An Introduction to Formal Languages and Automata, Third Edition, Peter Linz, 2001
[2] An Introduction to Formal Language Theory that Integrates Experimentation and Proof Allen
Stoughton, 2004.
[3] Complexity Theory: A Modern Approach Sanjeev Arora and Boaz Barak