Partly because it's packaged with the OLPC and so will be used by millions over the next few years. I want to be part of that process and learning Squeak is one way to become involved.
Partly because Squeak is amazing but the overall advocacy is not the purpose of this article, so I'll leave that for now. The two recommended articles below by Alan Kay will help get you started here.
This is a bit tricky because of these quirks: mouse buttons, User Interface and patchy on line documentation. I'll explain these as I go along
Read these carefully, if you haven't seen squeak / smalltalk before there are some quite different ideas in there. I certainly didn't appreciate all the nuances until after I had actually played with squeak as well
Squeak Etoys Authoring and Media
Squeak Etoys, Children and Learning
The tutorials here are good but don't start with Kedama, which is more advanced, do that later. Scroll down to the Painting, Handles and do those first. You need to do the Handles tutorial because the morphic UI is different to anything you have used before.
Then go to Drive a Car tutorial, which is well documented on line
Edit on line in a browser. Amazing!
Late binding means that you can inspect and even edit projects on the web. In puzzling how to do a simple animation I came across the term "Holder" but didn't know what it was. Later on I read about it in one of the Alan Kay articles mentioned above. But I still wasn't able to use it correctly. However, by going to Sam's face ball animation I could see how it worked directly. I was still puzzled though as to what sort of entities were inside the holder. But I could figure this out directly by middle mouse clicking (note the mouse quirk) on the objects in the holder and seeing their names: Sketch1, Sketch2, up to ... Sketch7, that they had all been made from the initial Sketch.
Sam's script is on display too and by reading that in conjunction with the Alan Kay article I could figure out how to do it
The screenshot shows the light brown holder containing the elements of my imitation of Sam's Face Ball animation, but better to click on the link above to see the online dynamic version
So, I have now reach beginner status. Where to next?
Some things are so annoying and I don't know whether that is my ignorance or a deficiency in the program. For example, when using Paint Undo only goes back one step, I don't know the keyboard shortcuts and I can't copy and paste a part of a drawing. Where is the help, mentoring, documentation? This is a definite problem. Everything is patchy, nothing is comprehensive.
I have searched the web more than once and the best I can come up with is this:
Buy the B.J. Allen-Conn and Kim Rose book, Powerful Ideas in the Classroom (squeakland, amazon)
It includes 12 "Etoy" projects in a sequential curriculum that explore powerful ideas such as feedback, increase-by, acceleration and gravityThere are other great more advanced books available about squeak but this seems to be the only one specifically about Etoys, the drag and drop where beginners will start.
Join the Squeakland discussion forum. Visit the archive to check out the quality of discussion. Recent example of an interesting comments I found there:
Eric Eisaman (4th April):Also it's great to see that experts like Alan Kay, Kim Rose, Bert Freudenberg, Ron Teitelbaum and Stéphane Ducasse are contributing to this forum!
Well, I have been using Squeak Etoys for two years in my high school classes as a means to create physical simulations, presentations, and games. I like Etoys as an initiation to object oriented programming however, at times students students become overwhelmed with Etoys. If this happens frequently within a specific class of students, I have them use "Scratch", available at scratch.mit.edu . "Scratch" is a gentler approach to programming than Etoys yet lacks some of the advanced functionality. Next year I may start everyone in "Scratch" before moving on to Etoys. The more advanced students have shown some success in creating with the latest Full Squeak image without using Etoys. I am however, limited in my own abilities to help the advanced students. I have done a few tutorials with Tweak yet lack enough understanding to use it in class. I feel that Croquet will be a great option for my classes, but I continuously receive callout errors when the program tries to access the OpenGL library which I know is installed. I think it's important for the students to see growing levels of sophistication built on the same basic virtual machine going from Scratch to Etoys to Squeak to Smalltalk