'Beginning Programming' is an entry level introduction to programming, about as dumbed down as it can possibly get - and that is what is so great about it.
There are not many books targeting readers with absolutely no previous knowledge of programming, wanting to learn the very basics before moving on to an introduction course or book using one specific programming language. 'Beginning Programming' fills the gap nicely.
In the following section authors Katie and Adrian Kingsley-Hughes move on to meticulously teaching the fundamentals of computers and machine language, coding, number systems, interfaces and tools required for a programmer. The paragraphs on the importance of picking a good chair and keyboard (!) illustrate just how deeply their book delves into detail.
Describing problem solving, compiling and debugging, file and registry interaction is done, before wrapping the book up with a great section on programming from problem identification to the distributed product. The brief appendixes provide a glossary and information on further resources, and how to obtain every needed kind of tool.
What I most appreciated while reading 'Beginning Programming', was that the authors took time to introduce the fundamentals before moving on to actual coding (which was very simple). Coding is not introduced until half way into the book. It is sad colleges and universities do not allow students to acquire a thorough grasp of the basics, but dive straight into learning the first programming language. Students would benefit from starting off with a book like this.
On the down side, 'Beginning Programming' does not mention the important subject of object oriented programming at all, and the description of graphic user interfaces is just too short, not even showing code samples. I missed a demonstration of tools like NetBeans or MS Visual Studio Express Edition (both are free). Also, the publishers have not bothered to proof read the book properly. Language is sub standard, and the errata is a wee bit long.