Computational Thinking for digital Technologies.

"E kore e taea e te whenu kotahi ki te raranga i te whāriki kia mōhio tātou ki ā tātou."

The tapestry of understanding cannot be worn by one strand alone.

Computational thinking enables students to express problems and formulate solutions in ways that means a computer (an information processing agent) can be used to solve them.

In this area, students develop algorithmic thinking skills and an understanding of the computer science principles that underpin all digital technologies. They become aware of what is and isn't possible with computing, allowing them to make judgements and informed decisions as citizens of the digital world.

Students learn core programming concepts and how to take advantage of the capabilities of computers, so that they can become creators of digital technologies, not just users. They develop an understanding of how computer data is stored, how all the information within a computer system is presented using digits, and the impact that different data representations have on the nature and use of this information.

Progress Outcomes

Computational thinking for digital technologies

The progress outcomes describe the significant learning steps that students take as they develop their expertise in computational thinking for digital technologies.

The diagram below shows the alignment between levels 1-5 of the New Zealand Curriculum and the progress outcomes for computational thinking. The uneven spacing of the programme outcomes reflects the different learning and time required for each outcome and is based on data collected collected during the development of the digital learning progressions.

Progress outcomes 6-8 set out the learning expected for students engaging in more intensive and specialised digital technologies programmes for NCEA 1, 2 and 3. For this reason, they are directly aligned with levels 6-8 of the curriculum.

Progress outcome 1

In authentic contexts and taking account of end-users, students use their decomposition skills to break down simple non-computerised tasks into precise, unambiguous, step-by-step instructions (algorithmic thinking). They give these instructions, identify any errors in them as they are followed, and correct them (simple debugging).

Key aspects of this outcome:

  • Sequencing
  • Debugging (identifying errors)
  • Decomposition (breaking problems down in steps/looking at just one aspect)
  • Step by step instructions (algorithms)
  • Non-digital/unplugged activities


What this might look like in our existing curriculum

  • Daily routines (sequencing, instructions)
  • Storyboarding to plan stories (sequencing)
  • Numeracy strategies such as "Making 10" (decomposition)
  • Breaking words into parts (e.g. re-new-able) (decomposition)
  • Word families (l-ight, n-ight, r-ight etc.) (decomposition)
  • Editing writing (identifying and correcting errors/debugging)
  • Instructions for tasks (algorithm)
  • Following maps (algorithms)

Some practical activities to reinforce learning for this progression:

  • Tie laces (sequencing, following process, following instructions/algorithms)
  • Cooking (sequencing, following process, following instructions/algorithms)
  • Orienteering (following instructions/algorithms, debugging)
  • Waiata-a-ringa (following instructions, sequencing, decomposition)
  • Poi routine (following instructions, sequencing, decomposition, debugging)
  • Titītōrea games (following instructions/algorithms, sequencing, decomposition, debugging)
  • Draw Tukutuku patterns (sequencing, patterns, order)
  • 'Be a robot' - one student instructs another student who is a 'robot' and has to follow the instructions they are given, swap roles (giving and following instructions, sequencing, decomposition, debugging) (Teaching robots to dance, Exemplar 2, Ministry of Education, 2017)


Progress outcome 2

In authentic contexts and taking account of end-users, students give, follow and debug simple algorithms in computerised and non-computerised contexts. They use these algorithms to create simple programs involving outputs and sequencing (putting instructions one after the other) in age-appropriate programming environments.

Key aspects of this outcome:

  • Give and follow step by step instructions (algorithms)
  • Putting instructions in the correct order (sequencing)
  • Creating a programme using simple algorithm/s
  • Testing, identifying and solving errors (debugging)
  • Awareness that algorithms can look different but solve the same problem
  • Can be both computerised and non-computerised

What this might look like in our existing curriculum

  • Kapa haka, Ti Rakau, Titītōrea, sports etc that require sequencing. The right order/sequence is needed, the rules followed in order to get the right outcomes (sequence, input, output)
  • Literacy programme e.g. order and structure of writing, proofreading, identifying errors (debugging) and correcting.
  • Food technology e.g. following a recipe (algorithms, sequence, input, output).
  • Maths e.g. breaking down problems, ordering numbers, family of facts, mapping skills (sequencing/patterns)
  • Science experiments e.g. adding the right amounts of chemicals to create change (input, process, output)
  • Social science e.g. timelines and context of how things relate (sequence)

Some practical activities to reinforce learning for this progression:

  • Hour of code activities that require the breaking down of tasks, sequencing, creating algorithms and debugging). Try Moana Hour of Code game (sequencing, algorithms, debugging)
  • Programming a robot to move around a map or location (sequencing, algorithms, debugging)
  • Students creating a treasure quest map around a school (sequencing, creating an algorithm)
  • Bits and Bricks -creating simple algorithms
  • "Catching Chickens" Using ScratchJr to create a program (Catching chickens, Exemplar 5, Ministry of Education, 2017)

Progress outcome 3

In authentic contexts and taking account of end-users, students decompose problems into step-by-step instructions to create algorithms for computer programs. They use logical thinking to predict the behaviour of the programs, and they understand that there can be more than one algorithm for the same problem. They develop and debug simple programs that use inputs, outputs, sequence and iteration (repeating part of the algorithm with a loop). They understand that digital devices store data using just two states represented by binary digits(bits).