Programmes don’t need a computer – turn your students into coders and robots with just pens, paper and a stack of cups.
Coding and computer science are becoming important parts of the curriculum and the scientific world, but many of their principles can be explored without the need for computers. Using a predefined ‘robot vocabulary’, your students will figure out how to guide one another to accomplish specific tasks without discussing them first.
This activity teaches students the connection between symbols and actions, as well as the valuable skill of debugging. If time allows, there is an option to introduce functions at the end of the lesson.
Start by asking the class if anyone has heard of robotics. Has anyone seen a robot or touched one? Does a robot really ‘hear’ you speak? Does it really ‘understand’ what you say? The answer to the latter question is: “Not in the same way as a person does.”
Robots operate using instructions: specific sets of things that they have been pre-programmed to do. To accomplish a task, a robot needs to have a series of instructions (sometimes called an algorithm) that it can follow. This activity teaches the students what it takes to make that happen.
The symbol key and cup stack cards can be downloaded using the link in right hand column.
Pull out a copy of the symbol key or write the symbols on the board (figure 1). These are the only six symbols that the students will use for this activity. For this task, they will instruct their robot to build a specific cup stack using only these arrows.
First work through an example with the class. Show them the stack of cups illustrated in figure 2. Place your cups on the table where everyone can see them. Ask the class to give you the first instruction to create this stack. The correct answer is “pick up a cup”. When you pick up each cup, note that you should lift the cup above the highest cup already in the stack.
With your hand still in the air, ask for the next move. You may have to remind the class that one step forward is only half the width of a cup (see figure 3).
Once you’ve placed a single cup ask the class to help you write the symbols on the board so that you can ‘run the program’ later.
Each time a team solves a challenge, the team members should choose a new robot to send to the library, and the team should be given a new (preferably more difficult) cup stack card.
Often, during this activity, students begin to write a shortened version of the instructions using numbers. For example ->x5 instead of ->->->->->. Discourage this practice, and remind students to stick only to the six symbols they are allowed. In the following activity, however, you can recognise the brilliance and foresight of students who tried that trick, and acknowledge that they independently discovered the need for functions.
An arrow with numbers is a clever way of indicating that we want to repeat a movement a specific number of times. By allowing repetition, we are essentially creating a new symbol to avoid re-using code unnecessarily. This is exactly the idea behind functions. Your students may come up with other shortcuts and functions.
Now that the class has these new functions, let them tackle one of the more challenging cup stack cards. Teams may work together if they need more cups to work with.