Problem solving in computing is referred to as computational thinking. The theory behind this concept is challenging in its technicalities, yet simple in its ideas. This book introduces the theory of computation from its inception to current form of complexity; from explanations of how the field of computer science was formed using classical ideas in mathematics by Gödel, to conceptualization of the Turing Machine, to its more recent innovations in quantum computation, hypercomputation, vague computing and natural computing. It describes the impact of these in relation to academia, business and wider society, providing a sound theoretical basis for its practical application.Written for accessibility, Demystifying Computation provides the basic knowledge needed for non-experts in the field, undergraduate computer scientists and students of information and communication technology and software development.