This document is the preface to a textbook on the theory of computer science. It discusses the changes made in the third edition of the book compared to the second edition. Some of the key changes include adding a new chapter on decidability and recursively enumerable languages, expanding the sections on pigeonhole principle and induction, including a proof of Kleene's theorem in regular languages chapter, and adding a new chapter on complexity theory and quantum computation. The preface provides an overview of the topics covered in each chapter and emphasizes that the book includes numerous examples, detailed solutions to exercises, and self-test questions in each chapter to aid student learning.