Automata, Computability, and Complexity
6.045J · Electrical Engineering and Computer Science, Mathematics · Undergraduate · Spring 2011
Prof. Scott Aaronson
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…
The syllabus, on MIT OpenCourseWare
The full course — syllabus, assigned readings, problem sets, exams, and lecture notes — lives on OCW. These open the real thing:
Syllabus ↗
Course overview, grading, schedule
Readings ↗
The assigned reading list, session by session
Assignments ↗
Problem sets and projects
Full course on OCW ↗
Everything, including lecture materials
Attribution
Prof. Scott Aaronson. 6.045J Automata, Computability, and Complexity. Spring 2011. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: CC BY-NC-SA 4.0.
Course materials are © their authors and licensed CC BY-NC-SA 4.0. CurrMana links to the source and does not re-host them.