MIT OpenCourseWare
  • OCW home
  • Course List
  • about OCW
  • Help
  • Feedback
  • Support MIT OCW

Calendar

This calendar provides lecture and recitation topics, along with links to homework and quiz materials for the course.
Introduction and Review
Lecture 1 (Day 1): Introduction
  • Reading: Chapter 0
  • Handout 1, General Information
  • Homework 1 out, due Day 4 at the beginning of class (PDF)

Recitation 1 (Day 2): Math Review

  • Reading: Chapter 0
  • Handout 2: Math Review (PDF)
Finite Automata, Regular Languages, Regular Expressions
Lecture 2 (Day 3): Deterministic Finite Automata
  • Deterministic Finite Automata (FA) and the languages they accept
  • Reading: Section 1.1

Lecture 3 (Day 4): Nondeterministic Finite Automata

  • Nondeterministic FA & languages they accept
  • Equivalence of DFA and NFA
  • Reading: Section 1.2
  • Homework 1 due
  • Homework 2 out, due Day 7 at the beginning of class (PDF)
  • In general homework covers material covered up to and including the lecture in which it is handed out

 Recitation 2 (Day 5)

  • Review of FA

Lecture 4 (Day 6): Regular Expressions

  • Regular Expressions
  • Lemma 1.29 (Regular expressions describe regular languages)
  • Reading: Section 1.3

Lecture 5 (Day 7): More Regular Expressions

  • Theorem 1.28, Lemma 1.32
  • Homework 2 due
  • Handout 3: Quiz practice problems (PDF)

Recitation 3 (Day 8)

  • Review of regular languages, expressions
  • Handout 4: Recitation Problems (PDF)

Lecture 6 (Day 9): End of Automata

  • Non-regular languages
  • Pumping Lemma
  • Reading: Section 1.4

Lecture 7 (Day 10): Quiz 1

  • Quiz 1 (PDF), in class
  • Covers lectures 1 through 6
  • Homework 3 (PDF) out, due Day 13

Recitation 4 (Day 11)

  • Quiz Review
Computability Theory
Lecture 8 (Day 12): Turing Machines
  • Introduction to Turing Machines
  • Church-Turing Thesis
  • Multi-tape Turing Machines
  • Reading: Chapter 3

Lecture 9 (Day 13): Non-determinism II

  • Non-deterministic Turing Machines are no better
  • Definition of Decidable Languages; Examples
  • Reading: Section 4.1
  • Homework 3 due
  • Homework 4 out, due Day 16 (PDF)

Recitation 5 (Day 14)

  • Turing Machines
  • Handout 9: Recitation Problems (PDF)

Lecture 10 (Day 15): Undecidability

  • The Halting Problem
  • The Halting Problem is Undecidable
  • Reading: Chapter 4.2

Lecture 11 (Day 16): Undecidability II

  • Post Correspondence Problem is Undecidable
  • Reading: Section 5.2
  • Homework 4 due
  • Homework 5 out, due Day 19 (PDF)

Recitation 6 (Day 17)

  • Undecidability

Lecture 12 (Day 18): Undecidability III

Lecture 13 (Day 19): Reductions

  • Reductions and Mapping Reducibility
  • Reading: Section 5.3
  • Rice's Theorem: A photocopy of Lecture 34 from Kozen was passed out
  • Homework 5 due

Recitation 7 (Day 20)

  • Undecidability and Recursion

Lecture 14 (Day 21): End of Computabillity

  • Computer Viruses and Undecidability

Lecture 15 (Day 22): Quiz 2

  • Quiz 2, in class (PDF)
  • Covers lectures 8 through 14
  • Quiz 2a, a make-up test not given out in class (PDF)
  • Homework 6 out, due Day 24 (PDF)
Complexity Theory
Lecture 16 (Day 23): Complexity
  • Introduction to Complexity Theory
  • Time Complexity
  • The Class P
  • Readings: Sections 7.1 - 7.2

Lecture 17 (Day 24): Nondeterministic Complexity

  • The Class NP; Examples
  • P vs. NP
  • Reading: Section 7.3
  • Homework 6 due
  • Homework 7 out, due Day 26 (PDF)

Recitation 9 (Day 25)

  • Complexity Classes

Lecture 18 (Day 26): NP-Completeness

  • NP Completeness
  • Poly-time Reducibility
  • Reading: Section 7.4
  • Homework 7 due
  • Homework 8 out, due Day 29 (PDF)

Recitation 10 (Day 27)

  • Reductions
  • Handout 14 given out as problems (PDF)

Lecture 19 (Day 28): Cook-Levin Theorem

  • Statement and Proof of Cook-Levin Theorem

Lecture 20 (Day 29): NP-Completeness II

  • Additional NP-complete Problems
  • Reading: Section 7.5
  • Homework 8 due

Recitation 11 (Day 30)

  • More on NP-completeness
  • Handout 16 given out as problems (PDF)

Lecture 21 (Day 31): NP-Completeness III

  • Additional NP-complete Problems

Lecture 22 (Day 32): Quiz 3

  • Quiz 3, in class (PDF)
  • Covers Lectures 16-21
  • Homework 9 out, due Day 35 (PDF)
  • Quiz 3a, a make-up test not given out in class (PDF)

Recitation 12 (Day 33)

  • Optional lecture on Complexity Classes Beyond NP
Special Topics
Lecture 23 (Day 34): Randomness

Lecture 24 (Day 35): Randomness II

  • Probabilistic Algorithms
  • Handout from Randomized Algorithms (Motwani and Raghavan) given out in class. Extras in course drawer
  • Additional material can be found in Section 2 of the scribe notes at http://icg.harvard.edu/~cs225/Scribenotes/
  • Homework 9 due

Recitation 13 (Day 36)

  • Probabilistic Algorithms
  • Handout 18 given out as problems (PDF)

Lecture 25 (Day 37): Cryptography

  • Cryptography and Complexity Theory
  • Readings: Section 10.6, handout

Lecture 26 (Day 38): Cryptography II

  • Cryptography and Complexity Theory

Recitation 14 (Day 39)

  • Canceled!

Final Exam (Day 40)

  • Final exam: 3 hours, 7 problems (PDF)