Not sure where this fits in the various Scratch forums, but a colleague, writing on the Flow-Based Programming (FBP) Google group, recently pointed its readers at Scratch, as an interesting approach to teaching programming. As many of you probably know, FBP uses the very powerful concept of asynchronously running processes communicating by means of data flows. I have been able to simulate a very simple FBP network, by using pairs of "broadcast x" and "when I receive x" functions to simulate FBP connections. I haven't tried more complicated networks, as these two functions are not really adequate. However, it was enough of a sniff test that it makes me think that, with some fairly simple additions, Scratch could be used to teach the principles of FBP, and could be mind-expanding for a new generation of application developers! A picture of my "application" can be seen at http://www.jpaulmorrison.com/graphicsstuff/Scratch_network.png . I look forward to hearing from anyone who wishes to pursue this idea...
Offline
jpaulm wrote:
it makes me think that, with some fairly simple additions, Scratch could be used to teach the principles of FBP
Lightnin (Scratch Team member) was kind enough to call this post to my attention. You might be interested in BYOB (Build Your Own Blocks), an extension to Scratch that allows users to create new blocks (procedures) that take inputs and optionally report outputs. It also has anonymous procedures (lambda) so you can even do continuation passing style programming. It's at http://byob.berkeley.edu.
Offline