The book begins with very basic stuff and good explanations, but with each next chapter the code become harder and explanations become too shalow. By the end of the book you'll ended up investigating code all by yourself. Though code expansion here is very good with each chapter you start to investigate new code from scratch observing new features of it, it gradually become harder and with proper patiance its possible to recreate that code from each chapter and make it compalible, but it takes a lot of time.