Text this: An introduction to the theory of computation