# Computational Thinking

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

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 to search and sort large amounts of data. They also evaluate user interfaces in relation to their efficiency and usability.

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

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

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.

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

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

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.

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

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

In authentic contexts and taking account of end-users, students analyse concepts in digital technologies (for example, information systems, encryption, error control, 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.

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

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

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.

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