Theory of computation
The book consists of short chapters, each based on a lecture the author has given. Kozen is thus able to pack a lot into the 270 pages of the main book. The book deals well with notions such as Alternating Turing Machines and Oracles, which are only sketched upon elsewhere, and so gives the reader a good background on how to prove time and space lower bounds for computational problems. There are also supplementary lectures on subjects such as transfinite ordinals and how they fit into the theory of computational complexity. In conclusion I would say that if you're hoping to prove that P≠NP then this book will help to provide the level of knowledge of the subject that you will need.