Scratch Not To Be Sniffed At!
Written by Lucy Black   
Monday, 24 May 2010

How do you start to teach children how to program? One possibility is Scratch, a language designed to get very young children into programming. Last Saturday (22 May) was Scratch day - so what's it all about?



Scratch is a computer language designed by the MIT Media Lab, where Seymour Papert and Marvin Minsky did their ground breaking work, and first released in 2007.


The language and its  environment are free to download and distribute and works under Windows, Mac OS X or Linux (specifically Ubuntu). If you have ever used or played with a Lego Mindstorms kit then you will recognised the approach to the problem of making programming easier because Mindstorms' language was a forerunner of Scratch. There is also an hardware device that extends Scratch into the world of embedded programming - PicoBoard.  You can even use Scratch with the Lego WeDo Robotics kits.


Scratch is a visual programming language -  a real visual programming language, nothing to do with Visual Studio or any of Microsoft's uses of the term. You build a program by manipulating programing blocks on the screen. You "wire" the blocks up by placing them together and customise what they do by entering values into slots. Blocks have different colors and shapes and only fit together in fairly obvious ways thus reducing the syntax and grammar of the language to a visual metaphor - which is geek speak for "if the blocks don't fit then it's not meant to be". Programs are simply stacks of customized blocks.



The basic environment is inherently multi-threaded with different objects communicating by message passing - which is of course a natural environment for robotics. There are looping and conditional blocks but it really is an event-driven system. 

As well as good documentation and books to get the beginner started, there is also an active community. Scratch programs are uploaded directly to the website and users can collaborate and interact as they learn. There are also design studio challenges to stimulate the creation of new projects. At the current moment the website is showing 1,061,687 projects, including many new installations of classic games which run in a browser window. Users can also post and swap sprites for use in other projects.



It is difficult to understand Scratch unless you have tried a similar visual language like Lego Mindstorms, but you can easily make up for the lack of a rounded childhood by downloading the system and trying it out. Just don't expect to be writing any code.

More info and downloads from:

Related article:

Hello World! Computer Programming for Kids and Other Beginners

A Programmer's Guide to Scratch 2

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, Facebook or Linkedin.



COVID Results Skewed By Faulty Data Import

The official number of coronavirus cases in the UK has been under-reported by 16,000 during recent days - because of a data import error. In addition to the figures being skewed, people who had tested [ ... ]

Apache Arrow 2 Improves C++ and Rust Support

There's a new release of Apache Arrow with improvements to the support for C++ and Rust, particularly in support for Parquet.

More News





or email your comment to:





Last Updated ( Thursday, 16 April 2020 )