Computational complexity theory is about the fundamental capabilities and limitations of efficient computation. Framing the subject in the broader context of computer science, this guidebook is both a self-contained tutorial for graduate computer science students and a thorough reference for specialists.