1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

students use their decomposition^{[2]} skills to break down simple non-computerised tasks into precise, unambiguous, step-by-step instructions (algorithmic thinking) | students give, follow and debug simple algorithms in computerised and non-computerised contexts | students decompose^{[9]} problems into step-by-step instructions to create algorithms for computer programs | students decompose problems to create simple algorithms using the three building blocks of programming^{[3]}: sequence, selection, and iteration^{[10]} | students independently decompose problems into algorithms | students determine and compare the “cost” (computational complexity) of two iterative algorithms for the same problem size | ||

They use logical thinking to predict the behaviour of the programs, and they understand that there can be more than one algorithm^{[11]} for the same problem. | |||||||

They give these instructions, | They use these algorithms to create simple programs involving outputs^{[20]} and sequencing^{[12]} (putting instructions one after the other) in age-appropriate programming environments | They develop simple programs that use inputs^{[21]}, outputs, sequence and iteration (repeating part of the algorithm with a loop^{[22]}). | They implement these algorithms by creating programs that use inputs, outputs, sequence, basic^{[23]} selection using comparative operators^{[1]}, and iteration | They use these algorithms to create programs with inputs, outputs, sequence, selection using comparative and logical operators^{[4]} and variables^{[13]} of different data^{[24]} types, and iteration. They determine when to use different types of control^{[25]} structures. | Students discuss^{[26]} the purpose of a selection of data structures and evaluate their use in terms of trade-offs between performance^{[5]} and storage requirements and their suitability for different algorithms. | Students understand accepted software engineering methodologies and user experience design^{[27]} processes and apply their key concepts to | |

identify any errors in them as they are followed, and correct them (simple debugging^{[14]}) | debug simple programs that use inputs, outputs, sequence and iteration (repeating part of the algorithm with a loop). | They debug simple algorithms and programs by identifying when things go wrong with their instructions and correcting them, and they are able to explain^{[15]} why things went wrong and how they fixed them. | Students document their programs, using an organised approach for testing^{[16]} and debugging. | Students use an iterative process to design, develop, document and test basic computer programs | They use an iterative process to design, develop, document and test advanced^{[17]} computer programs. | design, develop, document and test complex^{[28]} computer programs. | |

They understand that digital devices store data using just two states represented by binary^{[29]} digits (bits^{[30]}). | Students understand that digital devices represent data with binary digits and have ways of detecting errors in data storage and transmission^{[6]} | They understand how computers store more complex types of data using binary digits | They understand the concept of compression coding^{[7]} for different media types, its typical uses, and how it enables widely used technologies to function^{[18]} |

## Level 4 – Progress Outcome 3 (Year 9)

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).

http://nzcurriculum.tki.org.nz/The-New-Zealand-Curriculum/Technology/Progress-outcomes#collapsible1

## Level 5 – Progress Outcome 4 (Start of Year 10)

In authentic contexts and taking account of end-users, students decompose problems to create simple algorithms using the three building blocks of programing: sequence, selection, and iteration. They implement these algorithms by creating programs that use inputs, outputs, sequence, basic selection using comparative operators, and iteration. They debug simple algorithms and programs by identifying when things go wrong with their instructions and correcting them, and they are able to explain why things went wrong and how they fixed them.

http://nzcurriculum.tki.org.nz/The-New-Zealand-Curriculum/Technology/Progress-outcomes#collapsible1

Students understand that digital devices represent data with binary digits and have ways of detecting errors in data storage and transmission. They evaluate the efficiency of algorithms, recognising that computers need^{[31]}to search and sort large amounts of data. They also evaluate user interfaces in relation to their efficiency and usability^{[19]}.

## Level 5 – Progress Outcome 5 (End of Year 10)

In authentic contexts and taking account of end-users, students independently decompose problems into algorithms. They use these algorithms to create programs with inputs, outputs, sequence, selection using comparative and logical operators and variables of different data types, and iteration. They determine when to use different types of control structures.

http://nzcurriculum.tki.org.nz/The-New-Zealand-Curriculum/Technology/Progress-outcomes#collapsible1

Students document their programs, using an organised approach for testing and debugging. They understand how computers store more complex types of data using binary digits, and they develop programs considering human-computer interaction (HCI) heuristics.

## Level 6 – Progress Outcome 6 (Year 11)

In authentic contexts and taking account of end-users, students determine and compare the “cost” (computational complexity) of two iterative algorithms for the same problem size. They understand the concept of compression coding for different media types, its typical uses, and how it enables widely used technologies to function.

http://nzcurriculum.tki.org.nz/The-New-Zealand-Curriculum/Technology/Progress-outcomes#collapsible1

Students use an iterative process to design, develop, document and test basic computer programs. They apply design principles and usability heuristics to their own designs and evaluate user interfaces in terms of them.

## Level 7 – Progress Outcome 7 (Year 12)

In authentic contexts and taking account of end-users, students analyse

http://nzcurriculum.tki.org.nz/The-New-Zealand-Curriculum/Technology/Progress-outcomes#collapsible1^{[32]}concepts in digital technologies (for example, information systems, encryption, error control^{[8]}, complexity and tractability, autonomous control) by explaining the relevant mechanisms that underpin them, how they are used in real world applications, and the key problems or issues related to them.

Students discuss the purpose of a selection of data structures and evaluate their use in terms of trade-offs between performance and storage requirements and their suitability for different algorithms. They use an iterative process to design, develop, document and test advanced computer programs.

## Level 8 – Progress Outcome 8 (Year 13)

In authentic contexts and taking account of end-users, students evaluate concepts in digital technologies (for example, formal languages, network communication protocols, artificial intelligence, graphics and visual computing, big data, social algorithms) in relation to how key mechanisms underpin them and how they are applied in different scenarios when developing real world applications.

http://nzcurriculum.tki.org.nz/The-New-Zealand-Curriculum/Technology/Progress-outcomes#collapsible1

Students understand accepted software engineering methodologies and user experience design processes and apply their key concepts to design, develop, document and test complex computer programs.