Computational Thinking


12345678
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 contextsstudents decompose[9] problems into step-by-step instructions to create algorithms for computer programsstudents decompose problems to create simple algorithms using the three building blocks of programming[3]: sequence, selection, and iteration[10]students independently decompose problems into algorithmsstudents 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 environmentsThey 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 iterationThey 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 programsThey 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 digitsThey 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.


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

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

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

Terms definitions
1. comparative operators. These are symbols that you put into logical statements that are either true or false. They are used to compare two things, they are: * equal to (=) * not equal to (≠) * greater than (>) * less than (
2. decomposition. Decomposition is when we break a problem down into smaller parts to make it easier to solve
3. programming. The process of writing a programme
4. logical operators. These are pieces of code or digital objects that help a system understand the difference between different options.
5. performance. How well a system or algorithm runs or operates.