Describes recent achievements and classical results of computational complexity theory, including interactive proofs, PCP, derandomization, and quantum computation. It can be used as a reference, for self-study, or as a beginning graduate textbook. More than 300 exercises are included.