This page gives highlights of past lectures and provides lecture notes, reading assignments, and exercises.

Chapters and sections in the readings are from the textbook, unless specified otherwise.


Dates Topics Readings
Jan 17

Course introduction and administration. Overview of course topics.

Introduction to Automata, Computability, and Complexity
Mathematical notions and Terminology

  • Sets
  • Sequences and tuples
  • Functions and Relations
  • Strings and languages

- Chap. 0
- Class notes 0
Jan 19

Regular Languages

  • Finite Automata
  • Regular Expressions

- Chap. 1
  • Sect. 1.1
  • Sect. 1.3
- Class notes 1
Jan 22

Nondeterministic finite automata

  • From NFAs to DFAs

- Chap. 1
  • Sect. 1.2
- Class notes 2
Jan 24

Equivalences

  • DFAs and NFAs
  • Regular Expressions and finite automata

- Chap. 1
  • Sect. 1.2
  • Sect. 1.3
- Class notes 3
Jan 26

Equivalence between regular expressions and finite automata

- Chap. 1
  • Sect. 1.3
- Class notes 4
Jan 29

Pumping Lemma and nonregular languages

- Chap. 1
  • Sect. 1.4
- Class notes 5
Jan 31

Pumping Lemma and nonregular languages
Introduction to Context-free Grammars

- Chap. 1
  • Sect. 1.4
- Class notes 5
- Chap. 2
  • Sect. 2.1
- Class notes 6
Feb 2

Context-free Grammars

- Chap. 2
  • Sect. 2.1
- Class notes 6
Feb 5

Chomsky Normal Form
Pushdown Automata

- Chap. 2
Feb 7

Pushdown Automata

- Chap. 2
Feb 9

Equivalence of PDAs and CFGs

- Chap. 2
Feb 12

Non-context-free languages

- Chap. 2
Feb 14

Deterministic context-free languages

- Chap. 2
Feb 16

Deterministic context-free languages

- Chap. 2
Feb 19

Turing Machines

- Chap. 3
Feb 21

Turing Machines examples

- Chap. 3
Feb 23

Turing Machines examples

- Chap. 3
Feb 26

Turing Machines variants

- Chap. 3
Feb 28

Turing Machines and Algorithms

- Chap. 3
Mar 2

No lecture -- midterm 1

Mar 5

Decidable Languages

- Chap. 4
Mar 7

Decidable Languages

- Chap. 4
Mar 9

Undecidability

- Chap. 4
Mar 19

Undecidability

- Chap. 4
Mar 21

Reducibility

- Chap. 5
Mar 23

Reducibility

- Chap. 5
Mar 25

Reducibility

- Chap. 5
Mar 28

Decidability of Logical Theories

Recommended readings:

- Chap. 6
Mar 30

Time Complexity

- Chap. 7
Apr 2

The class P

- Chap. 7
Apr 4

The class NP

- Chap. 7
Apr 6

P versus NP and NP-completeness

- Chap. 7
Apr 9

SAT is NP-hard

Recommended readings:

- Chap. 7
Apr 11

Other NP-complete problems

- Chap. 7
Apr 13

No lecture -- midterm 2

Apr 15

Space complexity

- Chap. 8
Apr 17

Space complexity

- Chap. 8
Apr 19

Space complexity

- Chap. 8
Apr 23

Other PSPACE-complete problems

- Chap. 8
Apr 25

Sublinear space

- Chap. 8
Apr 30

Summary for Automata and Languages

- Chap. 1-3
- Class notes 30
May 2

Summary for Computability Theory

- Chap. 3-5, Section 6.2
- Class notes 31
May 4

Summary for Complexity Theory

- Chap. 7-8
- Class notes 32