"Preface To the student: We think that the theory dealing with what is hard about computation (and what is impossible!) is challenging but fun. This book grows out of these ideas, and our approach to teaching a course in computational complexity. There is no doubt that some of the material in these [...]