No prior experience with space or complexity is needed, aside from some familiarity with Turing machines and mathematical maturity.
| LECTURE 1 | basics of space complexity | [1] | Turing machines, configuration graphs, time and space, reversibility |
| LECTURE 2 | time versus space | [2-3] | TIME[$t$] $\subseteq$ SPACE[$t/\log t$], pebbling, reduction to Tree Evaluation |
| LECTURE 3-4 | non-deterministic and randomization | [4-7] | NSPACE[$s$] $\subseteq$ coNSPACE[$s$], BPSACE[$s$] $\subseteq$ SPACE[$s^2$] |
| LECTURE 5 | time-space tradeoffs | [8-9] | multiplication requires $TS \geq n^2$ |
| LECTURE 6 | catalytic computing | [10] | catalytic Turing machines, CL, CL $\subseteq$ ZPP |
| LECTURE 7-8 | technique I: arithmetic reversibility | [10-13] | Barrington's Theorem, CL $\subseteq$ TC$^1$, Tree Evaluation bounds |
| LECTURE 9-10 | technique II: compress-or-random | [14-16] | Match $\in$ CL, CLP $=$ CL $\cap$ P, NCL/BPCL $=$ CL |
| LECTURE 11 | catalytic algorithms | [17] | CL algorithms for connectivity, random walks |
Note: there may or may not be notes produced for this course later. In any event, I highly recommend recent lecture notes by Sepehr Assadi and Ramprasad Saptharishi, which should cover most topics in the course in depth.
[1] Lange, McKenzie, & Tapp. Reversible Space Equals Determinstic Space. JCSS, 2000.
[2] Hopcroft, Paul, & Valiant. On Time Versus Space. JACM, 1977.
[3] Williams. Simulating Time With Square-Root Space. STOC, 2025.
[4] Savitch. Relationships Between Nondeterministic and Deterministic Tape Complexities. JCSS, 1970.
[5] Immerman. Nondeterministic space is closed under complementation. SICOMP, 1988.
[6] Szelepscenyi. The method of forced enumeration for nondeterministic automata. Acta Informatica, 1988.
[7] Nisan. Pseudorandom generators for space-bounded computation. Combinatorica, 1992.
[8] Borodin & Cook. A Time-Space Tradeoff for Sorting on a General Sequential Model of Computation. SICOMP, 1982.
[9] Abrahamson. Time-Space Tradeoffs For Branching Programs Contrasted With Those For Straight-Line Programs. FOCS, 1986.
[10] Buhrman et al. Computing With a Full Memory: Catalytic Computing. STOC, 2014.
[11] Barrington. Bounded-Width Polynomial-Size Branching Programs Recognize Exactly Those Languages in NC1. JCSS, 1989.
[12] Ben-Or & Cleve. Computing Algebraic Formulas Using a Constant Number of Registers. SICOMP, 1992.
[13] Cook & Mertz. Tree Evaluation is In Space O(log n · log log n). SICOMP, 2025.
[14] Agarwala & Mertz. Bipartite Matching is in Catalytic Logspace. FOCS, 2025.
[15] Cook et al. The Structure of Catalytic Space: Capturing Randomness and Time via Compression. STOC, 2025.
[16] Koucký et al. Collapsing Catalytic Classes. FOCS, 2025.
[17] Cook & Pyne. Efficient Catalytic Graph Algorithms. ITCS, 2026.
- Assadi. Space Bounded Computation. Lecture notes, 2026.
- Saptharishi. Computational Complexity. Lecture notes, 2026.
- Koucký. Catalytic Computation. BEATCS, 2016.
- Mertz. Reusing Space: Techniques and Open Problems. BEATCS, 2023.
- Reingold. Undirected ST-Connectivity in Log-Space. JACM, 2008.
- Saks & Zhou. BPSACE(S) \subseteq DSPACE(S^3/2). JCSS, 1999.
- Raz. Fast Learning Requires Good Memory: A Time-Space Lower Bound for Parity Learning. JACM, 2019.
- Beame. A General Sequential Time-Space Tradeoff for Finding Unique Elements. SICOMP, 1991.
- Barnes et al. A Sublinear Space, Polynomial Time Algorithm for Directed s-t Connectivity. SICOMP, 1998.