Course: Theory of Computation