Scratch

Ken Webb 2010-03-14T16:31:19Z

Scratch "is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web. As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively." Scratch was developed by the Lifelong Kindergarten group at the MIT Media Lab.

I will be volunteering at a local high school helping students develop software in Java for the XO computer. Scratch was mentioned at the kick-off meeting, so I looked it up. I'm impressed with what I have seen so far.

I'm especially interested in how the novel ideas in Scratch relate to Xholon. This page is mostly a discussion of similarities and differences between Scratch and Xholon, how the two might be able to work together, and what Xholon can learn from Scratch.

The Scratch GUI makes two types of things available - sprites, and scripts written in the visual programming language. The sprites and the stage that they play on are the structural objects in a Scratch project, while the scripts provide the behaviors for these objects. At first glance, it seems that the following correspondences may apply:

Xholon Scratch
xholon class sprite
xholon node duplicated sprite
Java class and methods script

It looks like the formal inheritance hierarchy of sprites in Scratch is shallow. All sprites inherit directly from Sprite. But sprites are more like prototypes than classes. You can duplicate any sprite, and then edit it to get something new. You can have any number of duplicates of the same sprite in a project.

Scratch seems to be event driven. The user clicks on something in the GUI, which causes sprite behaviors to be activated.

Chirp BYOB

Chirp offers an enhanced version of Scratch called Build Your Own Blocks (BYOB). It provides a number of features that make it more Xholon-compatible, including:

Resources

return to main page