These ideas are suitable for students working at National Curriculum levels, roughly KS2 and above, but aimed at all ages.

Idea description

PoS statement

1. Use Scratch to write a program to create an aquarium complete with swimming fish. Students can draw their own fish in the Costumes tab, and program them to move. They will need to add a Repeat forever command to make them move continuously so you can talk about Repetition in programs. How do they make it bounce off the sides?
You can create laminated cards with the commands on, plus symbol support, to support weaker readers, and to aid planning. You can download a Communicate: in Print document with the commands and symbols in here.

Design, write and debug programs that accomplish specific goals; use [...] repetition in programs;

2. Before you even start using Scratch on the computer, one way to introduce students to the commands is by doing what I call Real World Scratch. Print out and laminate a small selection of key commands, and then use them to program a person. Start simply, for example When this Sprite clicked > Move 10 steps. Much fun can also be had with next costume (e.g. change wigs). Then gradually introduce forever loops and if..then... statements, so that students can explore what they mean.

Use logical reasoning to explain how some simple algorithms work

3. Mr Grossman has created a number of simple Scratch programs to scaffold learning for SEN pupils. Students can investigate what the code does and modify it. You can see his list of programs here.

Design, write and debug programs that accomplish specific goals; Use logical reasoning to explain how some simple algorithms work

4. There are a number of Scratch programs created by the Sheffield eLearning Team for SEN learners to scaffold learning. These include activities where the code is provided but needs to be put in the correct order, and debugging or predicting outcomes activities. The can be found at:http://sheffieldclc.net/sen-scratch-activities/

Design, write and debug programs that accomplish specific goals; Use logical reasoning to explain how some simple algorithms work

5. Create a Bubble Sort activity: this is a sorting algorithm that compares two neighbouring values, sorts them according to e.g. height/weight/value and then moves onto the next. A computer cannot see the big picture, it can only compare two at a time. A good way to do this it to use an old-fashioned balance scale with different weights - these should look identical. For example fill opaque plastic bottles with different amounts of water or sand, or put screws in envelopes. The students can then be presented with between 5 and 10 objects to sort into order lightest to heaviest. For more able students they can talk about/write down the algorithm, and there can then be a discussion as to how efficient the algorithm is. A sensory alternative would be to fill plastic bottles with different things (sand, rice etc) and sort loudest to quietest. For an entertaining explanation of Bubble Sort, see here. This can then be compared to a Quicksort algorithm, which is more efficient.

Understand several key algorithms that reflect computational thinking (e.g. ones for sorting and searching)

6. Binary Search is a searching algorithm, and you can do some fun activities with it. Imagine Goldilocks is going on a porridge-eating spree through the forest and you need to find her and stop her. She will visit the bears' houses in order, closest to her home to furthest. You will need 7-10 images of houses, beneath which there will either be nothing, a bowl of porridge or Goldilocks. The binary search algorithm is to look under a house halfway along the route. If there is nothing there, Goldilocks has already eaten the porridge and so you know she is in one of the houses further away. If there is a bowl of porridge there, she hasn't yet visited that house and therefore will be in one of the houses nearer to her home. You can then disregard the remaining half. Repeat by looking under a house half way along the remaining section. You can read about binary search here. Obviously you can use more age-appropriate examples, for example searching for a song in an alphabetical list on an mp3 player.

Understand several key algorithms that reflect computational thinking (e.g. ones for sorting and searching); use logical reasoning to compare the utility of alternative algorithms for the same problem.

3. James Winchester has written an excellent blog post on introducing Binary Numbers, and converting from binary to decimal numbers. You can read it here.

Understand how numbers can be represented in binary, and be able to carry out simple operations on binary numbers

Teaching IdeasThese ideas are suitable for students working at National Curriculum levels, roughly KS2 and above, but aimed at all ages.

Idea descriptionPoS statementCostumestab, and program them to move. They will need to add aRepeat forevercommand to make them move continuously so you can talk aboutRepetitionin programs. How do they make it bounce off the sides?You can create laminated cards with the commands on, plus symbol support, to support weaker readers, and to aid planning. You can download a Communicate: in Print document with the commands and symbols in here.

Design, write and debug programs that accomplish specific goals; use [...] repetition in programs;Real World Scratch.Print out and laminate a small selection of key commands, and then use them to program a person. Start simply, for exampleWhen this Sprite clicked > Move 10 steps. Much fun can also be had withnext costume(e.g. change wigs). Then gradually introduce forever loops andif..then...statements, so that students can explore what they mean.Use logical reasoning to explain how some simple algorithms workDesign, write and debug programs that accomplish specific goals;Use logical reasoning to explain how some simple algorithms workDesign, write and debug programs that accomplish specific goals;Use logical reasoning to explain how some simple algorithms workactivity: this is a sorting algorithm that compares two neighbouring values, sorts them according to e.g. height/weight/value and then moves onto the next. A computer cannot see the big picture, it can only compare two at a time. A good way to do this it to use an old-fashioned balance scale with different weights - these should look identical. For example fill opaque plastic bottles with different amounts of water or sand, or put screws in envelopes. The students can then be presented with between 5 and 10 objects to sort into order lightest to heaviest. For more able students they can talk about/write down the algorithm, and there can then be a discussion as to how efficient the algorithm is. A sensory alternative would be to fill plastic bottles with different things (sand, rice etc) and sort loudest to quietest. For an entertaining explanation of Bubble Sort, see here. This can then be compared to aBubble Sortalgorithm, which is more efficient.QuicksortUnderstand several key algorithms that reflect computational thinking (e.g. ones for sorting and searching)is a searching algorithm, and you can do some fun activities with it. Imagine Goldilocks is going on a porridge-eating spree through the forest and you need to find her and stop her. She will visit the bears' houses in order, closest to her home to furthest. You will need 7-10 images of houses, beneath which there will either be nothing, a bowl of porridge or Goldilocks. The binary search algorithm is to look under a house halfway along the route. If there is nothing there, Goldilocks has already eaten the porridge and so you know she is in one of the houses further away. If there is a bowl of porridge there, she hasn't yet visited that house and therefore will be in one of the houses nearer to her home. You can then disregard the remaining half. Repeat by looking under a house half way along the remaining section. You can read about binary search here. Obviously you can use more age-appropriate examples, for example searching for a song in an alphabetical list on an mp3 player.Binary SearchUnderstand several key algorithms that reflect computational thinking (e.g. ones for sorting and searching); use logical reasoning to compare the utility of alternative algorithms for the same problem.Understand how numbers can be represented in binary, and be able to carry out simple operations on binary numbers