Theory of Computation

COSC 39, Winter 2021

Main | Schedule | Homeworks | About


Course Schedule

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

Introduction

1/8
administrivia; what is the purpose of this course? knowledge, skill, philosophy [video]

Languages and Machine Models

1/11
languages, problems, and encoding; regular expressions [video|scribbles]
1/12
constructing regular expressions [worksheet]
1/13
finite automata and automatic languages; are they more powerful than regular expressions? [video|scribbles]
1/15
DFA constructions [worksheet]

Nondeterminism

1/18
(MLK day; no live lectures) tips on induction [video]
1/19
induction on strings and automata [worksheet]
1/20
regular languages are automatic: nondeterministic finite automata [video|scribbles]
1/22
construting NFAs [worksheet]

Beyond Regularity

1/25
Kleene theorem: where multiple models coincide [video|scribbles]
1/26
language transformations and closure properties [worksheet]
1/27
limits of regularity: fooling sets and Myhill-Nerode theorem; examples of nonregular languages [video|scribbles]
1/29
fooling set constructions [worksheet]

Turing Machines and Decidability

2/1
Turing machine: it's just CPU with memory [video|scribbles]
2/2
Equivalence between different computing devices [worksheet]
2/3
Church-Turing thesis: CPU with memory is universal computation; universality implies incomputability (oh the irony) [video|scribbles]
2/5
Is my pseudocode safe? [worksheet]

Resources and Verification

2/8
Time complexity, verification and nondeterminism, P vs NP [video|scribbles]
2/9
Midterm 1; no working session today
2/10
NP-hardness and Cook-Levin theorem: no pursuit is useless; mapping and oracle reductions [video|scribbles]
2/12
Self-reductions [worksheet]

Reductions

2/15
NP-hardness reductions [video|scribbles]
2/16
More NP-hardness reductions [worksheet]
2/17
Exponential-time hypotheses: No, I mean they are really really hard [video|scribbles]
2/19
(S)ETH reductions [worksheet]

Advanced topics

Randomness

2/22
Randomized algorithm, BPP, and error reduction; polynomial identity testing [video|scribbles]
2/23
Fingerprinting [worksheet]
2/24
Pseudorandom generators; hardness is pseudorandomness [video|scribbles]
2/26
Have fun with randomness [worksheet]

Communication

3/1
Interactive proofs: why talking to people is important [video|scribbles]
3/2
Midterm 2; no working session today
3/3
Interactive proof for #P; Cryptography: one-time pad and commitment scheme [video|scribbles]
3/5
turn everything into polynomials [worksheet]

Onward!

3/8
Zero-knowledge proofs and secure computations [video|scribbles]
3/9
Fun with zero-knowledge proofs [worksheet]
3/10
How does new discovery (like quantum physics and time travel) change our perspective of computation? [video|scribbles]
3/16 Tue
Final deadline

last modified on