Scratch (programming language)
Scratch is a visual, event-driven programming language developed by the MIT Media Lab, aimed primarily at teaching programming to young people, especially those aged eight to sixteen. Released in 2007, Scratch allows users to create animations, games, puzzles, and interactive presentations using visual objects called sprites, which can be designed within the platform or imported from external sources. The language promotes a hands-on, playful approach to learning, grounded in the educational theory of constructionism, which emphasizes learning through creation and experimentation rather than traditional reading and lectures.
Scratch encourages a collaborative community atmosphere, where users are invited to "remix" and build upon each other's projects, reflecting the slogan "Imagine, Program, Share." The platform is designed to facilitate a gradual transition to more complex programming languages such as Java, Python, or Ruby. With an integrated sprite editor and a library of pre-existing sprites, Scratch makes programming accessible and engaging for beginners. Additionally, ScratchJr, a simplified version for younger children, was launched in 2014. As of 2024, over one billion projects have been created using Scratch, highlighting its popularity and impact on digital learning.
On this Page
Subject Terms
Scratch (programming language)
Scratch is a visual, event-driven programming language developed at the Massachusetts Institute of Technology (MIT) Media Lab and released to the public for free with few restrictions. Scratch uses visual objects called sprites, either created in Scratch’s included editor or imported from other files or a webcam, in order to create animation, games, puzzles, visualizations, interactive presentations, and other visually driven multimedia programs. Scratch is primarily intended as a teaching tool, and is equally useful as a beginner’s programming language for students or as a simple programming language for teachers to use to create educational tools, programs, and presentations for use in their classes.
![By LLK group / Scratch Team (https://scratch.mit.edu) [CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0)], via Wikimedia Commons 113931303-115601.jpg](https://imageserver.ebscohost.com/img/embimages/ers/sp/embedded/113931303-115601.jpg?ephost1=dGJyMNHX8kSepq84xNvgOLCmsE2epq5Srqa4SK6WxWXS)
Overview
The MIT Media Lab is a research laboratory at the Massachusetts Institute of Technology (MIT), founded in 1985 and known for its interdisciplinary work and technological social engagement efforts (the One Laptop per Child nonprofit grew out of a Media Lab project, for example). The Media Lab is divided into several working groups. Scratch was designed by Mitchel Resnick, director of the Media Lab’s Lifelong Kindergarten group, which focuses on projects inspired by kindergarten-style play such as wooden blocks and finger painting. Kindergarten-style learning is based on play and exploration, driven not by reading and lectures but by designing, creation, expression, and experimentation. Scratch was designed as a programming language meant to both teach programming through this style of learning and facilitate the creation of other learning tools in this style.
The underlying educational theory behind Scratch’s design is constructionism, which says that learning involves students assembling mental models as a strategy for understanding the world—itself an extension of developmental psychologist Jean Piaget’s constructivist theory, describing the way children learn through experience. Scratch was developed for young people, especially students aged eight to sixteen, and after several years of development by the Media Lab and the consulting company Playful Invention Company, it was launched publicly in 2007.
"Scratching" is a programming term meaning to reuse existing code for a new purpose and is derived from the practice of record-scratching in turntablism. The Scratch community encourages users to "remix" programs by downloading projects from public spaces and combining them with others, or using parts of them in different combinations and contexts. The language was designed with the online community in mind, and the slogan "Imagine, Program, Share," emphasizes both the play philosophy and the remixing and communal-collaborative nature of Scratch. The official Scratch website hosted by the Media Lab puts up frequent design studio challenges to stimulate creativity and communication in the community.
By default, Scratch is organized with a stage area on the left-hand side of the screen that shows the results of the program in process. In addition to the sprite editor built into the program, Scratch comes with a library of sprites that also stores previously created sprites. New sprites can be imported from files, clip art, or photos taken with cameras. The conventions of the language are designed to ease the transition from Scratch programming to programming in languages such as Java, Python, or Ruby.
Resnick also collaborated on ScratchJr, released in 2014. Inspired by Scratch, it is a simpler programming language intended for younger children and released as a free app for iOS in 2014, Android in 2015, and Chromebooks in 2016. More than one billion projects had been created using Scratch by 2024.
Bibliography
"10 Sparks That Lit the Flame of Scratch." MIT Open Learning, 12 May 2022, openlearning.mit.edu/news/10-sparks-lit-flame-scratch. Accessed 22 Nov. 2024.
"About Scratch." Scratch. MIT Media Lab, 2016. Web. 23 Aug. 2016.
Benson, Pete. Scratch. Ann Arbor: Cherry Lake, 2015. Print.
Kafai, Yasmin B., and Quinn Burke. Connected Code: Why Children Need to Learn Programming. Cambridge: MIT P, 2014. Print.
Marji, Majed. Learn to Program with Scratch: A Visual Introduction to Programming with Games, Art, Science, and Math. San Francisco: No Starch, 2014. Print.
Sweigart, Al. Scratch Programming Playground: Learn to Program by Making Cool Games. San Francisco: No Starch, 2016. Print.
Van Pul, Sergio, and Jessica Chiang. Scratch 2.0 Game Development. Birmingham: Packt, 2014. Print.
Woodcock, Jon. Coding Games in Scratch. New York: DK, 2016. Print.