Scratch is a high-level, block-based visual programming language and website aimed primarily at students as an educational tool. Users on the site can create projects on the website using a block-like interface. Scratch was conceived and designed through collaborative National Science Foundation grants. Scratch is developed by the MIT Media Lab and has been translated into 70+ languages, being used in most parts of the world. Scratch is taught and used in after-school centers, schools, and colleges, as well as other public knowledge institutions. As of 15 February 2023, community statistics on the language’s official website show more than 123 million projects shared by over 103 million users, and more than 95 million monthly website visits. Overall, over 1 billion total projects have been created (including unshared projects), with the site reaching its 1,000,000,000th project in April 2024.
Scratch takes its name from a technique used by disk jockeys called “scratching“, where vinyl records are clipped together and manipulated on a turntable to produce different sound effects and music. Like scratching, the website lets users mix together different media (including graphics, sound, and other programs) in creative ways by creating and “remixing” projects, like video games, animations, music, and simulations.
Scratch is used as the introductory language because the creation of interesting programs is relatively easy, and skills learned can be applied to other programming languages such as Python and Java.
Scratch is not exclusively for creating games. With the provided visuals, programmers can create animations, text, stories, music, art, and more. There are already many programs that students can use to learn topics in maths, history, and even photography. Scratch allows teachers to create conceptual and visual lessons and science lab assignments with animations that help visualise difficult concepts. Within the social sciences, instructors can create quizzes, games, and tutorials with interactive elements. Using Scratch allows young people to understand the logic of programming and how to creatively build and collaborate.
This Scratch tutorial is for any level and covers the fundamentals of how to build a Scratch Project.