Course 3, lessons 6 & 7 from Code.org is an ideal resource to develop grade 5 & 6 student's algorithmic thinking skills because it is a code writing program that starts with simple activities, introducing students to the idea that an algorithm is a set of instructions, then develops algorithmic thinking and skills be moving towards more complex activities.
They practice experimenting, manipulating and implementing an algorithm through visual coding blocks to make the bee accomplish a set problem such as collecting nectar by using visual coding blocks. Students select coding blocks (steps of the algorithm) and move them to sit sequentially in the work space to achieve the desired outcome or solve the problem. They can then hit run to see the algorithm play our or hit step to see each step to help them better understand each visual coding block or the steps of the algorithm.
This activity enables students to experiment with different ways of providing instructions for a game, which is part of ACARA's digital technology content description:
They practice experimenting, manipulating and implementing an algorithm through visual coding blocks to make the bee accomplish a set problem such as collecting nectar by using visual coding blocks. Students select coding blocks (steps of the algorithm) and move them to sit sequentially in the work space to achieve the desired outcome or solve the problem. They can then hit run to see the algorithm play our or hit step to see each step to help them better understand each visual coding block or the steps of the algorithm.
This activity enables students to experiment with different ways of providing instructions for a game, which is part of ACARA's digital technology content description:
At the end of each activity a window comes up that helps students to "check and validate their designs to increase the likelihood of creating working solutions" meeting ACARA's year 5 & 6 band description for digital technologies. In the example below the window prompts the user to critically reflect on their algorithm by stating that the code could have been written more efficiently by only using 9 visual coding blocks. Note it does not give the answer - this encourages students to experiment thus developing a stronger skills understanding about algorithms.
As the lessons progress the algorithms become more complex. To solve the problem students must use branching codes such as "if" and "when" as well as iteration, or loops (e.g. repeat 2 times). This aligns directly with the year 5 & 6 digital technologies band description that "Students increase the sophistication of their algorithms by identifying repetition and incorporate repeat instructions or structures when implementing their solutions" ACARA.