Book Reviews
Hello World! Computer Programming for Kids and Other Beginners
Posted January 7th, 2012
Reviewer: Andrei Mouravski I have to admit that I was a bit humbled by the title. Kids? I'm 24! I'm a full-blown professional scientist-type! What could a kids' book on programming offer me?
"A lot," it turns out, is the correct answer to that question. My biggest fear is that the book would talk down to me, and that was quickly assuaged. Some of the examples and explanations are a little simplistic, but to be fair, this is a book for beginners. Despite that, I felt encouraged to keep going, and better yet, I felt like I was really understanding the material. The topics are presented in a very reasonable order, and I never felt as though I had to struggle to understand a concept due to a lack of underlying knowledge. The end-of-chapter problems are challenging (for an absolute beginner) without being so tough as to make you give up.
Zune Game Development using XNA 3.0
Posted May 2nd, 2011
For someone who did not know much about C# and XNA before now, I felt that this book was a great learning experience. Not only did the author explore game development concepts, but he explained C# and XNA to the reader, ensuring that they understood all topics.
One of my pet peeves with this book, amongst other programming books I've read, is that the author will give you their code to copy. To really understand how a language works, or how the algorithms are structured, I feel you need to figure it out on your own. Everyone learns differently, and unfortunately that learning style was not for me. To make up for the code given to you, the author does include questions that cover the chapter just finished, to ensure that you understand what is going on. He also thoroughly breaks down each line of code to explain exactly what it does. The concepts he provides in the code are described before the code is shown.
Some exercises that were included were making a card game and writing Breakout for the Zune. The problem with many books on learning a language is having a really boring end-goal, like writing an accounting program or a simple calculator. This book teaches the user to make cool games, which is generally more interesting to the average reader. While that was the point for this book, it was still a good way to learn.
If you are looking for something to teach you Zune game development, I am sad to say this book is out of date. The new Zune HD has a multitouch display, instead of the buttons on the bottom of the device. Luckily, the book does go through making Zune games for Windows as well. While the book is out of date for the device it was intended, it still teaches how C# and XNA work together as well as basic game development concepts.
Intermediate Robot Building
Posted April 29th, 2011
David Cook's second book is an excellent sequel to the first. Like Robot Building for Beginners, this is a hobbyist book aimed at those interested in tabletop robotics. It documents his exploration in robotics using easy-to-get parts for most hobbyists, and does good job of explaining the basic theory to the layperson. A basic understanding of electronics and mechanics is useful to take away as much as possible from the book, but with just the skills learned in the first book, it is easy to copy his simple designs.
By no means is this an advanced book. Those with some background in electronics or computer science may find the book a bit lacking on the theory behind the designs, but it hits its target demographic quite well. Anyone who has built a small robot or is familiar with circuits will have no trouble following even the more advanced topics in this book.
The author includes a brief overview of the basic parts of any robot. The first section includes several examples on the mechanical construction of a robot. Many of the examples include mechanical parts custom fabricated on a mechanical mill, though sources for similar parts are included. He then discusses power supply and isolation concepts. A large part of the book discusses various approaches of brushed DC motor driving using NPN transistors or MOSFETs, and is probably one of the more valuable sections. There is a short section on sensor design but the examples presented in detail are somewhat sparse. Finally, a section on interfacing a controller (purpose built or programmable) to the hardware is gone over. This section is by far the most lacking, as this book is more focused on the hardware implementation.
Overall, the book presents a good guide to getting a simple tabletop robot up and running, but doesn't discuss much of the more advanced topics a budding roboticist might find useful. This is by no means a software book, but by the time you're done with the examples in this book, you'll have a good platform for mobile robot programming.
CLR via C#
Posted April 29th, 2011
The newest edition of CLR via C# brings this comprehensive volume up to spec on addressing many of the details regarding the CLR in .NET 4.0. This book covers almost anything you can imagine wanting to know about how the CLR operates, all in the context of the C# programming language. It has very detailed chapters on the basics such as assemblies and the CLR's execution model, going into detail on type definitions and how they are handled, content on how exception handling and garbage collection are managed in the CLR, etc. You name it, it's probably covered.
The latest edition adds a number of chapters on multi-core programming and many of the new parallel features included in .NET 4.0. The only downside I can find to this book is that it is a bit dense to read through and understand it all. I found it useful to skim the sections and then when I needed to know the content at a deeper level I would have a better idea of where to reference in the book to find the answers I was looking for.
All in all, I would recommend this book to anyone looking to seriously understand how the CLR is operating on the code that they write.
The Definitive Guide to Pylons
Posted April 29th, 2011
The Definitive Guide to Pylons is clearly a comprehensive book on a complex subject. I struggled with Pylons development a lot when starting out (and still do in some regards), and this book helped me understand the architecture, the reasons why things were designed and implemented the way they are, and the general philosophy of the framework. The book has very comprehensive sections on setting up a basic site, using views and the model, and doing more interesting things with routing. There are also good sections on testing, internationalization and localization, and AJAX.
The main area I felt this book was lacking in was the deployment section. I began reading this book and I was very confused about how to actually get my Pylons application running in a production web server such as Apache, and I finished reading and was only slightly less confused, and still without any strong amount of success.
Overall, I think someone with a bit more Python experience than I have can benefit greatly from this book while learning Pylons. In most areas it is very clear and comprehensive on the subject being addressed.
|
|
|
|