There was an old lady who learned how to code
Written by Grok Academy
I don’t know how… perhaps through stories and songs?
Introducing the world of coding to 5-10 year olds can be daunting, confusing and overwhelming, yet even our youngest students are capable of understanding coding if we provide it in the right context. Many teachers overlook this age group, believing they lack the capabilities to understand code, its use and how to write, edit and debug it effectively. Further, “for some educators there is an issue understanding pedagogical use of technologies in a setting that values play-based learning” (Murcia & Tang, 2019).
What if you could use timeless melodies to introduce various coding concepts such as algorithms, branching, conditional statements, loops, variables, user input and debugging? Incredibly, you can and what’s more, it is possible without the need for expensive equipment.
Many educators, particularly in the primary years, are looking for ways to engage students in Digital Technologies, a mandatory subject from Foundation to Year 8 in the Australian Curriculum. Using songs, stories and games with this age group has high engagement, while providing a guided and supported exploration to help students develop a deep understanding of foundational programming concepts.
Grok Academy Educators, Bianca and Marnie, combine their experience in teaching Digital Technologies and STEM as specialist teachers in primary schools in both Queensland and Victoria to show what each of these critical algorithmic concepts could look like across the primary years of schooling using songs with which students are likely already familiar. They go further by providing some of their favourite helpful resources to progress students to implementing the concept with code.
Sequence of steps
Students in Years 1 and 2, and Years 3 and 4 are required to follow and describe algorithms (AC9TDI2P02 and AC9TDI4P02).
This content description expects students to navigate and recount a 'sequence of steps', or instructions. They should be done in order, for a set number of times and can be introduced through songs with repetition like ‘Open, Shut Them’, where students sing the song with actions in order and follow the algorithm. Make this teaching explicit by writing the steps on the whiteboard, mixing up the order and asking a student to sing aloud, or even dance thenonsensical algorithm, illustrating the sequence of steps. Students can then describe the need for the correct sequence of steps, linking this learning to the way a computer program needs to operate in the exact order to achieve what we expect it to do.
Other songs with repetition for this example include, ‘Hokey Pokey’, ‘Baby Shark’ or even the ‘Chicken Dance’.
Do you remember the fun of playing the shopping game as a child? You take turns to say “I went to the shop and I bought…”, and then need to remember each of the items purchased previously before adding your own item? This is a fantastic way to show the design of an algorithm. Similarly, using alternate actions for songs like ‘My Name is Joe and I Work in a Button Factory’ allow for creativity in its design. By showing the steps of the song, students visualise the order and the alternate actions possible in the design of the algorithm.
Suggested Grok Academy Resource:
The Wombot Carrot Hunt activity, targeting Years 5 and 6, assists students to see algorithms in action using directions to help Wombot the Wombat find his carrots.
Iteration
In version 9 of the Australian Curriculum: Digital Technologies, from Year 1 students explore iteration; the repetition of a set of steps or instructions. Repeat-after-me songs that loop (iterate), such as ‘Milkshake’ or ‘The Wheels on the Bus’, are excellent to use to help students understand iteration.
Each of these songs feature lyrics that repeat multiple times. Educators can use these songs to demonstrate how loops work, with each repetition representing a single iteration, as demonstrated in this ‘Row, Row, Row Your Boat’ example:
Suggested Grok Academy Resource
micro:bit Rocket introduces learners in Years 3 to 6 to a micro:bit simulator with a looping countdown to blast off!
Branching
In programming, branching can be described as choosing a path to follow depending on the conditions and data provided. You may also hear the terms conditional statements or decisions when referring to branching.
To explicitly teach branching, we can use songs where the lyrics change depending on something which has happened earlier in the song. A simple example is, ‘If You’re Happy and You Know It’. Educators can help students understand by drawing the condition on the board with the two options (paths), demonstrating the user choice (value). Songs like ‘If You're Happy and You Know It’ are great for exploring the branching concept through the implementation of conditional statements (If Else). Here the lyrics prompt listeners to perform different actions based on a condition, for example:
Once students have understood the concept of conditional ( if-else) statements, they can explore more complex branching with multiple alternatives (paths) such as in the ‘Twelve Days of Christmas’ where a different path is chosen based on the number of the day (value).
Suggested Grok Academy Resources
Say Hello to Wombot Blockly course designed for Years 3 and 4 uses visual block-based coding to move Wombot the wombat IF an answer to a question is YES, Wombot moves forward ELSE Wombot does an alternate action. Maze Escape allows year 5 and 6 students to explore branching through the alternate possibilities when exiting a maze.
As students become familiar with branching and conditional statements, this transfer of learning can be extended by exploring the concept through a Choose Your Own Adventure story. Make this explicit by brainstorming potential encounters a character may face on the whiteboard, allowing students to provide possible scenarios. This provides opportunities for students to make decisions such as ‘explore a cave’ or ‘venture into the jungle’, where each consequence is considered and only invoked when selected by the reader. Years 5 and 6 students can further demonstrate their understanding of branching by creating their own choose your own adventure book using Google forms or PowerPoint.
Variables
Other coding concepts such as variables, defined by the Australian Curriculum as the stored location of data values that change, can be taught with songs like ‘Old MacDonald Had a Farm’ or ‘There Was an Old Lady Who Swallowed a Fly’, where each line introduces a new animal and scenario. Students can identify the variable (animal) and understand how its value changes with each iteration of the song.
Students often find the idea that a variable updates throughout the algorithm difficult to understand, instead believing that variables hold multiple values (Bagge & Grover, 2020). An activity like ‘Who Took the Cookie from the Cookie Jar’ where a student inserts their name as the variable within each iteration of the song, can help reinforce this concept.
Suggested Grok Academy Resource
Students use variables to code their alien to jump while visiting Mars in Grok Academy’s Space activity, targeted at Years 5 and 6.
User input
To fill these variables we need to ask users for input. The concept of user input is introduced from Years 3 and 4. Games of ‘What’s the time Mr Wolf?’ Or ‘Crocodile, crocodile may we cross the river?’ require listeners to ask a question of our user, follow the verbal instructions and respond accordingly. These games demonstrate how user input is processed in coding, with the students representing the program and the wolf/crocodile acting as the users who provide the input.
Debugging
Debugging is when coders find and fix errors in their code and is a critical analysis skill that comes with algorithmic thinking. An enjoyable way to introduce debugging in the classroom is through tongue twisters like ‘She sells sea shells by the sea shore’.
As students attempt to memorise a line, they are sure to make errors. Pairing them up with another student who is attempting to find the error (bug) in their tongue twister demonstrates the process in action. Similarly a game of Broken Telephone where a message is whispered from student to student highlights this process of debugging as the class works backwards to find where the message was changed. Writing each version of the message and its distortions as steps on the whiteboard makes this learning visible.
To summarise the use of classic and familiar songs and stories as a warmup or tune in for a lesson introduces coding concepts in a memorable way. Reinforcing these concepts through games and activities to explicitly teach them, allows students of all ages to become familiar with coding. This familiarity can be built upon year after year, as their understanding progresses through their coding journey.
Therefore not only can old ladies read, write, edit and debug code, but so too can young children, with guidance and opportunity.
Curriculum covered
(Years 1 and 2) follow and describe algorithms involving a sequence of steps, branching (decisions) and iteration (repetition) (AC9TDI2P02)
(Years 3 and 4) follow and describe algorithms involving sequencing, comparison operators (branching) and iteration (AC9TDI4P02)
(Years 5 and 6) design algorithms involving multiple alternatives (branching) and iteration (AC9TDI6P02)
References
Bagge, P., & Grover, S. (2020). Chapter 22: Variables. In S. Grover (Ed.), An A to Z handbook on teaching programming (pp. 227-239). Edfinity.
Murica,K & Tang, K. (2019). Exploring the Multimodality of Young Children’s Coding, Australian Educational Computing,2019,34(1).
For more information and to register for for the Grok Stream: Building Digitally Capable Learners
Melbourne: https://www.nationaleducationsummit.com.au/melbourne/grok-stream
Brisbane: https://www.nationaleducationsummit.com.au/brisbane/grok-stream