This textbook provides undergraduate students with an introduction to the basic theoretical models of computability. Students who have already some experience with elementary discrete mathematics will find this a well-paced first course. Plenty of exercises are provided, ranging from the easy to the challenging.