Progress Outcomes – Computational Thinking Matrix


The matrix below highlights the 8 progress outcomes and roughly maps these outcomes to the years when New Zealand students would be expected to have attained these outcomes.

12345678
Y9Y9-10Y10Y11Y12Y13
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]  
   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]They develop programs considering human-computer interaction (HCI) heuristics.They apply design principles and usability heuristics to their own designs and evaluate user interfaces in terms of them.  
      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 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
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.
,