Sunday 5 October 2014

Parallelism from ‘Scratch’ 
A year ago, my son aged 8 started showing an interest in programming after we installed a desktop in his bedroom. He loves the Scratch Programing tools, a fabulous Interactive Programming Environment from MIT Labs (remember Grail from Bret’s talk) create stories, games, and animations. Condescendingly, I decided to teach him the ‘right way’ to learn programming. Normally when you are teaching programmers, they are happy if their programs can display some web pages and interact with a data store, but to say that children are demanding would be a massive understatement, They want their characters to fight dragons, morph into aliens, scream, jump, jump, spin, get new weapons, and have multiple lives… It is a chaotic ‘Omniverse’ which would stress the best of programmers. It was amazing to see him use concepts from parallel programming coordinating game characters using messages without the concept of shared state or threading to manage concurrency. It just reinforces Bret Victor’s advocacy of free thinking – children are not limited by particular paradigms and aided by the right (visual and interactive) tools can surprise you with the complexity of their programs. Imagine creating some of these games (which are so simple for a kid to ideate, create and program) in a mainstream programming environment.

His First Program

No comments:

Post a Comment