Scratch is open source software developed at the MIT Media Labs to enhance programming skills and creative potential for young learners. Scratch can be downloaded easily from the Scratch Home Page and provides a shared space for anyone to post their completed creative project. Additionally, learners can also see as well as access the code for displayed projects which enables knowledge transfer and other Scratch programmers to pickup hints on how to create an effect. It is an effective way to instruct younger learners to use basic programming skills to author "fun" projects that involve animation, repetitive movement, sound, and design effects. Scratch projects are submitted from around the world and can be displayed in galleries that combine themes and shared concepts. At last count, April 10, 2010, there were over 956,114 projects displayed in the galleries which can be browsed at http://scratch.mit.edu/galleries
Due to Scratch being open source software, it can be utilized within formal education. Therefore, the Scratch website also contains resources for educators interested in using Scratch to help them find ways to incorporate the software into their instruction.
Once the free software is downloaded, a first-time user will open Scratch and find a Scratch sprite displayed at the lower right of the screen. This is a default character for the action that will be programmed and this sprite can be exchanged for any number of other images or even a random, surprise sprite. Likewise the default background for the action, or background stage, can be substituted with another image. The area for program code itself can be found to the far left and this is created by dragging preset "blocks" or instructions over to this work area and allowing them to "lock" into place, one above another, creating the script for the sprite. Within the interlocking blocks themselves any of the numeric variables can be easily changed to repeat an action a number of times for example, or to alter the position of the main sprite on the screen using the x and y axis.
The script contains code for such actions as sprite movement, sound, duration of activity and image appearance. Without separating the blocks of code from the script, variables can be changed to alter the actions of the sprite. This feature allows for programmers to easily view how a change in variables affects what the sprites do while the script is running.
One of the unique features of Scratch is its ability for the final product to be interactive. Within the code options, users can insert code that will allow for them to record sound, for example, and have the sound played, once the program is running, when a sprite is clicked with the mouse. With this feature, and others like it, users can create games that allow for players to interact with the program, not just from a design angle, but also with the finished product itself.
Creating and running a Scratch program is something an 8 year old can accomplish with a little bit of effort and Scratch can introduce basic programming concepts to learners as young as age 10 thereby supporting basic computer literacy skills.
I offer this because my 7 year old grandson literally had a first-time project up and running within 30 minutes after a few basic instructions from me. Clearly, the Media Lab researchers accomplished their goal of revealing basic programming skills, and instruction, to very young learners with minimum fuss.
Should users need assistance in creating their Scratch project, the Scratch site offers a wealth of helpful information ranging from discussion boards, sample projects, FAQs and video tutorials on using features of the software.
Once users create a Scratch account with password, they are also able to download any of the scripts that already exist for projects in the gallery, and this is often an easy method for seeing how to create a unique effect that another user has already demonstrated. It is not considered good Scratch etiquette to download another user's entire project and rename it as your own.
Applications of ScratchEdit
Scratch has a variety of ways it can be used from classrooms with students to adults in a business setting. The following sections are just a sample of how Scratch might show up in people's lives.
Scratch's ability to allow students from around the world to explore modular programming in an easy, productive way supports growth in thinking logically the way real programmers do. It supports individual creativity in building interactive games, that may contain music and videos, in a productive activity that provides immediate feedback. By clicking on the green "Go" flag at the top right of the script to start, the project will run the scripts and display the actions in the stage area within seconds. By clicking on the red "Stop" button placed at the end of the block instructions, they can abort any action that immediately shows they have not programmed it exactly the way they wish yet.
This concept of immediate feedback permits students to stay engaged and move at a pace that suits their needs. Scratch's use, when studied in Computer Clubhouses, confirms the engaging nature of the program as well as the result of students learning computer programming even though that wasn't the goal of their use of Scratch (Jonassen, Howland, Marra, & Crismond, 2008). This immediacy also enables students to not only experiment with creating projects, but also to quickly arrive at finished projects that they can be proud to post.
Students of any discipline could use Scratch within the classroom. Besides the obvious computer programming skills Scratch helps students learn, Scratch also incorporates math in terms of how sprites move. Students can control how their sprites function on the screen by manipulating their x and y axis positions. For the language arts, science and social studies classrooms, the subject matter of students' creations could be geared toward the respective disciplines (at a minimum) which would still provide students with the opportunity to learn the required curriculum elements but incorporate programming as well. Re-enactments of historical moments, stories relating to curriculum topics, could also be designed in Scratch. Since Scratch allows for music and the recording of original sounds, it obviously applies very directly to music courses as well. Yet another application might be for an art class since Scratch users can design their own sprites and manipulate the appearance of existing designs.
Teachers can also use Scratch to present materials to parents and teachers. The following is a project in process that I made for parents to be able to click on and view at the Open House night where I work: ALK308 Scratch Project. Teachers needing helping can visit ScratchEd for assistance with how to implement the technology into the classroom and for general resources to help them with the tool. Discussion boards are even available for fellow interested educators to communicate with one another directly on their use of Scratch.
Like the research in Jonassen, et al. (2008) shows, students enjoy working with Scratch. Therefore, since the program is free to download, students could obtain the program for their home computers as a means of entertainment that is teaching them something simultaneously. This recreational practice would be an ideal way for kids to spend time in a productive but fun environment as opposed to some other alternatives students seek on the Internet. As a matter of fact, some of the research done with Scratch shows that urban students, ages 8-18, enjoyed utilizing Scratch after school hours (Maloney, J., Peppler, K., Kafai, Y., Resnick, M., & Rusk, N., 2008). 
In terms of other recreational uses, people involved in community activities could utilize Scratch as a way of presenting information to the public in an engaging way (interactive information provided at a stand in a shopping mall for example). For example, organizations like the Girl Scouts/Boy Scouts could use Scratch when they're advertising what they have to offer to the public.
An example of an entertainment or fun scratch project can be found at WAB6 Scratch Project
Businesses could use Scratch as an alternative to other forms of presenting information, particularly in training employees on business policies or other less exciting necessities. Its interactive capabilities and animation could add some interest value to adults with information that might not be interesting otherwise.
Scratch allows users to post projects online, free of charge, and even group them by a particular category name, which would be an asset to any business who would want to use Scratch. Their work would be easily shared with people across the world. Also, sharing of information could be done from home making particular trainings, like those mentioned above, not necessarily something that would need to occur within the workplace.
- Jonassen, D., Howland, J., Marra, R., & Crismond, D. (2008). Meaningful learning with technology. Upper Saddle River, NJ: Pearson, Prentice Hall.
- Maloney, J., Peppler, K., Kafai, Y., Resnick, M., and Rusk, N. (2008). Programming by choice: Urban youth learning programming with Scratch. Retrieved from http://info.scratch.mit.edu/Research.