CS 121. Introduction to the Theory of Computation