I'm rather proud of myself for understanding as much of this as I did. I had to speed through because I was reading it for a cyber security boot camp so there wasn't time to do the exercises that would have deepened my understanding. The book didn't provide solutions to the questions or exercises, so how would you check your work anyway?
I'll admit that somewhere in chapter 10 where the focus shifts to object oriented programming, it seems to take a big jump in complexity.
Either way, I at least feel like I gained a lot from it. I reserve the right to change that sentiment after I've attempted to apply said knowledge to an actual programming problem.