Although the book title has the word 'introduction' in it, do not be mistaken, this is not a book for the laymen. It assumes that you have intermediate to expert level of understanding of the computer architecture. That is to say, you understand how computer works, down to the register of a CPU. Throughout the book, there are references to assembly language and how hackers manage to exploit outdated systems with low level programming.
Computer security is a dynamic topic for which it is easy to destroy and or increase the entropy of a computer system. There are millions of ways for a program to not work, and hackers find ways to infiltrate a system from all directions. To the best of their abilities, penetration testers comb through the source code of programs to figure out how can malicious programs be prevented from entering the system in the first place. For aspiring penetration testers, I think this is a good book to start with.
The book covers a wide range of topics, from social engineering to fuzzing and also the basic standard stack-based buffer overflow. I would say 80% of the book is covered with code, so this is not a book for someone who is allergic to code. This book is full of code but technology advances quickly which means that some of the content may not be applicable to the reader by the time of reading. As I was trying to replicate the scenarios mentioned in the book, I realised some programs have compatibility issues because the software was too outdated. So don't be too hopeful that you will become a full fledged hacker after reading this book. Nonetheless, I think this book gave me a good overview of ethical hacking and penetration testing. I think this book would give a computer scientist a better understanding of the underlying code of the programs we use daily.