© ICT Inspires Ltd. 2014 All rights reserved.
Programming Toolkit Version 1.00
Key Stage 1
SAMPL
E ONL
Y
Programming Toolkit - Overview
Year Controlling and Sensing Programming Computational Thinking Debugging
R Exploring different ‘interfaces’ and using ICTs with some purpose
1 Unit 1a: Giving instructions Unit 1b: Having a plan Unit 1c: Understanding algorithms
Unit 1d: Did I miss something out?
2 Unit 2a: Planning and testing a route
Unit 2b: From goal to algorithm Unit 2c: From algorithm to program
Unit 2d: Why doesn’t it work?
3 Unit 3a: Executing a program (inputs and outputs)
Unit 3b: Sequence and Repetition
Unit 3c: Developing a ‘code library’
Unit 3d: Can we fix it?
4 Unit 4a: Ending a program (inputs and outputs)
Unit 4b: Repetition and Selection
Unit 4c: Having a ‘goal’ Unit 4d: Making improvements
5 Unit 5a: Inputs, Outputs and Variables
Unit 5b: Event Programming (selection, repetition, inputs, outputs and variables)
Unit 5c: Decomposition Unit 5d: Which bit does what?
6 Unit 6a: Physical systems and Simulations
Unit 6b: Showcasing your skills and extending them further (a text-based language?)
Unit 6c: Abstraction and Generalisation
Unit 6d: Debugging as a process – developing logical thinking and problem solving skills
SAMPL
E ONL
Y
Programming Progression by Unit - Success Criteria Unit 1a - Giving instructions
o I understand that in giving instructions I have to be clear and precise.
o I understand that instructions can take lots of different forms (e.g. spoken, written, diagrams or
symbols).
o I can give and follow simple instructions (e.g. up to five steps).
Unit 1b – Having a plan
o I understand that if I want to hatch a plan I need to have a goal or aim first.
o I understand that if I am to achieve my goal the plan needs to be clear and precise.
o I can give and follow simple instructions (e.g. up to five steps).
Unit 1c – Understanding Algorithms
o I recognise that an algorithm is a set of instructions (or a plan!) designed to achieve a specific
goal.
o I understand that an algorithm needs to be clear, precise and efficient.
o I understand that an algorithm can take lots of different forms (e.g. spoken, written, diagrams or
symbols).
Unit 1d – Did I miss something out?
o I recognise that an algorithm is a set of instructions (or a plan!) designed to achieve a specific
goal.
o I understand that an algorithm needs to be clear, precise and efficient.
o I can debug simple algorithms.
Unit 2a – Planning and testing a route
o I can use logical reasoning to predict the behaviour of simple programs.
Unit 2b – From goal to algorithm
o I understand what algorithms are, how they are implemented as programs on digital devices, and
that programs execute by following precise and unambiguous instructions.
Unit 2c – From algorithm to program
o I can use logical reasoning to predict the behaviour of simple programs.
Unit 2d – Why doesn’t it work?
o I can create and debug simple programs.
o I can use logical reasoning to predict the behaviour of simple programs.
Unit 3a – Executing a program (inputs and outputs)
o I understand and can use the key vocabulary (input, output, execute).
o I can recognise inputs and outputs in a programming context.
Unit 3b – Sequence and Repetition
o I understand and can use key vocabulary (sequence and repetition).
o I can recognise sequence and repetition in a programming context.
SAMPL
E ONL
Y
Unit 3c – Developing a ‘code library’
o I recognise that it is common practice amongst programmers to develop a ‘code library’.
o I have developed a personal ‘code library’ of useful code snippets.
Unit 3d – Can we fix it?
o I can use the debugging process and logical reasoning to fix programs.
Unit 4a – Ending a program (inputs and outputs)
o I can recognise and use inputs and outputs in a programming context.
Unit 4b – Repetition and Selection
o I can recognise and use inputs and outputs in a programming context.
o I can recognise and use repetition in a programming context.
o I can recognise and use selection in a programming context.
Unit 4c – Having a ‘goal’
o I can design, write and debug programs that accomplish specific goals, including controlling or
simulating physical systems.
Unit 4d – Making Improvements
o I can design, write and debug programs that accomplish specific goals, including controlling or
simulating physical systems.
Unit 5a – Inputs, Outputs and Variables
o I can recognise variables and various forms of input and output and I am beginning to work with
them with purpose.
Unit 5b – Event Programming (selection, repetition, inputs, outputs and variables)
o I can design, write and debug programs that accomplish specific goals, including controlling or
simulating physical systems.
o I can use sequence, selection, and repetition in programs and work with variables and various
forms of input and output.
Unit 5c – Decomposition
o I can design, write and debug programs that accomplish specific goals, including controlling or
simulating physical systems, solving problems by decomposing them into smaller parts.
o I can use sequence, selection, and repetition in programs and work with variables and various
forms of input and output.
Unit 5d – Which bit does what?
o I can debug programs that are designed to accomplish specific goals, including controlling or
simulating physical systems.
Unit 6a – Physical systems and Simulations
o I can design, write and debug programs that accomplish specific goals, including controlling or
simulating physical systems and solve problems by decomposing them into smaller parts.
o I can use sequence, selection, and repetition in programs and work with variables and various
forms of input and output.
o I can use logical reasoning to explain how some simple algorithms work and to detect and correct
errors in algorithms and programs.
SAMPL
E ONL
Y
Unit 6b – Showcasing your skills and extending them further (a text-based language?)
o I can design, write and debug programs that accomplish specific goals, including controlling or
simulating physical systems and solve problems by decomposing them into smaller parts.
o I can use sequence, selection, and repetition in programs and work with variables and various
forms of input and output.
o I can use logical reasoning to explain how some simple algorithms work and to detect and correct
errors in algorithms and programs.
Unit 6c – Abstraction and Generalisation
o I can design, write and debug programs that accomplish specific goals, including controlling or
simulating physical systems and solve problems by decomposing them into smaller parts.
o I can use sequence, selection, and repetition in programs and work with variables and various
forms of input and output.
o I can use logical reasoning to explain how some simple algorithms work and to detect and correct
errors in algorithms and programs.
Unit 6d - Debugging as a process – developing logical thinking and problem solving skills
o I can design, write and debug programs that accomplish specific goals, including controlling or
simulating physical systems and solve problems by decomposing them into smaller parts.
o I can use sequence, selection, and repetition in programs and work with variables and various
forms of input and output.
o I can use logical reasoning to explain how some simple algorithms work and to detect and correct
errors in algorithms and programs.
SAMPL
E ONL
Y
Programming Toolkit Unit 2b
1
From goal to algorithm
Learning Objectives
to understand what algorithms are, how they are implemented as programs on digital devices,
and that programs execute by following precise and unambiguous instructions
Success Criteria
I understand what algorithms are, how they are implemented as programs on digital devices, and
that programs execute by following precise and unambiguous instructions.
Key Points
An algorithm is a set of instructions (series of commands) that helps you to achieve a goal.
Before writing an algorithm a programmer needs to know what that goal is.
Often a programmer names an algorithm in a way that describes its goal e.g. ‘To draw a square’
Key Vocabulary
algorithm: a precisely defined procedure – a sequence of instructions, or a set of rules, for
performing a specific task or goal
Background Information
In this session we are going to use the ‘Routes’ from Unit 2a to develop text-based algorithms. These
algorithms must be clear, precise and efficient.
Cross-curricular Links
English – writing composition (planning before writing, making simple revisions)
English – writing VG&P (commands, subordination e.g. if, because)
Mathematics – units of measure, 2D shapes, position, direction and movement
SAMPL
E ONL
Y
Programming Toolkit Unit 2b
2
Session 1 – Routes
Introduction
Revisit the task in Unit 2a. What shapes did each of the routes program the device to draw?
Main Activities
class – establish that Route 1 drew a square Invite children to say, if they were going to write out
that route as an algorithm (a set of instructions) what sort of words might they use? What might
they call the algorithm?
group/pair/individual – write out and name the algorithms for Routes 1 and 2 and check them
with a friend or talk partner
Homework
test their parent/carer – can they write algorithms for Routes 1 and 2? How about a more complex
route e.g. a set of stairs?
Support and Extend
support – provide scaffolding e.g. word bank, adult support and lots of practise; ‘being’ the robot
can help children who are struggling to program a device or to plan a route
extend – invite pupils to see if they can make ‘To draw a square’ (or ‘To draw stairs’) even more
efficient (e.g. by adding a repeat)
Resources Required
‘Routes’
tools for recording their algorithms
SAMPL
E ONL
Y
www.ictinspires.co.uk Copyright 2014 ICTinspires Ltd. All rights reserved
Creativity, engagement and impact
ICTinspires Programming Toolkit Unit 2a
Route 1 Route 2
CLEAR
GO
CLEAR
GO
SAMPL
E ONL
Y
www.ictinspires.co.uk Copyright 2014 ICTinspires Ltd. All rights reserved
Creativity, engagement and impact
ICTinspires Programming Toolkit Unit 2d
fd 3
rt 90
fd 1
fd 1
rt 90
fd 3
lt 90
fd 1
bk 3
rt 90
fd 3
lt 90
fd 3
rt 90
fd 1
SAMPL
E ONL
Y
Programming Toolkit Unit 2d
1
Why doesn’t it work?
Learning Objectives
to create and debug simple programs
to use logical reasoning to predict the behaviour of simple programs
Success Criteria
I can create and debug simple programs.
I can use logical reasoning to predict the behaviour of simple programs.
Key Points
Being able to predict the behaviour of simple programs is a key element for both designing and
debugging.
Programmers need to learn to ‘step through’ a program a) to see if it will work and b) when
looking for a bug.
When debugging logical reasoning is required.
Key Vocabulary
algorithm: a precisely defined procedure – a sequence of instructions, or a set of rules, for
performing a specific task or goal
program: a precisely defined procedure – an algorithm , or a set of rules, for performing a
specific task or goal written in language that a computer/device/software can understand and
execute
logical reasoning: if you use what you know about something to predict how it will act in the
future you are using logical reasoning. Logic is all about using evidence and thinking things
through. Detectives and scientists use logical reasoning to help them use evidence to solve
problems and find answers.
Background Information
For some children this unit will be very challenging. They will need to have lots of practical experience
of ‘stepping’ through algorithms and programs. The programming grid with cut-outs should be used like a
game board with counters (you may want to laminate copies). The ‘two-headed monster’ is the
character that is programmed to travel a route defined by the other cut-outs. It is best that the route is
simple to start with but later more complex routes can be created.
We recommend the algorithm is written in proper English as sentences and the program is written using
MSW Logo commands.
In Session 2 we are looking for mistakes in example algorithms and programs (see
debugging_routes_correct.pdf).
Cross-curricular Links
English – writing composition (planning before writing, making simple revisions)
English – writing VG&P (commands, subordination e.g. if, because)
Mathematics – units of measure, 2D shapes, position, direction and movement
SAMPL
E ONL
Y
Programming Toolkit Unit 2d
2
Session 1 – Programming a route
Introduction
Show the grid and ‘cut-outs’ (programming_grid.ppt) and explain the task.
Main Activities
class – model a simple route writing it as an algorithm (with the children) in sentences and then
as program (again with the children) using MSW Logo commands, ‘stepping through’ to check the
algorithm and program are correct
group/pair/individual – use the photocopied grid and ‘cut-outs’ to repeat the modelled activity
starting with simple routes and gradually making them more complex
Homework
take a copy of the programming_grid.pdf home and try it out with parents/carers
Support and Extend
support – provide scaffolding e.g. adult support
extend – invite pupils to try each others’ out as ‘testers’
Resources Required
programming_grid.ppt
programming_grid.pdf
scissors
tools for recording algorithms and programs
SAMPL
E ONL
Y
Programming Toolkit Unit 2d
3
Session 2 – Debugging
Introduction
Revisit the task in Session 1, reminding the children that they had to ‘step through’ the algorithms and
programs to check they worked.
Main Activities
class – explain that the writer of these algorithms and programs (debugging_routes.pdf) was not
so careful and made lots of mistakes. Challenge the children to locate the bugs and to correct the
programmer’s work.
group/pair/individual – correct the routes on the photocopied sheets (debugging_routes.pdf)
Homework
take a copy of the debugging_routes.pdf home and try it out with parents/carers
Support and Extend
support – provide scaffolding e.g. adult support
extend – invite pupils to test the newly debugged routes using MSW Logo
Resources Required
debugging_routes.pdf
SAMPL
E ONL
Y