Computation Theory

18 videos

An undergraduate course in the Theory of Computation, taken from first principles to the limits of what a machine can decide. We start with the tools: propositional and predicate logic, set theory and functions, and enough graph theory to work with machines as diagrams. Then the hierarchy, in order — finite automata, nondeterministic finite automata, and regular expressions, with the pumping lemma to prove a language is not regular; right linear grammars, context-free grammars, and pushdown automata, with a second pumping lemma for the languages that are not context-free. The last third is Turing machines and their variants, the Church-Turing thesis and what it means to define "algorithm" at all, decidable and undecidable languages, and reducibility — ending with proofs that particular problems cannot be solved by any machine whatsoever. No prior computer science is assumed. The logic and set theory you need are built in the opening lectures.

Resources

  1. 1
    Lecture 1 (Computation Theory) Propositional and Predicate Logic

    Lecture 1 (Computation Theory) Propositional and Predicate Logic

    2:17:05

  2. 2
    Lecture 2 (Computation Theory) Set Theory and Functions

    Lecture 2 (Computation Theory) Set Theory and Functions

    1:56:34

  3. 3
    Lecture 3 (Computation Theory) Graph Theory and Finite Automata

    Lecture 3 (Computation Theory) Graph Theory and Finite Automata

    2:02:13

  4. 4
    Lecture 4 (Computation Theory) Finite Automata

    Lecture 4 (Computation Theory) Finite Automata

    2:10:07

  5. 5
    Lecture 5 (Computation Theory) Nondeterministic Finite Automata

    Lecture 5 (Computation Theory) Nondeterministic Finite Automata

    2:10:20

  6. 6
    Lecture 6 (Computation Theory) Nondeterministic Finite Automata and Regular Expressions

    Lecture 6 (Computation Theory) Nondeterministic Finite Automata and Regular Expressions

    1:48:08

  7. 7
    Lecture 7 (Computation Theory) Regular Expressions and the Pumping Lemma

    Lecture 7 (Computation Theory) Regular Expressions and the Pumping Lemma

    2:02:30

  8. 8
    Lecture 8 (Computation Theory) Pumping Lemma, Right Linear Grammars, and Context-Free Grammars

    Lecture 8 (Computation Theory) Pumping Lemma, Right Linear Grammars, and Context-Free Grammars

    1:50:09

  9. 9
    Lecture 9 (Computation Theory) Context-Free Grammars and Pushdown Automata

    Lecture 9 (Computation Theory) Context-Free Grammars and Pushdown Automata

    2:01:16

  10. 10
    Lecture 10 (Computation Theory) Pushdown Automata, Non-Context-Free Languages, and Pumping Lemma 2.0

    Lecture 10 (Computation Theory) Pushdown Automata, Non-Context-Free Languages, and Pumping Lemma 2.0

    1:43:22

  11. 11
    Lecture 11 (Computation Theory) Pumping Lemma, Non-Context-Free Languages, and Review

    Lecture 11 (Computation Theory) Pumping Lemma, Non-Context-Free Languages, and Review

    1:31:41

  12. 12
    Lecture 12 (Computation Theory) Turing Machines

    Lecture 12 (Computation Theory) Turing Machines

    1:15:14

  13. 13
    Lecture 13 (Computation Theory) Turing Machine Variants

    Lecture 13 (Computation Theory) Turing Machine Variants

    1:40:34

  14. 14
    Lecture 14 (Computation Theory) Church-Turing Thesis and the Definition of an Algorithm

    Lecture 14 (Computation Theory) Church-Turing Thesis and the Definition of an Algorithm

    1:03:54

  15. 15
    Lecture 15 (Computation Theory) Decidable and Undecidable Languages

    Lecture 15 (Computation Theory) Decidable and Undecidable Languages

    1:51:13

  16. 16
    Lecture 16 (Computation Theory) Decidability and Undecidability

    Lecture 16 (Computation Theory) Decidability and Undecidability

    1:47:44

  17. 17
    Lecture 17 (Computation Theory) Reducibility and Undecidable Problems

    Lecture 17 (Computation Theory) Reducibility and Undecidable Problems

    1:58:47

  18. 18
    Lecture 18 (Computation Theory) Undecidable Problems and Mapping Reducibility

    Lecture 18 (Computation Theory) Undecidable Problems and Mapping Reducibility

    1:27:41

Builds on