This document contains notes from a course on theory of computation taught by Professor Michael Sipser at MIT in Fall 2012. The notes were taken by Holden Lee and cover 25 lectures on topics including finite automata, regular expressions, context-free grammars, pushdown automata, Turing machines, decidability, and complexity theory. In particular, the notes summarize key definitions, theorems, and problems discussed in each lecture, with the overarching goal of understanding what types of problems can and cannot be solved by a computer.