June 2019 version
More edits to emphasize Turing Machine and Boolean Circuits model. Added significant number of new figures and exercises. Text is now more "linear" - removed many footnotes by either incorporating in text or moving to bibliographical notes.