This weekend, I will be delivering a workshop about Scratch at the Beijing Learning Summit that will be hosted at the Western Academy of Beijing. I thought it might be a good idea to prepare some links to resources that might be useful to workshop participants. Below is a Scratch project that one of my grade 5 students put together last year. The assignment was to present "A Day in the Life..." of a person of a different religion from yourself. He chose Islam.
Click here to see his work.
(You can also embed your Scratch projects. Scroll down to see an example of an embedded Scratch project.)
So what is Scratch? Scratch is a programming language that makes it easy to create interactive stories, animations, games, music, and art. It is an open source project out of MIT from the Lifelong Kindergarten Group. It has its origins in the LOGO programming language and is based on the same Constructionist pedagogy which argues that the best learning happens when learners are "in the active role of designer and constructor" particularly when the end product is shared with others. (Harel) Give Dr. Seymour Paper's book, Mindstorms: Children, Computers and Powerful Ideas a read to get a better understanding of the theory.
The simple commands that were the hallmark of LOGO were later embedded into graphical blocks that could be dragged around the screen and 'clicked' together to create programs. There are now a number of educational projects using this block-based programming idea, including Scratch, TurtleArt, StarLOGO TNG, Google's AppInventor and (at least inspired) Alice.
There are tons of great resources available for educators interested in using Scratch. If your classroom is organized around centers, you may like using Scratch Cards which you can print off and leave next to a computer for students to work through on their own. A great website with video tutorials is LearnScratch.org. You can find a fantastic 6-day Scratch unit with project ideas, instructional PowerPoint presentations and some other interesting bits here on the Scratch site for educators (ScratchED). Some other tutorials and lesson plans can be found here and here.
One great feature of Scratch is the ability to make your own custom sprites, backgrounds and sounds. Everything you program in Scratch is either a sprite or a background. While you can use the sprites that come with Scratch, and there are lots of cut out figures, objects and cartoon characters to choose from, it is a lot of fun to make them yourself. You can just as easily take a picture and using the edit tools in Scratch, or your favourite image editor, cut out the figure that you want to use in your animation or game. There is a sound recorder but you can just as easily import any sound from another file on your computer. When my students want to download images from the Internet, I encourage them to use license free works from the Creative Commons. You can find an excellent site for searching for images here (Wikimedia Commons) and you can freely download all of the sounds you want from here (The Freesound Project).
A big part of the Scratch experience is sharing, so users are encouraged to upload their projects to the Scratch website and to comment on one another's projects. As of now, there are 1,399,956 projects on the site. And anyone can download a project and open it up to see how the creator coded it. Last year, one of my students found a game about aliens bombing a city. He downloaded it and changed it to make the alien ship into Santa's sleigh, turned the city below into houses and made the bombs into presents. He uploaded the project back to the Scratch website and gave credit to the original creator in his notes. Then, we embedded his happy Christmas game into our class website.
Because Scratch is open source, other programmers can download the code and make their own modifications as they like. One such project, called BYOB (Build Your Own Blocks) and another, called Panther attempt to extend the functionality of Scratch for slightly older, more sophisticated computer students. A third, more unusual project, allows you to use Scratch to program objects in SecondLife (Scratch4SecondLife).
Finally, Scratch can also be used in conjunction with external devices and sensors. One that I have been working with is the PicoBoard which is a small circuit board with a number of different sensors on it that you can use to have your on-screen Scratch sprites interact with the world beyond the computer. Scratch can also be used to interact with the LEGO WeDo robotics kit. i haven't had a chance to play with this yet but I may be posting back here about it soon. I just found a pile of LEGO Mindstorms (named after Paper's book) kits at my school and am starting to get more interested in robotics projects.
I hope there is enough here to get you started with Scratch. I would love to be in touch with more teachers using it in their classrooms and share ideas. If you email me, perhaps we can encourage our students to comment on one another's projects on the Scratch website.