Scratch
The Scratch folks are porting it to Sugar.
What is Scratch
Scratch is a highly engaging language that allows young students to create simple programs and games. Students use a drag and drop interface of "code blocks" to create sound, movement and actions to objects called "sprites."
A teacher writes: My 6th grade students enjoyed using Scratch. The Scratch website is well designed with both video and written tutorials. My students were especially pleased to be able to upload their completed projects directly to the Scratch Page. This gave the children a much larger audience than they would have gotten simply uploading to our classroom wiki page.
Scratch works fairly well in an XO environment. A collection of sample projects is included, and students find it fun to open them and edit them as they wish. The main gotcha is that this download has only a subset of the full Media folder that comes with the Windows installation. If you would like additional costumes, backgrounds, and sounds, you can download the full media folder (see below).
How to get started: For young children, the best way to get them interested in scratch is to show them a video tutorial and have them open up complete projects and see how they work.
Make sure to check out the Scratch video tutorials (http://scratch.mit.edu/pages/videos) for insight about how to use it. MIT's site also has downloadable PDFs with sample projects and reference guides. http://scratch.mit.edu/pages/educators
This version is not fully integrated with Sugar, but all features work except the "note" and "drum" blocks.
If you have feedback about the XO version of Scratch, please write to scratch-xo at media.mit.edu.
Download
Media and Sample Project Download
To save download time and space in the XO file system, the XO version of Scratch includes only a subset of the sample projects and media library (images and sounds) that come with the full version of Scratch. If you would like the full versions of the sample project and media library folders, you can download and install the following ZIP files:
You will need to install these folders manually using the Terminal Activity. First locate the Scratch activity folder. In that folder, delete the Media and Projects folders that came with XO version of Scratch. Then, unzip the above ZIP files to replace them. (These versions include everything that came with the XO version of Scratch plus much more.)
Note: In some some settings (e.g. rural Cambodia), many of the images in the Media folder seem out of place, irrelevant, or meaningless. It is perfectly reasonable to edit or augment the Media and Sample projects folder. For example, it might be appropriate to create your own image library with digital photos of people, animals, buildings, and vehicles from the local environment. It may be possible to make this a participatory activity, with students helping to collect or draw images.
FAQ
Q: How do I get Java onto the XO?
See http://wiki.laptop.org/go/Java.
Q: How do I import pictures taken on the xo (or transfered by usb) to the scratch media files for use as backgrounds, etc?
You can use the XO clipboard to move a photo from the camera into Scratch. In the photo app, drag the photo thumbnail to black edge on the left side of the screen. It should stick there. Then go to Scratch and drag the picture on the Scratch screen. It will be added to whichever sprite (or stack) is currently show in the middle scripts/costumes/sounds pane.
To import photos from the USB drive, insert the USB drive. Then, in Scratch, click on the "costumes" or "background" tab, then click the "import" button. Now, click on the "computer" shortcut. You should see the "media" folder. Double-click on that, and you should see your USB drive. Double-click on that, and you should be able to find and import your photos.
Q: How do I install the full media and project folders?
Here's how to do it using a USB Flash drive. First, download zip file listed above on a Windows or Mac computer and unzip them. Then, put the resulting Media and Projects folders onto your Flash drive. Insert the Flash drive into your XO and start the terminal tool.
Now comes the "black magic" (or so it will seem if you haven't used Unix much).
NOTE: I don't have an XO handy to check all of these steps; if you run into problems, you might ask someone familiar with Linux to help.
In the terminal tool, type:
cd Activities/Scratch.activity
and hit enter. The terminal prompt should change to show that you are in the Scratch activity folder. To check this, type:
ls
and hit enter. You should see a list of the Scratch files and folders. Now type:
rm -r Media
this will delete the existing Scratch Media folder to make room for the full one. Then type:
cp -r /media/
and hit the tab key twice. The XO should show you a list of possible "completions" for this file path. There will probably be just one, and it will be the name of your Flash drive as the XO sees it. Type the first few letters of your drive and hit tab again. The XO will fill in the rest of the name. Now add onto that path "/Media ." so you have a command like this:
cp -r /media/USBDrive/Media .
Note that there is a space and a period at the end of this line, and that your version will show your USB drive name. Now hit enter. The entire Media folder will be copied from your USB drive into the Scratch activity folder.
Now, do the same thing to install the full Projects folder. If you've saved your own Scratch projects in the Projects folder, you should rename the old Projects folder by typing:
mv Projects OldProjects
Otherwise, you can just delete the old projects folder by typing:
rm -r Projects
Then type:
cp -r /media/USBDrive/Projects .
(but with your USB drive name) to copy the Projects folder to your Scratch activities folder.
That's it! You can quit from the terminal and start Scratching!
Scratch Sensor Board
NOTE: With Scratch v11 and later, the sensor board works out of the box. I'm leaving these instructions here in case someone has an older version and can't upgrade for some reason.
NOTE: There is a bug in Scratch v7 and earlier that keeps the sensor board from working. I've fixed the bug and am working on updating the Scratch activity. But once the new activity is ready, the following should get the sensor board working.
To use a Scratch Sensor Board (http://scratch.wik.is/Support/Sensor_Boards) on the XO with versions of Scratch older than v11, you must add a file to the folder:
/etc/udev/rules.d
This file should contain the single line:
KERNEL=="ttyUSB*", MODE="0666"
Adding this file allows Scratch to read and write data to the sensor board. You will need to make yourself root using the "su" command in order to add a file to that folder.
See also
- Etoys - a similar environment, also written in Squeak Smalltalk
- Turtle Art - a turtle graphics activity with Scratch-like snap-together program elements
- http://scratch.mit.edu/
- FAQ » What are your plans for a Linux version of Scratch?
<math>Insert formula here</math>
Activity Summary
Icon: | Sugar icon::Image:Activity-scratch.svg Ben 10 |
Genre: | Activity genre::Games |
Activity group: | ,|x|Activity group::x}} |
Short description: | Short description::TODO! An easy-to-learn, multimedia programming language in which you snap together colorful command blocks |
Description: | |
Maintainers: | ,|x|Contact person::x}} |
Repository URL: | Source code::http://dev.laptop.org/git?p=activities/scratch |
Available languages: | ,|x|Available languages::x}} |
Available languages (codes): | ,|x|Language code::x}} |
Pootle URL: | |
Related projects: | Related projects,|x|Related projects::x}} |
Contributors: | ,|x|Team member::x}} |
URL from which to download the latest .xo bundle | Activity bundle::http://web.media.mit.edu/~jmaloney/scratch-xo/Scratch-12.xo |
Last tested version number: | Activity version::12 |
The releases with which this version of the activity has been tested. | ,|x|Software release::x}} |
Development status: | |
Ready for testing (development has progressed to the point where testers should try it out): | ,|x|Ready for testing::x}} |
smoke tested : | |
test plan available : | |
test plan executed : | |
developer response to testing : |