Administrivia (01/11/2022) Mathematical Notation, Sets, and Proof Techniques (01/11/2022) Formal Languages, Decision Problems, and Computation (01/13/2022) Deterministic Finite Automata (01/18/2022 - 01/20/2022) DFA Closure Properties (01/25/2022 - 01/27/2022) Nondeterministic Finite Automata (02/01/2022 - 02/03/2022) Regular Expressions (02/08/2022 - 02/10/2022) Nonregular Languages (02/15/2022 - 02/17/2022) Turing Machines (02/22/2022) Turing Machine Variants (02/24/2022) Turing Machine Closure Properties (03/01/2022) Turing Decidable Languages (03/03/2022) Countability and Diagonalization (03/15/2022) The Halting Problem (03/17/2022) Turing Reducibility (03/22/2022) Undecidable Languages (03/24/2022) Mapping Reducibility (03/29/2022) Time Complexity (03/31/2022) Complexity Classes, P, and EXP The Class NP Polytime Reductions, NP-Completeness The Recursion Theorem