Theory of Computation

Instructor: Mohammad Izadi Certificate: Official (bilingual)
Term: Summer 2025 Prerequisite: Data Structures and Algorithms
Schedule: – Online Class: Online Class

Objective

The objective of this course is to familiarize MicroMaster Algorithm students with the theoretical foundations of problem computability and, for computable problems, the fundamentals of algorithm science and complexity analysis. Topics include various computational models, their computational capabilities, their computational properties, and their applications. Other topics include concepts of computability, decidability, and the Church-Turing thesis regarding algorithms. Special emphasis will be placed on the theory of algorithm complexity and the relationships between complexity classes.

Topics

Assessment

References

  1. M. Sipser. Introduction to the Theory of Computation. 3rd Edition, Cengage Learning, 2013.
  2. J. E. Hopcroft, R. Motwani, and J. D. Ullman. Introduction to automata theory, languages, and computation. 2nd Edition, Addison-Wesley, 2001.
  3. J. E. Hopcroft and J. D. Ullman. Introduction to automata theory, languages, and computation. Addison-Wesley, 1979.