For Parents and Educators:
Why Would Your Child Want This Book?
As we said before, most children today practically live with computers; they cannot even imagine a world without them. But nowhere are they given the opportunity to understand how computers actually work. Most barely understand the difference between hardware and software, let alone what programming a computer really means. This is not a reflection on their ability to understand these concepts, nor on their curiosity or desire to learn - there are no books which address these issues at a level that an average sixth grader can understand!
This book attempts to address the curiosity of the computer- literate kid who wants to understand what programming is all about and how to write his or her own programs. It is addressed to the 11-17-year old (grades 6-12) who is already comfortable around computers and who has some technical or mathematical inclination. Programming is a serious business, but it can also be a lot of fun - as those of us who learned programming at an early age can testify. So the book takes a light, and somewhat humorous, approach to teaching children how to program, making it an enjoyable challenge rather than a boring task.
The book should not be taken as a reference for any programming language, although the examples are based on Java. Programming is a combination of art and skills, and the book's goal is to teach the necessary skills and the artistic elements in a way that would appeal to the young reader. The narrative is easy to follow and does not burden the reader with more details than are necessary to grasp the concepts. The examples are all from a child's life and learning experience, and are balancing the necessity of abstraction against the need for tangible, realistic elements.
The book first introduces the building blocks of a computer from the hardware perspective, so that the reader will be able understand the environment in which programming occurs. It then explains how programming is affecting the computer, giving the reader a reference point for the rest of the book. And then the book tackles the real subject - writing programs.
Beginning with the concepts of types and variables, moving on to operators and expression, going through statements, blocks and functions, and culminating in object-oriented programming concepts. Throughout the text are numerous examples in the Java language: a large number of code snippets, many program fragments and several complete programs. These examples tie directly to the text, and some of them are propagated through the text showing progressively more advanced techniques of solving the same problem as the tools learned become more sophisticated. The reader can actually run each of the examples, so that he or she can get a real feel for the programming process.