There is one very big drawback to this book and you will find it on the back cover where it says 'Readers must have the .NET Framework and Microsoft Visual Studio in order to run the CD.' Rephrase that to say that readers must have those products to use this book. Currently that is a pretty big up front investment for a novice programmer. In fact that is the biggest barrier to many who would like to learn C# and makes languages that provide free implementations much more attractive to novices. While the authors cannot do anything about this problem I hope Microsoft will address it in the very near future.
Now the style of this book (along with other books on programming languages in this series) is very much addressed at the novice enthusiast. The underlying theme is to learn programming by writing programs for games. I think this concept is flawed for two reasons. The first is that many people want to learn to program that have no interest in games and do not find the subject enthusing. Actually quite a few games players would find the kind of simple-minded game that books such as this have to use something of a turn-off. The second flaw is, in my mind, much more serious; this kind of book is written for a male mind-set. Programming is already far too dominated by one half of the human race and books such as this one will just make it worse. Anywhere else such a blatantly sexist approach to a technical subject would receive immediate condemnation. Now that this book has made me recognize this problem, I have to wonder how many authors of books for novices ever consider whether their choice of exercise material is strongly biased towards a single sex.
The language coverage and general programming is perfectly reasonable though, in my opinion only suitable for young enthusiasts. If you already know how to program, or you wish to learn to program to professional standards you will need to look elsewhere. I think another flaw in the design of the book is that it focuses on instant gratification at the price of understanding. It would be easy to work through this book without actually writing a single line of original code. Worse, as we know, an important element of learning to program is learning about solving problems and that takes practice.
I think that a book aiming to teach that lacks any exercises is missing a vital element. Granted that each chapter ends with a set of challenges, however none of those is exactly demanding. I have a distinct feeling that the author is more interested in providing readers with a sense of satisfaction than with actually making them think. I note that he manages a Streaming Media Lab in a University Computer Science Department. That leads me to wonder if his view of programming is just as a tool for students working on streaming media.
In conclusion, this book is technically satisfactory for its target readership but I think that its style leaves more than a few questions. If you want to learn about programming there are better books. If you want to learn C# there are much better books but if you want to try your hand and find simple games programming interesting and do not mind being spoon-fed the answers this would be the book for you.