What can be computed, and how hard is it? From finite automata and formal languages up through Turing machines, undecidability, and the great open question of P versus NP — the deep theory that draws the boundaries of the possible.
This subject course follows the topic vertically, across the years it spans. Some lessons are already written; the rest are shown as placeholders.