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.

students use their decomposition 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 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: sequence, selection, and iterationstudents 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 for the same problem.     
They give these instructions,They use these algorithms to create simple programs involving outputs and sequencing (putting instructions one after the other) in age-appropriate programming environmentsThey develop simple programs that use inputs, outputs, sequence and iteration (repeating part of the algorithm with a loop).They implement these algorithms by creating programs that use inputs, outputs, sequence, basic selection using comparative operators, and iterationThey 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 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.Students understand accepted software engineering methodologies and user experience design processes and apply their key concepts to
identify any errors in them as they are followed, and correct them (simple debugging) 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 why things went wrong and how they fixed them.Students document their programs, using an organised approach for testing 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 computer, develop, document and test complex computer programs.
  They understand that digital devices store data using just two states represented by binary digits (bits).Students understand that digital devices represent data with binary digits and have ways of detecting errors in data storage and transmissionThey understand how computers store more complex types of data using binary digitsThey understand the concept of compression coding for different media types, its typical uses, and how it enables widely used technologies to function  
   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 usabilityThey 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 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 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