Theory of Computation

COSC 39, Spring 2025

Main | Schedule | Homeworks | About


Course Schedule

All materials are subject to change based on the actual class interaction and student feedback.

Introduction

3/31
administrivia; what is the purpose of this course? knowledge, skill, philosophy

Languages and Machine Models

4/2
languages, problems, and encoding; regular expressions [scribbles]
4/3
constructing regular expressions [worksheet]
4/4
finite automata and automatic languages: machines with registers [scribbles]
4/7
DFA constructions [worksheet]

Nondeterminism

4/9
regular languages are automatic: nondeterministic finite automata [scribbles]
4/10
construting NFAs [worksheet]
4/11
power of nondeterminism: closure properties of NFAs [scribbles]
4/14
language transformations and closure properties

Beyond Regularity

4/16
Kleene theorem: where multiple models coincide
4/17
constructing regular expressions, reprise
4/18
limits of regularity: fooling sets and Myhill-Nerode theorem; examples of nonregular languages
4/21
fooling set constructions

Turing Machines and Decidability

4/23
Turing machine: it's just CPU with memory
4/24
Equivalence between different computing devices
4/25
Church-Turing thesis: CPU with memory is universal computation; universality implies incomputability (oh the irony)
4/28
Is my pseudocode safe?

Resources and Verification

4/30
Time complexity, verification and nondeterminism, P vs NP
5/1
Midterm 1; no working session today
5/2
NP-hardness and Cook-Levin theorem: no pursuit is useless; mapping and oracle reductions
5/5
Self-reductions

Reductions

5/7
NP-hardness reductions
5/8
More NP-hardness reductions
5/9
Exponential-time hypotheses: No, I mean they are really really hard
5/12
(S)ETH reductions

Advanced topics

Randomness

5/14
Randomized algorithm, BPP, and error reduction; polynomial identity testing
5/15
Fingerprinting
5/16
Pseudorandom generators; hardness is pseudorandomness
5/19
Have fun with randomness

Communication

5/21
Interactive proofs: why talking to people is important
5/22
[TBD]
5/23
Interactive proof for #P; Cryptography: one-time pad and commitment scheme
5/26
[Memorial Day; no class held] turn everything into polynomials

Onward!

5/28
Zero-knowledge proofs and secure computations
5/29
Fun with zero-knowledge proofs
5/30
How does new discovery (like quantum physics and time travel) change our perspective of computation?
6/2
[TBD]

last modified on