CDS 303: Theory of Computation

Fall 2026


Objectives

This course introduces the fundamental concepts of the Theory of Computation, including formal languages, automata, computability, and computational complexity. Students will study different models of computation and understand their capabilities and limitations. The course also examines the relationships among various classes of languages and computational problems. Emphasis will be placed on developing analytical reasoning, mathematical rigour, and proof-writing skills.


Prerequisites

Students are expected to be comfortable with basic mathematical reasoning, elementary set theory, functions, relations, and standard proof techniques such as induction and proof by contradiction.


References


Lectures

Top