Theory of Computation
Undergraduate Course, CuCEng, 2025
Course Objectives
In this course, the main goal is to define the language classes in terms of grammars and automata.
Course Materials
- Anil Maheshwari and Michiel Smid, Introduction to Theory of Computation, Carleton University, 2012.
- Michael Sipser, Introduction to the Theory of Computation, 2nd Edition, Thomson Course Technology, Boston, 2006.
- John C. Martin, Introduction to Languages and the Theory of Computation, 4th Edition, McGraw-Hill, 2011.
Assessment
40% Midterm (exam,tasks,etc.) + 60% Final (exam,tasks,etc.)
Prerequisites
There is no formal prerequisite; however, taking the Discrete Mathematics course beforehand is recommended.
Weekly Schedule
| Week | Subjects | Lesson |
|---|---|---|
| 1 | Discrete Mathematical Structures review | Lesson 1 |
| 2 | Deterministic (DFA) and Non-Deterministic (NFA) Finite Automata | Lesson 2 |
| 3 | NFA to DFA, Regular Expressions (RegEx) | Lesson 3 |
| 4 | DFA to RegEx, Pumping Lemma for Regular Languages | Lesson 4 |
| 5 | Context-Free Grammars, Chomsky Normal Form (CNF) | Lesson 5 |
| 6 | Push-Down Automata (PDA), CNF to PDA | Lesson 6 |
| 7 | Pumping Lemma for Context-Free Languages | Lesson 7 |
| 8 | Midterm exam | |
| 9 | Turing Machines, Church-Turing Thesis | Lesson 8 |
| 10 | Non-Deterministic Turing Machines | Lesson 9 |
| 11 | Decidable and Undecidable Languages | Lesson 10 |
| 12 | Enumerability and Enumerable Languages | Lesson 11 |
| 13 | Introduction to Complexity Theory, P & NP classes | Lesson 12 |
| 14 | Non-Deterministic algorithms, NP-Complete Languages | |
| 15 | Review for Final Exam |
Resources
Below you can find past exam papers.
tc2013f-e.pdf | tc2013m-e.pdf | tc2014f-e.pdf | tc2014m-e.pdf | tc2015f-e.pdf | tc2015p1-e.pdf | tc2015q1a-e.pdf | tc2015q1b-e.pdf | tc2015q2-e.pdf | tc2015q3a-e.pdf | tc2015q3b-e.pdf | tc2016f-e.pdf | tc2016q1a-e.pdf | tc2016q1b-e.pdf | tc2016q2-e.pdf | tc2016q3a-e.pdf | tc2016q3b-e.pdf | tc2017f-e.pdf | tc2017m-e.pdf | tc2018f-e.pdf | tc2018m-e.pdf | tc2019f-e.pdf | tc2019m-e.pdf
