0% found this document useful (0 votes)
12 views3 pages

Automata Course Outline

computer science courses AUTOMATA COURSE OUTLINE

Uploaded by

natinaelbahiru74
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views3 pages

Automata Course Outline

computer science courses AUTOMATA COURSE OUTLINE

Uploaded by

natinaelbahiru74
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

ODA BULTUM UNIVERSITY

INSTITUTE OF TECHNOLOGY
DEPARTMENT OF COMPUTER SCIENCE
Course Title: Automata and Complexity Theory
Course Code: CoSc 3101
Credit Hrs: 3 ECTS: 5 Lecture Hrs. 2 Lab Hrs. 3 Tutorial Hrs. 2
Prerequisite: None
Course Category: Compulsory
Year II Semester III
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
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
➢ 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.1. Alphabets and strings
1.1.2. Languages and Grammars
1.1.3. Automata
1.1.3.1. Finite automata, Deterministic and Non-deterministic finite automata
Chapter 2: Regular Expression and Regular languages (4hr)
Page 1 of 3
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.2. Sentential forms
3.3. Derivation tree or parse tree
3.3.1. Left most and right most derivations
3.4. Simplification of context free grammar
3.4.1. Methods for transforming grammars
3.4.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 notaions
7.2. Class P vs class NP
7.3. Polynomial time reduction and NP-complete problems
7.4. Cook’s Theorem

Teaching - Learning methods


Two contact hours of lectures, three hours of lab and two hours of tutorials per week.
Students do home assignments.
Assessment method

Page 2 of 3
Quizzes 20%
Assignments 30%
Test 10%
Final Exam 40%
Total 100%
Teaching materials
Required Texts:
Introduction to Automata Theory, Languages, and Computation by Hopcroft, Ullman and Motwani
Reference books:
➢ An Introduction to Formal Languages and Automata, Third Edition, Peter Linz, 2001
➢ An Introduction to Formal Language Theory that Integrates Experimentation and Proof Allen
Stoughton, 2004.
➢ Complexity Theory: A Modern Approach Sanjeev Arora and Boaz Barak

Page 3 of 3

You might also like