| Home
 
Theory of Computation

Course Objectives
In this course, the main goal is to define the language classes in terms of grammars and automata.
Course materials
  1. Introduction to Theory of Computation, Anil Maheshwari and Michiel Smid, Carleton University, 2012.
  2. Introduction to the Theory of Computation, 2nd Edition, Michael Sipser, Thomson Course Technnology, Boston, 2006.
  3. Introduction to Languages and the Theory of Computation, 4th Edition. John C. Martin, 2011, Mc Graw Hill.
Assessment
40% Midterm (exam,tasks,etc.) + 60% Final (exam,tasks,etc.)
Prerequisites
there is no formal prerequisite, to get discrete mathematics course before is recommended.
 
Week Subjects
1. Discrete Mathematical Structures review
2. Deterministic (DFA) and Non-Deterministic (NFA) Finite Automata
3. NFA to DFA, Regular Expressions (RegEx)
4. DFA to RegEx, Pumping Lemma for Regular Languages
5. Context-Free Grammars, Chomsky Normal Form (CNF)
6. Push-Down Automata (PDA), CNF to PDA
7. Pumping Lemma for Context-Free Languages
8. Midterm exam
9. Turing Machines, Church-Turing Thesis
10. Non-Deterministic Turing Machines
11. Decidable and Undecidable Languages
12. Enumerability and Enumarable Languages
13. Introduction to Complexity Theory, P & NP classes
14. Non-Deterministic algorithms, NP-Complete Languages
15. Review for final exam
  Final Exam

Resources
JFLAP Tasks
2019 midterm - final
2018 midterm - final
2017 midterm - final
2016 q1a - q1b - q2 - q3a - q3b - final
2015 q1a - q1b - p1 - q2 - q3a - q3b - final
2014 midterm - final
2013 midterm - final

 
Copyright © 2012 All rights reserved. Design: Umut ORHAN