Book Sneak Peek

So I've got the first couple of the book's chapter's rewritten and revised with side by side examples, and I'm very happy with how it is progressing. Having already written one draft, these successive revisions are much easier. There is some real potential for the eBook version to really make an impact on some young aspiring programmers.

a Different Way of Teaching

One of the things that I most dislike about nearly all of the books on programming that I've read is their total inability to walk you through it step by step on a computer. It seems so obvious, that a book on computers should actually be on a computer. For example, here's a screen shot of one of the exercises that you can walk through in chapter 4 or 5.

catch(e) " href="http://4.bp.blogspot.com/_XCDTVvEbBMU/SkWQkyPN7xI/AAAAAAAAADo/bs49HvZSEx8/s1600-h/adder.png">

Those familiar with logic gates will quickly recognize this as a full adder. It is built using a Javascript library which runs on top of my Phosphor environment and is about 200 lines of code to generate a complete drag&drop enabled circuit building logic simulator. In the first 16 chapters of the book, you are walked through the creation of an 8bit CPU design. Each operation of the chip is detailed and built by the user, side by side, with the text explaining how it works. Everything is interactive, and you can change anything at any time.

The Operative Principle

The design principle behind this form of teaching is to place the student at the center of the activity. It is their understanding derived from first hand experience that matters, not their ability to regurgitate abstract theory. When learning is viewed as an experience, the primary focus must be upon manipulation and operation. A student who can tell you how something works in theory is not as competent as one who can demonstrate it in practice. In theory, I can tell you how to play a guitar. In practice, I haven't touched one in a decade, and was never very good. The operative principle is that through direct manipulation and the experience of practice, the student gains a visceral understanding of the abstract concepts which were made concrete.