Good intermediate book for self taught software developers

This book looks like good material for those who knows the basics about programming and want to learn a bit more without getting all dull and academic about things.

Things I like about it - the material is full of interactive examples and the topics covered are things you can relate to - moving objects, etc. Also, if you want to develop games, this will be a good read :smile: