Type a branch, a subject or a topic — “round robin”, “paging”, “civil”.

Theory of Computation

Automata are the one part of theory that is genuinely visual. These topics feed a string to a machine symbol by symbol and show which states stay alive.

Start from the beginning →

13 topics you can watch now, 7 still to come.

Foundations

The vocabulary every later machine is defined in, and what a machine is actually being asked to do.

  • Proof techniques: induction and contradiction

Regular languages

The simplest machines there are — finite memory, one pass, no going back.

Context-free languages

Add a stack, and suddenly you can count matching brackets.

  • CNF and CYK parsing

Turing machines

Add an unbounded tape, and you have every computer ever built.

  • Variants and equivalence
  • The Church-Turing thesis

Decidability

The questions no machine can answer, and how we prove it.

  • Decidable vs recognisable
  • Reductions
  • P, NP and NP-completeness

About Theory of Computation

Theory of computation asks what can be computed at all, and answers it without reference to any real computer. That sounds abstract until you notice it is the only subject that gives you genuine impossibility results — problems no amount of engineering will ever solve.

It builds by adding memory. A finite automaton has none beyond its current state, and that limit is exactly why it cannot count arbitrarily. Give it a stack and it can match nested brackets. Give it an unbounded tape and you have a Turing machine, the strongest model anyone has found. Each step up buys a specific new capability, and knowing which is which tells you what kind of tool a problem needs.

The payoff is practical more often than students expect. Regular expressions are finite automata. Parsers are pushdown automata. Knowing that a language is not regular tells you immediately that no regex will ever match it correctly, which saves a great deal of time.

What to know first

  • Comfort with sets, and with the idea of a formal rule
  • A willingness to treat a machine as a mathematical object rather than hardware

Where it gets used

  • Recognising when a regex is the wrong tool and a parser is required
  • Reasoning about what a validation rule can and cannot enforce
  • Understanding why some compiler and static-analysis limits are permanent
Dashed entries are mapped but not animated yet. The running order is not fixed until a topic is built. Browse the other subjects.