Happy 6th Birthday Sugar Labs
1. I just got back from Turtle Art Day in Kathmandu, Nepal. OLE Nepal helped organize a 2-day workshop with 70+ children from four schools. Many thanks to Martin Dluhos, Basanta Shrestha, Subir Pradhanang, Rabi Karmacharya, Bernie Innocenti, Nick Dorion, and Adam Holt, all of whom contributed to the event.
It was not a surprise that children in Nepal are like children everywhere else: they take to programming like ducks to water. We began by taking the children in small groups to learn some basics about controlling the turtle: one child plays the role of turtle, one holds the pen (a piece of chalk) and the rest, in a circle, instruct the "turtle" how to draw a square. They need to be very precise with their instructions: if they just say "forward" without saying how far forward, the turtle keeps walking. If they say "right", without saying how far to turn, the turtle keeps spinning. After they draw a square, I ask them to draw a triangle; then they are ready to start with Turtle Art. I've posted a few of the chalk drawings in the wiki: simple ones from my session, to more elaborate, from those working with another one of the mentors.
After working with chalk, we went to the computers. On a laptop connected to a projector, I introduced Turtle Blocks, and again ask for a square. I show them that they can snap together blocks, e.g., forward 100, right 90; showed them the repeat block; and then I show them how to use the start block to run their program with the rabbit or snail (fast or slow). Over time, I introduced the pen and let them explore colors for awhile. Next, I introduce action blocks: make an action for drawing a square and then call that action inside of a repeat block followed by right 45, and you get a pretty cool pattern. This was followed by more open-ended exploration. I introduced a few more ideas, such as using "set color to heading" (the color is determined by the direction the turtle is heading); "set color = color + 1" to increment the color; and "set color = time" to make the color slowly change over time. I also introduced a few other blocks, such as show, speak, and random. Finally, I introduced boxes. For this, I use a physical box: I ask the children to put a number (written on paper) in the box; then I ask them what number is in the box. I ask them to take the number in the box and add 1 to it. Again I ask them what number is in the box. I repeat this until they get used to it; then I show them the same thing using Turtle. The example program I write with them is to go forward by the amount in the box, turn right, and add 10 to the number in the box. I asked them what they think will happen, and then show them that it makes a spiral. When they run it with the "snail", they can see the number in the box as the program runs. Another block I explicitly introduced was the "show" block. We programmed an animation with "show image", "wait 1", "show image", "wait 1", ... They recorded dance steps using the Sugar Record activity and used those images in their Turtle projects. As often as possible, we tried to have a child show their work to the entire group. At the end of the second day, we had a table set up for an exhibition; we had to keep adding more tables as more and more children wanted to show off their projects.
We originally planned on break-out sessions on Day Two, but we had a technical glitch on Day One, that slowed things down quite a bit. The children were running Sugar 0.82 on XO-1 laptops, which is nearly six-years old. They had them connected to the mesh network, which cannot scale properly to 70+ machines. The result was a lot of frozen machines. It took most of the day to figure out what was wrong. Once we turned off the radios, everything worked great. I also had to spin a stripped down version of Turtle Art, since a number of dependencies I use, such as some Python 2.7 features, were unavailable on 0.82.
We did have one break-out session for robotics. I brought a Butia to Nepal and I wrote the typical program with the kids to have the Butia go forward until it got to the edge of the circle (everyone was sitting in a circle on the floor); whomever the Butia approached had to push a button so that the Butia would spin and then go in another direction. We then added a few embellishments: the Butia would say "ouch" or "that tickles" when the button was pushed; and we had it take a picture of the child who pushed the button. We saved the files so we could use them to make an animation in Turtle Art.
Of note: One child approached me to say he is teaching himself to program Python. I showed him how to export Python from his Turtle Art projects. I'll be curious how he uses that feature. I am making a new set to Turtle Cards to demonstrate the steps we took in explaining Turtle to the children.
2. While I was in Kathmandu, I had a chance to meet with the Nepali FOSS community, thanks to Shankar Pokharel, Ankur Sharma, and Subir Pradhanang. We had a nice talk about the challenges and opportunities facing FOSS in Nepal.
3. Just before my trip to Nepal, I was in Mexico attending Aldea Digital. The central plaza in Centro Historico in DF is turned into the world's largest free Internet cafe for two weeks. I gave a lecture about Sugar and ran an impromptu Turtle Art session. (We installed Sugar in a VM on twenty Windows 8 machines and ran a session.) I also had a chance to meet Ian, the 9-month old baby of Carla Gomez: a future Turtle Artist.
In the Community
4. Mike Dawson, formally of OLPC Afghanistan, wrote a nice commentary on the Keepod in which he mentions Sugar on a Stick.
5. Google Summer of Code begins on the 19th of May. We'll be meeting every week in IRC on Fridays at 2PM EST.
6. There is still time to enter the Sugar Background Image Contest.
7. Daniel Narvaez has been building F20 images for XO: The XO-1 image boots into Sugar (latest from git) and wifi works. He has also built XO-4 images.
9. Please help us with testing of Sugar 102.
10. Please visit our planet.