CS 204 Theory of Computation