book is dedicated to Daniel and Ellie. Preface This book should be of interest to anyone who would like to understand computa-tion from the point of view of logic. The book is designed for graduate students or advanced undergraduates in computer science or mathematics and is suitable as a textbook or for self study in the area of descriptive complexity. It is of particular interest to students of computational complexity, database theory, and computer aided verification. Numerous examples and exercises are included in the text, as well as a section at the end of each chapter with references and suggestions for further reading. The book provides plenty of material for a one semester course. The core of the book is contained in Chapters 1 thr...