Text this: Languages and machines: an introduction to the theory of computer science