Teaching Scratch to pupils with special educational needs

Scratch is a wonderful tool for teaching pupils how to program their own activities, and isScratch progamming software used widely in primary schools to deliver part of the computing curriculum. The online version of Scratch can be found at https://scratch.mit.edu/, although it is recommended you download the version 2.0 of the software to your school computers so that pupils can save activities to the network. For pupils with special educational needs it may be challenging to use as it relies on a good level of literacy, and there are a large number of commands available. In this post I will outline some ways to scaffold learning, to make it accessible to all pupils, not just those with SEN.

Firstly, if you have pupils working below national curriculum levels, Scratch will not be relevant other than as a teacher tool for creating content. Here are some examples of activities you can create:

Musical cause and effect

Dinosaur Draw

You could also investigate using ScratchJnr on the iPad if available, as this uses symbols instead of words on the commands and would be accessible to pupils working at P7-8 with support.

Introducing Scratch

There are different ways of introducing the program to learners, and which one you use may depend on their particularly needs and ability:

  • Live Action Programming – Use large printed versions of a small selection of blocks (see an inPrint version here with symbol support on the reverse) to ‘program’ a pupil or teacher. For example to move, turn, say (with speech bubble), think (with thought bubble), or change costume (fake beard and glasses). All of this should be triggered by touching the Green Flag to demonstrate a simple event and modelling key language such as sprite. One issue pupils have with Scratch is that when you program a sprite to move a number of steps, you don’t see each individual step – it moves immediately to the new position. This can be modelled with a grid of small squares for the person to move around, stepping across 10 squares if directed to move 10 steps. After pupils have programmed away from the computer, they can test out their programs on the software – having had an introduction to the interface.
  • Tinkering – Provide pupils with a ready-made activity to explore. Ask them to explain what different Events mean, e.g. clicking the green flag, clicking the sprite, pressing the space bar. You can then look at the code together and discuss what different blocks do or simply let pupils tinker with the activity, changing the number of steps, what a sprite says etc. Model how to change the sprite whilst keeping the code. Example – Boy and Butterfly
  • Starting from Scratch! – Starting with a blank project may be the hardest option for pupils, and it needs careful managing so that pupils don’t get distracted by the large number of commands. Introduce how Scratch works and the main parts of the interface, then investigate a reduced set of commands – these coule be made available as printed versions. Provide a series of small challenges for pupils using only these commands, e.g. make the sprite move / make it turn / make it say something / change the colour of the sprite etc. Pupils can then combine these commands to make their own activity. Example – Crabbing Around –  you need to include the wait command to be able to see each individual movement in turn.

Consolidating Understanding:

The above strategies can be used to introduce any new concepts and command blocks for more complex activities. Combine with the following to help consolidate understanding:

  • Scaffolded activities – Provide an activity with some of the code completed, and a number of options for a the final command to complete the code and make it work, then extend. Example – Aquarium – complete the code. You can also provide activities with all of the code broken up in the editor ready to be put together in the correct order. Use comments (right-click on a block to add) to help guide pupils. Example – Etchasketch SEND example. This is useful as it reduces the set of commands pupils are working with.
  • Predict outcome – Show the code for a completed activity and ask pupils to predict what it will make the sprite do. This is useful for introducing new concepts, checking understanding of key commands, and also for modelling computing vocabulary as you talk about an activity. Example – Animal Menagerie
  • Debugging – Provide pupils with a completed activity that doesn’t work and ask them to identify and correct the error or add any missing code. This can be done as a whole-class activity or in pairs. Teaching pupils to recognise common errors together can help them to debug their own programs in the future. Examples – Beetle Debug (simple motion commands) / Debug: Musical Stars (play note/costume commands)

Scratch example - musical debugging activity

Make your own blocks:

For less able pupils who are struggling with the text, you can practise simple sequencing using the following activities. They include some bespoke blocks, with symbols, using the ‘More Blocks’ option where you can create your own blocks that hide some of the complexities of Scratch – click on More Blocks to see them:Example of readymade blocks for drawing


For more examples of Scratch activities, see our resource page here. Finally there are a large number of resources created by the Scratch team, with tutorials, activity guides and educator guides at https://scratch.mit.edu/tips.

If you need a comprehensive, flexible scheme of work for Computing for pupils with special educational needs, please see our SEND Computing Scheme of Work page for more information.

Comments are closed.