Sunday, November 30, 2008

Etoys!

This weekend I stumbled upon something wonderful: Etoys! Etoys is a visual programming environment that is geared toward education. It was formerly called "Squeak" (hence squeakland.org) and is fundamentally an implementation of Smalltalk, one of the first object-oriented programming languages. It's actually more than that, because Etoys incorporates a lot of ideas from other programming languages and environments including LOGO, starLOGO, and HyperCard. Etoys runs on Windows, Mac, and Linux computers and is a standard part of the software supplied on the One Laptop Per Child (OLPC) "XO" computer. It also runs as a plugin for most web browsers (works great with Firefox). It's incredibly cool and fun to explore Etoys. And it's free!

I have played around with educational programming software for years, starting with LOGO back in the early 1980's. I also spent a lot of time in the late 80's and early 90's playing with HyperCard on the Mac. I even wrote a working prototype of a proposed graphical user interface for my company's optical design software using HyperCard (the Mac ran only the UI, the application itself ran on a Sun workstation, via a serial port connection).

So I love this kind of visual software construction set. I spent a lot of hours this weekend learning Etoys and I can imagine using it as a component in my space/astronomy educational outreach efforts, though I don't know exactly how right now. I found a few examples that others have done for astronomy. Showing how the moon orbits the Earth and rotates to keep the same face showing is a pretty typical Etoys demo. I found a more elaborate one at EtoysIllinois (recently renamed from SqueakCMI) - the Copernican Revolution (by Avigail Snir), which graphically compares geocentric and heliocentric models of planetary motion.

There's a lot more to say about this, and I'm sure I'll be writing more about Etoys in the weeks to come. As Alan Kay has written, personal computers have been threatening to revolutionize education for decades, but so far have mostly provided more efficient ways to produce paper documents and research things through the web (although computer games have probably taught kids a lot about certain kinds of problem solving). LOGO was an early attempt to use computers to teach young children different ways of thinking, but it never really took off. Could the combination of OLPC, Etoys, and web-mediated mentoring provide a breakthrough? It's possible - I think the materials are certainly powerful enough to inspire any child. But it ultimately comes down to teachers. Kay makes an analogy with pianos and music teachers. A piano in every classroom won't magically awaken musical thinking and feeling for every kid, but a good music teacher can succeed with only voices, hands, and feet as instruments. The computer too is only a tool, but with ideas like OLPC and Etoys, and with some teachers who know how to use these tools, maybe computers will finally realize their potential in education.

P.S. One tip for Windows users of Etoys. The right mouse button doesn't work for me, but the middle mouse button (wheel) does what the right button is said to do (i.e., opens the "halo" of property buttons for an object). Maybe this is a setup or preference thing, but it took me a little while to figure this out. You can also use the ALT key with the left mouse button for this.

2 comments:

Unknown said...

You should also check out Scratch (scratch.mit.edu). It's another adaptation of SmallTalk aimed at providing children with the capability to express themselves in dynamic content.

The user interface in Scratch is extremely simple to understand. The scripts consist of icons that snap together like puzzle pieces. The pieces are color coded by functionality, and variables have different shapes which makes it easy to figure out where they can be used.

My 8 year old daughter has been playing around with it for over a year now. She mostly uses it to tell stories, but I've been trying to encourage her to try some more sophisticated projects. I've also played around with it a little bit, and I can see it's potential as an educational tool.

The scratch website allows users to upload their creations. While the signal to noise ratio is rather low, I have managed to stumble across a few clever projects.

FlyingSinger said...

Thanks Eric - I am also trying out Scratch now and have written a blog post on it just now. It is indeed very clever indeed, and the interface is super intuitive. I'm hoping to develop some space-related physics projects for middle school kids (an extension of my outreach stuff with Orbiter), and I'm thinking that Etoys is probably better suited for that than Scratch, but I need to learn both better to be sure.