Automata, Computability, and Complexity

Lecture Notes

LEC #

TOPICS

LECTURE NOTES

1

Introduction

(PDF)

2

Logic, circuits, and gates

(PDF)

3

Deterministic finite automata (DFAs) and nondeterministic finite automata (NFAs)

(PDF)

4

NFAs and regular expressions

(PDF)

5

Non-regular languages and the pumping lemma

(PDF)

6

Turing machines

(PDF)

7

Decidability

(PDF)

8

Undecidable problems and Post correspondence problem (PCP)

(PDF)

9

Mapping reducibility and Rice's theorem

(PDF)

10

Self-reference and the recursion theorem

(PDF)

11

Introduction to cryptography

(PDF)

12

Complexity theory

(PDF)

13

Pseudorandom generators and one-way functions

(PDF)

14

Public-key cryptography

(PDF)

15

More complexity theory

(PDF)

16

More NP-completeness

(PDF)

17

Probabilistic Turing machines and complexity classes

(PDF)

18

Trapdoor one-way functions and zero-knowledge proofs

(PDF)

19

Probably approximately correct (PAC) learning

(PDF)

20

More PAC learning

(PDF)

21

Introduction to quantum

(PDF)

22

Quantum mechanics and BQP

(PDF)

23

Quantum algorithms

(PDF)

Cryptography Handout

Introduction to cryptography and RSA (PDF) (Courtesy of Leonid Grinberg. Used with permission.)

Assignments

TOPICS

PROBLEM SETS

Problem set 1: Number theory and regular languages

(PDF)

Problem set 2: Context-free languages

(PDF)

Problem set 3: The Gödel-Turing mindblower

(PDF)

Problem set 4: Computability and complexity

(PDF)

Problem set 5: NP-completeness and more

(PDF)

Problem set 6: Randomness and cryptography

(PDF)