I think there are two ways in which children may constructively be taught computing. The first is algorithmic problem solving, which is often better taught using logic puzzles and games rather than programming trivial if-then statements. Anany and Maria Levitin's book, Algorithmic Puzzles, is a good example of the genre. [1]<p>Secondly, they need to be taught an active and inquisitive posture towards technology. Most devices today (especially tablets and phones) force the user into a dependent and passive mode of interaction in which it is impossible to know how things work. Accordingly, I think it may be destructive for children to spend too much time with these devices.<p>The KIBO system described in the article seems like a great thing to play with to build a basic understanding of symbolic control flow, although it too is opaque. I think 4 is too young to spend much time staring at a screen, but by the time a child is 8-10, I think it is better to have an admittedly difficult to use Linux workstation or an old computer running FreeDOS. Also good are the many simple devices arising out of the "maker" movement.<p>I would really like to give my kids a simple device that could be programmed from the hardware up in something like Forth. Something like an HP calculator, but with a command line and options to connect to other devices would be great.<p>[1] <a href="http://www.amazon.com/gp/product/0199740445" rel="nofollow">http://www.amazon.com/gp/product/0199740445</a>