Scratch is a free programming language and online community from the Massachusetts Institute of Technology (MIT) where children can learn about programming and develop computational thinking by creating interactive stories, games, and animations (http://scratch.mit.edu).
New programming languages, such as “Scratch”, and tools (for example, Raspberry Pi) have been developed since much of the research in computing and mathematical learning was undertaken. Scratch is based on graphical programming blocks that can be assembled to create programmes. The appearance of the blocks are related to their function and meaning. Scratch is highly interactive allowing for changes to be made to programmes whilst they are running. The scripting area is modelled on a physical desktop to encourage ‘tinkering’. Scratch is designed to interface with multimedia allowing for applications that are meaningful to learners.
Scratch has a large active established community which include thousands of children (and adults) who have shared millions of Scratch projects online. Many schools are choosing to use the Scratch programming environment as part of the new Primary computing curriculum and there many resources and existing projects that can be used as starting points. The MIT team themselves have created some of these resources, which include a site specifically for educators and information for parents as many children are keen to carry on developing their school projects in Scratch at home.
Whilst Scratch is a development of earlier programming languages designed as learning environments, it represents a significant development. Thus, there is both an opportunity and a need to design and evaluate curricula and professional development programmes that can maximise the benefits of programming for students’ mathematical thinking and attainment in the current context. This is the intention of the ScratchMaths project.