What is the pre-requisite for reading this book? I'm mainly curious to see if this will be a useful way for beginners (such as kids) to start learning computer science. Given that many of us learnt computer science by writing games and other fun utilities, I'm hoping this will be a good CS beginner's book (and a fun one at that).