Computer Science 413: Introduction to Computational Complexity Theory

Introduction to Computational Complexity Theory

Reading Exercise #6: Review of Turing Machines

Lecture #19: Introduction to Computational Complexity Theory

Tutorial Exercise #19: Deterministic Turing Machines and the Complexity Class P

Lecture #20: Nondeterministic Computation and the Complexity Class NP

Tutorial Exercise #20: Proving Membership of a Language in NP

Lecture #21: Reductions and Reducibilities

Tutorial Exercise #21: Establishing Polynomial-Time Many-One Reductions

Reading Exercise #7: Oracle Turing Machines and Oracle Reducibility

Lecture #22: The Cook-Levin Theorem

Tutorial Exercise #22: NP-Completeness

Lecture #23: The NP-Completeness of Other Formula Problems

Tutorial Exercise #23: More About NP-Completeness

Lecture #24: The NP-Completeness of Graph Problems

Lecture #25: More About NP-Completeness

Assignment #5: NP-Completeness


University of Calgary Extension of Logo
Department of Computer Science

cpsc 413 computer science faculty of science u of c

CPSC 413 introduction and math review analysis of algorithms divide and conquer dynamic programming greedy algorithms complexity theory assignments tests