The Theory of Computation - Bernard M Moret (Pearson Education, 2005)