You are on page 1of 1

Course Title:

Adv. Theory of Computation (Credit Hours: 3)


Course Instructor: Dr. Saeed Ul Hassan
Semester: Fall 2016
Course Description:
This course covers four broad areas: Automata Theory, Language Theory, Computability Theory,
and Complexity Theory. Automata Theory and Language Theory are ideas that have stood the
test of time. They are essential tools for compilers. But more importantly, they are used in many
systems that require input that is less general than a full programming language yet more
complex than "push this button". Computability Theory deals primarily with the question of the
extent to which a problem is solvable on a computer. Complexity Theory considers not only
whether a problem can be solved at all on a computer, but also how efficiently the problem can
be solved. Class participation is important, as the class will include discussion and debate about
many of these topics.
Topics
(1) Automata Theory
(2) Formal Languages
(3) Turing Machines
(4) Computability Theory and Reducibility
(5) Computational Complexity
(6) Determinism, Non-Determinism
(7) Time Hierarchy & Space Hierarchy
(8) Theory of Intractability
(9) Selected advance topics as time permits
Text Books/Reference Books:
(1) John Hopcroft, Rajeev Motwani, and Jeffrey Ullman, Introduction to Automata Theory,
Languages, and Computation, 3rd edition, 2007, Addison-Wesley.
(2) Michael Sipser, Introduction to the Theory of Computation, 2nd edition, 2005, Cengage
Learning.
(3) Cormen, et al., Introduction to Algorithms, 1990, MIT Press and McGraw-Hill Book Co.
(4) Peter Linz, An Introduction to Formal Languages and Automata, 2001, Jones and Bartlett
Publisher, Inc.
Lectures: 32 sessions, 2 sessions / week, 1.5 hours / session
Office Hours: Tuesday and Wednesday
Problem Sets & Class Quizzes: There will be six problem sets and four class quizzes. The
problem sets will generally be due a week and a half after being assigned.
Grading:
Problem Sets
15%
Class Quizzes
15%
Midterm
30%
Final
40%

You might also like