Pīkau 7: Programming with Sequence and Output
Introduction
Why this matters
Here, in computational thinking progress outcome 2, we are introducing devices into the mix. Don’t worry, these devices don’t need to be expensive, in fact, there are plenty of free resources around! Check it out!
Download the transcript for this video.
Links to existing knowledge
You might already know some of this…
As in Pīkau EMP05 (First Steps in Programming: Computational Thinking Progress Outcome 1), much of what we look at here revolves around sequences of instructions and getting them right. If you have completed EMP05 you may have noticed more situations where getting the right sequence of instructions is important for getting the right outcome. Tim and Joanne discussed this in this video.
Now that we’re going to move the ideas to computers, our instructions are going to be followed even more literally! You may have had this experience on computers already, where the machine does what you told it, instead of what you intended. Sometimes it’s funny, but more often it can be frustrating! When we explore the ideas here, the stakes are low, and hopefully any problems can be seen as humorous, such as robots heading in the wrong direction or going off the grid, although students will have to get used to frustration along the way, and learn to embrace it as they learn about debugging!
These devices are technically referred to as ‘turtles” because early programming languages that used them adopted the turtle metaphor. These days they appear as bees, mice and all sorts of characters, but to keep things general, when discussing this kind of environment we’ll often call the device a turtle, even if on this occasion the turtle is a bee.
Programming a "bot"
In this video you’ll see how Bee-bots (small, child orientated robots) can be used to teach some key ideas in programming. You can download a copy of the orange arrow cards seen in this video.
Download the transcript for this video.
Simple programming in the classroom
The following short video contains some handy tips for teaching programming in your classroom.
Download the transcript for this video.
Here are some examples of apps you can use in your classroom to teach sequence and output. Many of them can also be used to teach further programming concepts also, but can be do useful things if limited to just sequence and output.
There are links to these apps and tools below the images.
- Code Avengers online lessons, New Zealand based
- Bee-Bot app for iOS (iPhone and iPad)
- Scratch Jr app for Android and iOS
- Blue-Bot app for Android and iOS
- Scratch in-browser and downloadable to Windows and Mac computers
- Hour of Code online lessons
- Bee-Bots and Blue-Bots stand-alone robots
- Dot and Dash stand-alone robots
- Code & Go Robot Mouse stand-alone robots
- Sphero programmable robot available in iOS or Android, tablet or phone, Mac or Windows laptop and desktop.
Testing and debugging - do I need a fly swat?
We started looking at debugging when working with unplugged sequences in the pīkau for progress outcome 1. Now that things are happening on a device, the system is more unforgiving, but also will be more predictable. This video shows you how to use three simple questions:
- What did your program do?
- What did you want it to do?
- What did you tell it to do? Talk me through it.
To support your students when their code doesn’t do what they want it to.
Download the transcript for this video.
Activity: Debugging - Your turn with the fly swat!
Here is a chance for you to track down bugs in a song - you'll need to use your ears!
This program in Scratch uses a sequence to play the song “Hine, E Hine”. However, one of the notes sounds wrong. See if you can track it down (find the bug), and fix it (debug it). If you have trouble tracking it down, try splitting the instructions by dragging the blocks apart in the middle, and see if it’s in the first half or the second half (you can play a group of blocks by double-clicking on them). And if that’s still too hard, break another faulty block in half. Feel free to collaborate with a musician to get this working.
Click on “Remix” to make your own copy, and “See inside” to see the code.
Integrated learning with ‘turtle’ style bots
These images show ways that students have used Bee-Bots integrated with other kinds of learning, such as creating a small city for the bots to navigate around, or to tell a story.
Inputs and Outputs
You will probably have heard the terms ‘input’ and ‘output’ before. Here we will explore what they mean and give examples of what they are.
Download the transcript for this video.
Link to programme design
This progress outcome ties in well with the Characteristics of technological outcomes and Technological systems aspects of the Technology learning area.
There are also many possible integrated learning opportunities across other learning areas, such as:
- Mathematics: map reading, coordinates, direction
- Literacy: use Bee-Bots to tell/act out a story
- Social Sciences: use the Bee-Bots to trace old travel routes, real life map reading skills, being able to use a paper map vs google maps to navigate.
- Health and Physical Education: fitness unplugged activity to reinforce concepts
Using simple bots could also be used to include some Designing and Developing Digital Outcomes.
Wrapping up and where to next
These relatively simple “turtle” bots have enabled us to consider all sorts of concepts - how to deal with a language that is followed literally by a device, how to debug, what are inputs and outputs, and how a programming language is a program itself!
In pīkau 6: First Steps in Programming: Computational Thinking Progress Outcome 2 (EMP05) we saw how non-computerised contexts provide a good way for students to think about giving simple commands. In this pīkau we’ve seen how putting those simple commands on computerised systems forces students to be precise, and learn how to debug their programs. We’ve also emphasised that the teacher’s role is not to debug programs for students, but to encourage them to learn how to troubleshoot for themselves with three simple questions.
Finally, we looked at how this kind of programming can be integrated with literacy and numeracy skills, and other learning areas.
Facilitation notes
If you are working through this pīkau as a group feel free to use these facilitation notes.