Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Here you can find everything you need to support your journey with Rapid Router including solutions for KS1, KS2 and KS3.
The menu on the left-hand side is our space that holds guides, teaching materials and lesson plans to help you teach using Rapid Router. You need to click on the top navigation bar to view all of your options.
Key stage 1 resources can be found here
Key stage 2 resources can be found here
Key stage 3 resources can be found here
Key stage 4 resources can be found through Kurono
A precise step-by-step set of instructions to solve a problem or complete a specific task.
A picture or cartoon, for example this could be a favourite character that you use to represent yourself online. It is sensible to protect your privacy by not using a recognisable photo of yourself.
A data type with only two values, TRUE or FALSE.
Identifying and correcting the errors in a computer program.
Decomposition is breaking a problem into smaller manageable chunks that can be solved individually. This might mean creating ‘sub-programs’ or procedures that contain the code for a particular part of the task.
Data put into a computer system, for example through the keyboard, mouse, microphone, or other sensors connected to the computer.
A systematic approach to solving problems using a set of consistent rules that apply to the system. For example, when fixing a bug in their Rapid Router program, children might apply the rules they have learnt about the way repeat loops work in this app.
The information produced by a computer system for the user, for example on a screen, printer, through speakers.
A set of programming instructions carried out in a specific and consistent order every time.
A self contained sub program, also called a subroutine, to which you give a unique name, that can be used or ‘called’ by the main program multiple times. Both a function and a procedure can accept inputs.
A function sends information back into the main program, whereas a procedure does not. A multiplication function might, for example, have two number inputs and return an answer to the main program.
A set of instructions encoded in a programming language understood by the computer.
(A program is also an algorithm, but not all algorithms are programs e.g. a recipe in English is an algorithm but it is not a computer program).
A feature of a programming language where sections of code are repeated. This can be a fixed number of times, or until a condition is met (Rapid Router example: repeat 5 times, repeat until at destination).
A feature of a programming language where a choice is made. The instructions followed depend on whether a particular condition is met (Rapid Router example: if traffic lights red, wait).
A general term, also called a subprogram, for a function or procedure.
A programming structure that contains data (often numbers or text) and can change or be changed. Variables are used to keep score in computer games, and in Rapid Router to store the colour of the traffic lights.
Key stage | Scottish national curriculum – the technology strand | Rapid Router coding vocabulary | Progression through teaching resources |
---|---|---|---|
Some definitions are adapted from where you can find additional explanations of computing terms.
Early Level
(Key stage equivalent: KS1)
• I can explore computational thinking processes involved in a variety of everyday tasks and can identify patterns in objects or information. TCH 0-13a
• I understand that sequences of instructions are used to control computing technology. TCH 0-14a
• I can develop a sequence of instructions and run them using programmable devices or equivalent. TCH 0-15a
• Algorithm
• Program
• Debug
Sequence instructions:
• Move forwards
• Turn left
• Turn right
Rapid Router levels 1 to 16:
• Creating algorithms for physical movement
• Controlling van on screen app using movement commands
• Working out the shortest route to a destination
First Level
(Key stage equivalent: KS2)
• I can explore and comment on processes in the world around me making use of core computational thinking concepts TCH 1-13a
• I understand the instructions of a visual programming language and can predict the outcome of a program written using the language. TCH 1-14a
• I can demonstrate a range of basic problem-solving skills by building simple programs to carry out a given task, using an appropriate language. TCH 1-15a
• Algorithm
• Program
• Debug
Sequence instructions:
• Move forwards
• Turn left
• Turn right
Repetition:
• Repeat x times
Rapid Router levels 17 to 28:
• Understanding the repeat function
• Creating and evaluating their own challenges and programs using the code skills learnt
Second Level
(Key stage equivalent: KS3)
• I can explain core programming language concepts in appropriate technical language. TCH 2-14a
• I can create, develop and evaluate computing solutions in response to a design challenge. TCH 2-15a
• Algorithm
• Program
• Debug
Sequence instructions:
• Move forwards
• Turn left
• Turn right
• Wait
Repetition:
• Repeat x times
• Repeat until
Selection:
• If... do...
• If... else if...
Rapid Router levels 19 to 28 (recap):
• Understanding the repeat function (recap)
• Creating and evaluating their own challenges and programs using the code skills learnt
Rapid Router levels 29 to 43:
• Use the core programming commands appropriately in a visual language
• Understand the repeat while command
• Decompose the programming task into smaller parts
Third / Fourth Levels
(Key stage equivalent: KS3)
• I understand language constructs for representing structured information TCH 3-14a
• I can informally compare algorithms for correctness and efficiency. TCH 4-13b
• Algorithm
• Program
• Debug
Sequence instructions:
• Move forwards
• Turn left
• Turn right
• Wait
Repetition:
• Repeat x times
• Repeat until
• Repeat while
Selection:
• If... do...
• If... else if...
Variables:
• Traffic lights are red/green
Rapid Router Levels 44–67:
• Use the core programming commands appropriately in a visual language
• Understand the repeat while command
• Decompose the programming task into smaller parts
• Identify sections of code which can be used several times and write a procedure for that section
• Use repeat loops within procedure
Third / Fourth Levels
(Key stage equivalent: KS3
• I understand language constructs for representing structured information TCH 3-14a
• I can informally compare algorithms for correctness and efficiency. TCH 4-13b
• I understand constructs and data structures in a textual programming language TCH 4-14a
• Algorithm
• Program
• Debug
Sequence
instructions:
• v.move_forwards()
• v.turn_left()
• v.turn_right()
• v.wait()
Repetition:
• for count in range(3)
Selection:
• If ... :
• elif … :
• else :
Procedures:
• Define – def procname():
• Call – procname()
Variables:
• length = 10
• length = length +5
Rapid Router Levels 68–109:
• Develop an initial understanding of Python as a text based language
• Understand that Python has precise syntax
• Identify characteristics of Python and compare this with Blockly
• Use and understand the movement instructions in Python code
• Use and understand repeat loops in Python (for count in range (n))
• Create the core program in visual Blockly and understand it in Python code
• Understand how the syntax of selection statements works in Python
• Understand Python while, if , elif , else commands
• Analyse how procedures work in Python (extension)
• Write code in Python without the support of Blockly
• Write simple programs in Python using code for simple movement e.g. v.move_forwards()
• Use the print command in Python (not available in Blockly)
• Debug their Python programs, demonstrating an understanding of the appropriate syntax
• Use indents correctly in Python
• Use the Repeat loop … for count in range (n):
• Design and write programs independently in Python using repetition and selection:
• for count in range (n): and while, if, elif, else
A summary of the python commands specific to Rapid Router as well as general python statements students will need to use.
• Python is a powerful programming language, which is very friendly for beginners.
• It is widely used in science and education, and by global organisations including NASA, Google and Walt Disney.
• It is written in text, making it fast to write short programs.
• Python was created by Guideo van Rossum in 1989, and he named it after the Monty Python’s Flying Circus, a television comedy show in the 1970s.
• Rapid Router is written in Python 3, which is the latest version of the language.
• Python is easy to use and easy to debug. Beginners can write clear and simple lines of code fairly quickly.
• It is also the programming language of choice in many secondary schools, and a large number of resources are being created for teaching and learning this particular language.
They will learn to be accurate and consistent in writing code. Clean syntax is critical as a basis for programming in all languages.
They will direct the van using movement instructions, e.g.
v.move_forwards()
They will use loops to repeat the same code.
The for statement, which repeats for the number of times you specify, e.g.
The while statement, which runs a block of code as long as its condition is true, and stops when it becomes false, e.g.
They will use the if statement, which conditionally executes a block of code, along with else and elif (a contraction of else-if); e.g.
They will use the def statement, which defines a procedure, e.g
Then they will call their new procedure or function in a program, amongst other lines of code:
Children will learn to create a variable by giving it a name and assigning a value to this name. A variable is a slot in the computer’s memory where you can store a numeric or text-based value. You can use almost any name except those that Python uses already. See the end of the Blockly-Python Phrasebook for these reserved words. E.g.
Using new functions which are already part of Python, e.g.
The print()
function
• This function prints anything that is inside the brackets. Those things must be separated by commas and any bits of text (strings) need to be inside quote marks, e.g.
print("Hello your groceries have been delivered!")
Some children will progress as far as changing the value of a variable within a program to address a particular task, e.g.
(Note: professional programmers would use number += 1
to increment a variable, but we are using the above to make it clearer to the children what is happening. It will also work clearly with the other mathematical operators: - , * and /).
• When you are writing up your code, it is common to make simple mistakes in the way you use colons, brackets, inverted commas and in the spelling of Python commands. The computer can’t cope with this and will tell you it’s stuck by producing an error message. This message will tell you on which line of code the mistake is located, making it easy to check and debug.
• ParseError: bad input on line 5
You will also write some programs where the code is error free, but the program is not doing what you intend. You will then have to debug your algorithms and the code.
After completing the Upper Key Stage 3 levels in Rapid Router, children should have an initial understanding of programming/writing code in Python.
• Computing at School has a great number of Python resources https://www.computingatschool.org.uk/
• Phil Bagge’s Python resources are aimed at Key Stage 2 - https://sites.google.com/site/pythoncodecouk/home
• The children may wish to explore further and learn more coding using an online course such as: Codeacademy https://www.codecademy.com/
• Or books such as: Python Basics, level 1 and 2 – Chris Roffey, Cambridge University Press, ISBN 978-1-107-65855-4
There are some editable templates below for you to align them to your lessons. You can download them for Powerpoint or Google slides.
These certificates are designed to be used after each section of the Rapid Router levels is completed.
The following certificates can be used how you wish.
The starting code has been created ‘behind the scenes‘ in Python and has to be imported.
Those two lines are therefore automatically added to your new program in Rapid Router. When you open the Python pane, you should see this code. These two lines are required before all other commands.
After this code, the van object, which is the object controlling van movement on the map, is indicated by the variable v.
You could change the name of this object to whatever you like, but be consistent and use the same name with the commands afterwards.
move_forwards
, turn_left
and turn_right
are, in fact, procedures. Once called, they cause the van to move. This is why when we want the van to move forwards, we call its move_forwards
procedure by putting () after its name (e.g. v.move_ forwards()
)
Note the underscore (“_”) is an essential part of the name.
This code will repeat all commands indented underneath it n
times, where n
is a whole number such as 3. It works with any name inserted where the word number is shown in the example. (The built-in range function just tells the loop how many times to repeat.)
The example on the left would repeat v.move_forwards()
3 times. You can use the count variable inside
the body of the loop if you want the van’s behaviour to differ depending on how many times the for loop was executed. On the first time through the loop, its value will be 0, incremented by one each time around the loop.
You must use a colon :
at the end of the for
line because this indicates that a sequence of instructions should follow (we call them the body of the loop). These instructions must all be indented by the same amount (ideally by 4 spaces).
A procedure which when executed or ‘called’, causes the van to wait.
The indentation of the instructions inside a block must match. Ideally, they would be indented 4 spaces more than the previous statement.
if
, elif
and else
statements must all be indented to the same level as each other, and all require a colon : at the end of their statement.
elif
is short for else if
The example to the left will cause the van to wait if it is currently at a red traffic light.
These conditions can be added after an if
, elif
or else
statement.
Each of the conditions are functions that check the state the van is in (i.e. what kind of road is ahead or what colour the traffic light is) and returns True
or False
.
If a variable can only be True or False, it is called a “Boolean”.
The while
not statement repeats until the condition is True
.
Remember the colon denotes a set of instructions to be followed if the while
condition is met (we call it the body of the loop).
These instructions must be consistently indented, ideally by 4 spaces.
This example will cause the van to wait until the traffic lights are no longer red.
To create a procedure, you use the def
keyword. The procedure needs a meaningful name where procedurename
is placed in the example. You must have a pair of brackets () and a colon : after it.
All subsequent statements that are to be part of the procedure must be indented to the same level as each other (ideally 4 spaces).
The procedure is then executed (or called), by typing the name of the procedure followed by a pair of brackets ().
In this example, the proc1 procedure will move the van left and then right when called. In reality, it is better to choose a more meaningful name for your procedure.
What happens inside the procedure can be changed each time by passing in arguments. Arguments available to the procedure are defined in between the two brackets, such as the argument n in this example. This value is then used to change how many times the loop is executed.
When calling a procedure with an argument, you must define the value for that argument when you call the procedure. In this case, we are calling the forward_left procedure with the argument value of 4, which means the loop will execute 4 times (the van will move forward 4 times before turning left).
Key stage | English national curriculum – the computer science strand | Rapid Router coding vocabulary | Progression through teaching resources |
---|---|---|---|
Key Stage 1
Ages 5–7
• Understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instructions
• Create and debug simple programs
• Use logical reasoning to predict the behaviour of simple programs
• Use technology purposefully to create, organise, store, manipulate and retrieve digital content
• Recognise common uses of technology beyond school
• Algorithm
• Program
• Debug
Sequence instructions:
• Move forwards
• Turn left
• Turn right
Rapid Router levels 1 to 16:
• Creating algorithms for physical movement
• Controlling van on screen app using movement commands
• Working out the shortest route to a destination
Key Stage 2 Ages 7–11
• Design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts, use sequence, selection, and repetition in programs; work with variables and various forms of input and output
• Use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs
• Select, use and combine a variety of software (including internet services) on a range of digital devices to design and create a range of programs, systems and content that accomplish given goals
• Algorithm
• Program
• Debug
Sequence instructions:
• Move forwards
• Turn left
• Turn right
Repetition:
• Repeat x times
Rapid Router levels 17 to 28:
• Understanding the repeat function
• Creating and evaluating their own challenges and programs using the code skills learnt
Key Stage 3 (Lower) Ages 11 –12
• Understand simple Boolean logic [for example, AND, OR and NOT] and some of its uses in circuits and programming;
• Understand how numbers can be represented in binary, and be able to carry out simple operations on binary numbers [for example, binary addition, and conversion between binary and decimal]
• Understand the hardware and software components that make up computer systems, and how they communicate with one another and with other systems
• Understand how instructions are stored and executed within a computer system; understand how data of various types (including text, sounds and pictures) can be represented and manipulated digitally, in the form of binary digits
• Undertake creative projects that involve selecting, using, and combining multiple applications, preferably across a range of devices, to achieve challenging goals, including collecting and analysing data and meeting the needs of known users
• Create, re-use, revise and repurpose digital artefacts for a given audience, with attention to trustworthiness, design and usability
• Understand a range of ways to use technology safely, respectfully, responsibly and securely, including protecting their online identity and privacy; recognise inappropriate content, contact and conduct and know how to report concerns
• Algorithm
• Program
• Debug
Sequence instructions:
• Move forwards
• Turn left
• Turn right
• Wait
Repetition:
• Repeat x times
• Repeat until
Selection:
• If... do...
• If... else if...
Rapid Router levels 19 to 28 (recap):
• Understanding the repeat function (recap)
• Creating and evaluating their own challenges and programs using the code skills learnt
Rapid Router levels 29 to 43:
• Use the core programming commands appropriately in a visual language
• Understand the repeat while command
• Decompose the programming task into smaller parts
Key Stage 3 (Intermediate)
Ages 12–13
• Understand simple Boolean logic [for example, AND, OR and NOT] and some of its uses in circuits and programming;
• Understand how numbers can be represented in binary, and be able to carry out simple operations on binary numbers [for example, binary addition, and conversion between binary and decimal]
• Understand the hardware and software components that make up computer systems, and how they communicate with one another and with other systems
• Understand how instructions are stored and executed within a computer system; understand how data of various types (including text, sounds and pictures) can be represented and manipulated digitally, in the form of binary digits
• Undertake creative projects that involve selecting, using, and combining multiple applications, preferably across a range of devices, to achieve challenging goals, including collecting and analysing data and meeting the needs of known users
• Create, re-use, revise and repurpose digital artefacts for a given audience, with attention to trustworthiness, design and usability
• Understand a range of ways to use technology safely, respectfully, responsibly and securely, including protecting their online identity and privacy; recognise inappropriate content, contact and conduct and know how to report concerns.
• Algorithm
• Program
• Debug
Sequence instructions:
• Move forwards
• Turn left
• Turn right
• Wait
Repetition:
• Repeat x times
• Repeat until
• Repeat while
Selection:
• If... do...
• If... else if...
Procedures:
• Define... do...
• Call
Variables:
• Traffic lights are red/green
Rapid Router Levels 44–67:
• Use the core programming commands appropriately in a visual language
• Understand the repeat while command
• Decompose the programming task into smaller parts
• Identify sections of code which can be used several times and write a procedure for that section
• Use repeat loops within procedure
Key Stage 3 (Upper)
Ages 13-14
• Understand simple Boolean logic [for example, AND, OR and NOT] and some of its uses in circuits and programming;
• Understand how numbers can be represented in binary, and be able to carry out simple operations on binary numbers [for example, binary addition, and conversion between binary and decimal]
• Understand the hardware and software components that make up computer systems, and how they communicate with one another and with other systems
• Understand how instructions are stored and executed within a computer system; understand how data of various types (including text, sounds and pictures) can be represented and manipulated digitally, in the form of binary digits
• Undertake creative projects that involve selecting, using, and combining multiple applications, preferably across a range of devices, to achieve challenging goals, including collecting and analysing data and meeting the needs of known users
• Create, re-use, revise and repurpose digital artefacts for a given audience, with attention to trustworthiness, design and usability
• Understand a range of ways to use technology safely, respectfully, responsibly and securely, including protecting their online identity and privacy; recognise inappropriate content, contact and conduct and know how to report concerns.
• Algorithm
• Program
• Debug
Sequence
instructions:
• v.move_forwards()
• v.turn_left()
• v.turn_right()
• v.wait()
Repetition:
• for count in range(3)
Selection:
• If ... :
• elif … :
• else :
Procedures:
• Define – def procname():
• Call – procname()
Variables:
• length = 10
• length = length +5
Rapid Router Levels 68–109:
• Develop an initial understanding of Python as a text based language
• Understand that Python has precise syntax
• Identify characteristics of Python and compare this with Blockly
• Use and understand the movement instructions in Python code
• Use and understand repeat loops in Python (for count in range(n))
• Create the core program in visual Blockly and understand it in Python code
• Understand how the syntax of selection statements works in Python
• Understand Python while, if, elif, else commands
• Analyse how procedures work in Python (extension)
• Write code in Python without the support of Blockly
• Write simple programs in Python using code for simple movement e.g. v.move_forwards()
• Use the print command in Python (not available in Blockly)
• Debug their Python programs, demonstrating an understanding of the appropriate syntax
• Use indents correctly in Python
• Use the Repeat loop … for count in range(n):
• Design and write programs independently in Python using repetition and selection:
• for count in range(n): and while, if, elif, else
for num in range(4):
Where num is a name you have chosen, and 4 is the number of times you want the loop repeated
v.turn_left()
v.turn_right()
v.move_forwards()
These indented lines of code (indented 4 spaces) will be executed each time the loop is passed through.
These lines of code tell the Rapid router van which way to move.
while not v.at_destination():
While the van is not at its destination run the following indented code
v.move_forwards()
Move the van forwards one space (the computer cycles through this code until the first line is false, ie the van has reached its destination)
if v.is_road(‘FORWARD’):
If the road exists forward run the indented code after the colon
v.move_forwards()
Move the van forwards one space
elif v.is_road(‘LEFT’):
Otherwise if the road goes left, run the indented code after the colon
v.turn_left()
Move the van to the left one space
else:
Otherwise if none of the above conditions apply, run the indented code after the colon
v.turn_right()
Move the van to the right one space
def bend():
Tells Python that you are creating a new procedure called bend which consists of the indented code after the colon
v.turn_right()
v.turn_left()
This code will be the code the computer runs, when the procedure bend is called
bend()
Tells Python to run the procedure bend, which will turn the van right then left
v.move_forwards()
Move the van forwards
for count in range(2):
Repeat 2 times what comes after the colon (in this case bend)
bend()
Run the procedure bend
v.move_forwards()
Move the van forwards (note this is outside the repeat loop)
bend()
number = 5
This tells the computer that you are naming a new variable number and giving it an initial value of 5.
number = 1
Defines a variable called number and gives it a starter value of 1
while number < 11:
The colon tells the computer to run all the indented code as long as the value of number is less than 11
print(number)
Tells the computer to output the current value of the variable number
number = number + 1
Tells the computer to increment (increase) the value of the variable number by 1
Don't forget there is a solve button on Rapid Router when you log in as a teacher. 🙂But we have also added some quick links for easy access below.
Road maps for levels.
Newsletter Archive
We have created a few extra resources and would like to know if they are useful. Please take a look.
We have case studies and print outs available to inspire your students.
How to create your own Rapid Router levels
We have created a video walkthrough to help too. Let us know if it is useful and we can create more. Feedback to codeforlife@ocado.com
Before you can create your own levels in Rapid Router, you must first log into Rapid Router.
Then click on Create
You should see a screen like this:
Step 1: Click on Add road and then click and drag on the map. You will see a light green highlight showing you where your road will appear. Release your mouse and the road will appear.
Step 2: To add side roads, junctions and roundabouts, click Add road again and repeat the process of clicking and dragging on the map.
Step 3: Click the Mark start button and then click on a single square on your road to mark where the Ocado warehouse is. Note that his must be on the end of a road.
Step 4: Click the Mark end button and then click on a single square on the road. This does not have to be at the end of a road. NB You can currently only add one delivery point in the level creator.
Step 5: Save your route by clicking on Save in the left hand column and giving your route a name. Click the Save button to save the route.
Step 6: You will now see a prompt asking if you would like to Edit or Play your route. Click on Play to try it out.
By default, you will see these blocks. Go back to the level editor by clicking Exit and then clicking Create again.
Step 7: Load your created route by clicking on Load and selecting your route from the list.
Step 8: Once you are happy with the road shape, click on Scenery
Click the Theme dropdown to choose between Grass (the default), Snow, Farm and City. You will notice that the plants and buildings change for each theme.
To add scenery to your map, click on the item you want and you will find that it appears in the top left of the route. NB You cannot add scenery items by dragging from the centre column, you must follow the instruction just given.
Now you can move this scenery item by clicking it and dragging it to the desired location.
Continue to do this until you have added all the scenery you want.
Note: Double click on traffic lights to rotate them
You must save your changes before your try your level or you will lose those changes.
Step 9: You can change the character in the map by clicking Character and then choosing the van, Dee, Nigel, Kirsty, Wes or Phil. This will be the character that moves around the map.
Step 10: Now click on Code in the left column. Here you can choose between the following options for the code available in your route:
Blockly - the default code blocks
Blockly with Python view - Blockly code with generated (non-editable) Python code
Python - Python only
Both - Editable Blockly code blocks and editable Python
If you choose a Blockly language option then you can also select which blocks you will like to be available. Make sure you add all the blocks you need or your route will be impossible to solve!
Notice that you can also limit the number of each block by clicking the dropdown.
Step 11: In order to allow anyone else to play your route, you must share it. Click the Share link on the left column.