Based on the lectures for undergraduates at Moscow State University, this book offers an introduction to the central facts and basic notions of the general theory of computation. It begins with the definition of a computable function and an algorithm and discusses decidability, enumerability, universal functions, and degrees of unsolvability.