Course»Course 6»Spring 2011»6.045/18.400»Homepage

6.045/18.400  Automata, Comput, & Complexity

Spring 2011

home page image

 

 

 

Instructor: Scott Aaronson

TAs: Sebastien Dabdoub, Leonid Grinberg

Lecture:  TR2.30-4  (32-124)        

Information: 

[6.045's Piazzza discussion site]

[Alan Turing's 1936 paper "On Computable Numbers"]

[Alan Turing's 1950 paper "Computing Machinery and Intelligence"]

[6.045 course evaluation]

This course provides a challenging introduction to some of the central ideas of theoretical computer science.  Beginning in antiquity, the course will progress through finite automata, circuits and decision trees, Turing machines and computability, efficient algorithms and reducibility, the P versus NP problem, NP-completeness, the power of randomness, cryptography and one-way functions, computational learning theory, and quantum computing.  It examines the classes of problems that can and cannot be solved by various kinds of machines.  It tries to explain the key differences between computational models that affect their power.

Prerequisites: We assume that you have taken 6.042 Mathematics for Computer Science, or have equivalent mathematical preparation.  In particular, we will assume you have basic "mathematical maturity": i.e., that you're comfortable both reading and writing rigorous mathematical proofs.

Textbook: There is no required textbook for the course.  However, there are three recommended books:

1. The Nature of Computation by Cris Moore and Stephan Mertens -- draft available for free on the web (access info provided in class)

2. Introduction to the Theory of Computation by Michael Sipser -- covers most material from the first half of the course

3. Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak -- covers most material from the second half (as well as more advanced material that we won't get to in class).  Draft available for free on the web.

Lecture Notes and PowerPoint Slides from earlier iterations of the course are available here.

 

 

 

 

 

 

Announcements

No announcements