Topics covered include: finite automata and regular languages, context-free
languages ... An Introduction to Formal Languages and Automata by Peter Linz.
Automata Theory CSCS 212 Fall 2013 Instructor Information Name Email Room #: Website:
Numan Sheikh
[email protected] Room #2, EE Faculty Rooms http://numangift.wordpress.com
Course Information Class Days & Timings & Location
Monday: Tuesday:
10:40-11:55 & 12:00-13:15 (Room F-9) 09:20-10:35 (Room F-9)
Course Description1 This course is offered to undergraduates and introduces basic mathematical models of computation and the finite representation of infinite objects. Topics covered include: finite automata and regular languages, context-free languages, Turing machines, Church's Thesis, undecidability, time complexity and NP-completeness.
Objectives On completion of this course, students will be able to explain the basic methods and conclusions of the Theory of Computation. They will be able to apply these methods to problems from different fields and be guided by the results in searching for computational solutions to the problems. In particular, students will be able to: 1. Explain the theoretical limits on computational solutions of undecidable and inherently complex problems. 2. Describe concrete examples of computationally undecidable or inherently infeasible problems from different fields. 3. Devise and analyze the complexity of procedures to determine properties of computationally bounded automata. 4. Understand formal definitions of machine models. 5. Prove the undecidability or complexity of a variety of problems.
Learning Outcomes Students will be able to: 1. Synthesize finite automata with specific properties. 2. Convert among multiple representations of finite automata. 3. Use pigeon-holing arguments and closure properties to prove particular problems cannot be solved by finite automata. 4. Calculate asymptotic estimates of the computational complexity of simple procedures from automata, language and graph theory. 1
Course Description, Objectives and Learning outcomes are taken from OCW course offering
5. 6. 7. 8. 9. 10.
Prove undecidability using diagonalization and reducibility methods. Use the relationship between recognizability and decidability to determine decidability properties of problems. Describe concrete examples of undecidable problems from different fields. Define, and explain the significance of, the "P = NP?" question and NP-completeness. Describe concrete examples of NP-complete problems from different fields. Define deterministic and nondeterministic computation time and space, and explain the relationships among them.
Required Text(s)
An Introduction to Formal Languages and Automata by Peter Linz
Supplementary Text Introduction to Automata Theory, Languages, and Computation by Hopcroft, Motwani & Ullman Introducing the Theory of Computation by Wayne Goddard.
Grading There will be two in-class quizzes, a Midterm Exam and a Final exam. Grades for the course will be based on the following weighting: Assignments and Quizzes 35% Midterm 1 15% Midterm 2 20% Final Exam 30%
Course Content 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Finite Automata Regular Languages and Regular Expressions Non-Determinism Properties of Regular Languages Applications of Finite Automata Context-Free Grammars Pushdown Automata Grammars and Equivalences Turing Machines Variations of Turing Machines Decidable Problems and Recursive Languages Diagonalization and the Halting Problem