CSCI 5444: Theory of Computation