Theory of Computation

COSC 39, Winter 2021

Main | Schedule | Homeworks | About


About the course

Computers, capable of performing universal computations and simulating other computers, is one of the greatest achievements of human civilization. One of the key components is the ability to abstract and formalize computation itself as a concrete mathematical object, called the Turing machine. Surprisingly, such definition is sufficiently robust that any attempts to formalize computation end up arriving at definitions provably equivalent to Turing machines, which encapsulate all the physical computing devices known to human beings.

While the whole discipline has been growing explosively for the past several decades, many important questions regarding the fundamental principle of computation remain unanswered; this includes the P versus NP, one of the Millennium Prize Problems that resists all attempts to be solved despite serious attempts from the most brilliant minds.

In this course we will study computation through the abstract lenses of Turing machines (including their variations), the benefit of knowing computations from a theoretical perspective, and how they relate to the rest of computer science.

Course objectives

At the end of the course, the students are expected to be able to:

Conceptually:

Skill-wise:

Prerequisite

A proof-based course like COSC 30: Discrete Mathematics or equivalent is required as prerequisite. Alternatively, students with reasonable mathematical background and maturity, in particular the ability to follow arguments of a proof, are welcome to take the course with instructor’s permission. We will hand out homework 0 in the first week to give the students an idea of the background knowledge and skills expected.

Related courses

Textbook and references

There is no required textbook. We will use the following book and lecture notes as our main reference:

We will also use a mix of books and class notes listed below as references. Additional relevant reading materials will be linked on the course webpage each week.

Final grades

The final grading will be based on the following factors (the tentative percentages are included): Because we have a small-size class, I would prefer to talk to each of you and set up concrete goals after reviewing your submission to Homework 0. At the middle of the term we will review the goals together and revise them if necessary. At the end of the term the grades will be assigned based on the predetermined goals.

Related Courses

Here is an (vastly incomplete) list of similar/related courses offered by other instructors.


last modified on