Third party cookies may be stored when visiting this site. Please see the cookie information.

PenguinTutor YouTube Channel

Scratch programming tutorials and guides

Scratch is a graphical block based programming language. It's designed for children as it allows them to learn programming without needing to memorise the correct words or syntax. It is also useful for those wanting to get started with programming or wanting to try graphics programing.

These guides are mainly intended for older children and adults. They cover a number of different concepts and techniques which may be better split into smaller guides when teaching younger children.

The current version of Scratch is version 3 which works well through a web browser. If you would like to interact with electronics on a Raspberry Pi then at the moment you should use Scratch version 2.

Scratch Version 3

Scratch version 3 released in 2019 can be run in a web browser or using the offline version. It is designed in HTML 5 and so no longer needs the flash plug-in.

Programming in Scratch version 3 on Linux

You can access Scratch through a web browser such as Firefox (Internet Explorer is no longer supported), or download the offline version to run directly on your local computer. See the Scratch website for more details.

Scratch Version 2

Scratch 2 has now been replaced by the improved Scratch 3, however many of the materials available are still designed for Scratch 2 which is also included on the Raspberry Pi computer. You will also need to use Scratch 2 for controlling electronics on the Raspberry Pi. The following presentations and tutorial guides are still available.

Programming in Scratch on Ubuntu Linux

Training presentation - Scratch for primary school teachers (Scratch version 2)

Teaching guide - Practical programming using Scratch for primary school teachers

Quiz game for Scratch version 2

Scratch version 2 game

Space Asteroids

Also see my space asteroids game for an example of physical computing using Scratch 2.

Blog links and videos on programming

Previous Introduction to API
Introduction to API
Next Scratch for primary school teachers
Scratch for primary school teachers