Concise Guide to Computation Theory