Text this: An introduction to the general theory of algorithms