Scratch is a programming environment, based upon LOGO, which allows young programmers to easily create multimedia applications and simple games (Monroy-Hernández and Resnick 2008). Block programming eliminates the frustrations of syntax errors which afflict novices learning traditional computer programming languages. The Scratch environment allows the creation and control of graphical objects, known as sprites, which move around the screen and integration of graphics or photos and sound files to create multimedia applications.
Scratch is easily learnt by an adult in a couple of hours and children from the age of seven can be productive from the very first lesson. A typical lesson plan (Crook 2009) might require six sessions for a young programmer to learn the main programming concepts and begin creating their own games or multimedia projects.
Scratch applications are designed to be shared and the Scratch web site has thousands of applications which can be downloaded and remixed into new applications. Some applications that can be created by novice Scratch programmers are detailed below:
Scratch programming involves several IT skills and creation of a typical application might involve:
Scratch programming also involves an understanding of some of the principles of computer programming: