CS 35103 Theory of Computation