ToonTalk was created by Dr Ken Kahn in the 90s as a fun and approachable programming environment for kids to learn in. It is based on the idea of an animated virtual world that is populated by robots that you can train to do tasks. For long-in-the-tooth procedural programmers it takes a bit of getting used to because it is based on a concurrent constraint programming language foundation. This means that it relies on multiple processes (robots) working in private address spaces (houses with boxes in) with inter-process communication (birds and nests) and spawning (trucks that you can load up with boxes and robots). A telling quote from the user comments is "First (strange) axiom: More you know C++, less you understand ToonTalk (because you wish find the same concepts inside) Second axiom: Less you know computer science, more you understand ToonTalk"! Crucially he proves that 'advanced' computer science concepts can actually be learnt very easily by novices -- and, in fact, describes university professors adopting ToonTalk to teach concurrent programming concepts to their students. Due to its academic heritage, there are a large number of papers describing the theoretical basis of ToonTalk, its relation to other languages such as Logo and the results from its use in schools. In particular, Dr Kahn is a strong advocate of animated programming (as opposed to visual programming) and recommends using 'time travel' as a powerful debugging tool. Here the ToonTalk programs are given a VCR-like rewind control panel so that the state of the system can be examined at any time to work out why it behaved in a particular way. I really like this idea, and would like to adopt it for MindTrains. One of the drawbacks to the system he describes is that robots are trained by example, and their coding is not visible (except by running and watching them) therefore spotting bugs and fixing them is time consuming as you have to interrupt them at the right point to retrain them. MindTrains may have an advantage here as the code is made very visible. For anyone interested in teaching programming it is well worth downloading to watch the demo videos at the very least.
















