MIT OpenCourseWare
OCW Home Course List About OCW Help with OCW Feedback


Search
» Advanced search
 Course Home
 Syllabus
 Calendar
 Recitations
 Assignments
 Exams

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)



 
MIT Home
Massachusetts Institute of Technology Terms of Use Privacy