Te Kete Ipurangi Navigation:

Te Kete Ipurangi

Te Kete Ipurangi user options:

Senior Secondary navigation


Section menu


Curriculum strands

Specialist strands

AOs/LOs by level

Technological practice (TP)

6-1 | 6-2 | 6-3

7-1 | 7-2 | 7-3

8-1 | 8-2 | 8-3

Technological knowledge (TK)

6-1 | 6-2 | 6-3

7-1 | 7-2 | 7-3

8-1 | 8-2 | 8-3

Nature of technology (NT)

6-1 | 6-2

7-1 | 7-2

8-1 | 8-2

Design in technology (DET)

6-1 | 6-2

7-1 | 7-2


Manufacturing (MFG)

6-1 | 6-2

7-1 | 7-2


Technical areas (TCA)


Construction and mechanical technologies (CMT)

6-1 | 6-2 | 6-3 | 6-4

6-5 | 6-6 | 6-7

7-1 |  7-2 |  7-3 |  7-4

7-5 |  7-6 |  7-7

8-1 | 8-2 | 8-3 | 8-4

8-5 | 8-6 | 8-7

Design and visual communication (DVC)

6-1 | 6-2 | 6-3

7-1 | 7-2 | 7-3

8-1 | 8-2 | 8-3

Digital technologies (DTG)

6-1 | 6-2 | 6-3 | 6-4

6-5 | 6-6 | 6-7 | 6-8

6-9 | 6-10 | 6-11 | 6-12

7-1 |  7-2 |  7-3 |  7-4

7-5 |  7-6 |  7-7 |  7-8

7-9 |  7-10 |  7-11 |  7-12

8-1 | 8-2 | 8-3 | 8-4

8-5 |  8-6/7 | 8-8 | 8-9

8-10 |  8-11 | 8-12

Processing technologies (PRT)

6-1 | 6-2 | 6-3

7-1 | 7-2 | 7-3

8-1/2 | 8-3

Knowledge of computer science and software engineering DTG 6-5

Achievement Standard 1.44, AS91074

Computer science refers to a group of concepts associated with the discipline of computer science and how they are applied to develop computer programs that work well; for example, they should be fast, reliable, scalable and usable. 

Learning Objective: DTG 6-5

Students will:

  • demonstrate understanding of basic concepts in computer science and software engineering


Students can:

  • explain how algorithms are distinct from related concepts such as programs and informal instructions
  • compare and contrast the concepts of algorithms, programs, and informal instructions
  • determine and compare the costs of two different iterative algorithms for the same problem of size n
  • compare and contrast high level and low level (or machine) languages, and explaining different ways in which programs in a high level programming language are translated into a machine language
  • discuss how different factors of a user interface contribute to its usability by comparing and contrasting related interfaces.


As part of a junior technology programme students should learn some fundamental concepts about computational thinking and problem solving. It is useful if within a junior programme students can get some exposure to programming, and are introduced to ideas from computer science such as commenting on interfaces critically, binary representation, and simple searching or sorting algorithms.

At level 6 students learn about basic concepts of algorithms (particularly how different algorithms for the same task can have significantly different costs), programming languages, and evaluating user interfaces.

The Teacher Guidance section provides information that supports teachers scaffolding of learning from levels 1-8 of the curriculum. This allows for differentiation of a programme of learning.

The deliberate use of provide, guide, and support in this section signals that as students' capacity for self-management increases, teachers progressively reduce the level of scaffolding provided.

  • Provide – the teacher should take full responsibility for introducing and explicitly teaching new knowledge, skills or practices.
  • Guide – the students have a level of understanding and competency on which they can draw but the teacher remains primarily responsible for continuing to develop these.
  • Support – the students take primary responsibility for their own learning, drawing on all their previous experiences to consolidate and extend their understanding. The teacher is supportive rather than directive.
  • The Teacher Guidance also uses the term ensure to indicate when the teacher plays a monitoring role to check that conditions critical for learning are present.

Teacher Guidance

To support students to develop understandings about the basic concepts in computer science and software engineering at level 6, teachers could:

  • Ensure students understand the concept of an algorithm vs. a program, and that there are different costs for different algorithms for the same task. This could be illustrated with searching (linear and binary) and/or sorting.
  • Provide students with an opportunity to understand the programming language concepts of: high level languages, machine languages, interpretation and compilation; and the idea that programming languages are precise.
  • Guide students to informally critique user interfaces based on personal experience rather than using heuristics – for example, identify a frustrating user interface and explain why it was difficult to use.

Contexts for teaching and learning

  • Teachers are referred to the Teacher Guides that come with the CS Field Guide ( csfieldguide.org.nz) prepared by staff from the Department of Computer Science and Software Engineering at the University of Canterbury. This resource has numerous ideas for teaching this topic, and the Field Guide provides students with an interactive resource that matches the learning objective and the achievement standard exactly. Guidance on writing reports is provided in the appendices; access to a teacher version of the guide with more details is available on request.
  • It is strongly suggested that teachers approach this topic by giving students interactive learning experiences rather than a more theoretical approach to the topics. For example, if one of the topics to be covered is about types of algorithms then students may undertake a range of learning experiences related to this topic such as the "Searching boxes" game (available on the Computer Science Field Guide). They can then write about types of algorithms based on these learning experiences, illustrated with photos or screenshots of themselves involved in these problems. Each experience will be personalised because the examples are randomly generated, and this contrasts with a paraphrase of a description of an algorithm from a textbook, which has little scope for variation for a given algorithm.

Literacy considerations

Teachers need to ensure students understand the specialist language related to computer science such as "algorithm" or "usability". Each of the three broad topics (algorithms, programming languages, user interface) has specialist language associated with it so teachers need to ensure students understand all the terminology they will need to demonstrate their understanding of the topic. They should then use the appropriate specialist language to explain their personalised examples.

In addition students must understand the language necessary to prepare a report about their understandings. Students need to understand words such as describe, explain, compare and contrast, and discuss. Teachers need to give students strategies so they understand the difference between describing something at an achieved level and discussing something at an excellence level.

As students will need to produce a report to show their understanding of computer science teachers need to give students strategies on how to write a report. The CS Field Guide provides guidance for students and teachers on how to write a report on these topics. Note that it is a report rather than an essay; it should focus on reporting observations and facts, which requires enough detail that the reader can understand what has happened, but shouldn’t include material that isn’t relevant to the standard. 

Generic understanding of the academic terms

  • to describe is a written statement that gives details about the outcome or idea
  • to explain is to describe in detail with reasons – often including the how and why
  • to discuss requires an explanation that is comprehensive, detailed, broad and show evidence of some complexity in thinking. It may be a reasoned argument presenting a particular point of view, or a comparison and contrast between two ideas or concepts; or it may be a detailed reasoning and relationship between several complex ideas

Resources to support teaching and learning

Assessment for qualifications

The following achievement standard(s) could assess learning outcomes from this learning objective:

  • AS91074 Digital Technologies 1.44: Demonstrate understanding of basic concepts from computer science.

Key messages from the standard

  • This standard is about basic concepts from computer science. There are three basic concepts of computer science listed in explanatory note 3 and students must cover all three in their report. The three concepts are:
    • The concept of an algorithm
    • The concept of a programming language
    • The concept of a user interface and its usability
    • Within these three broad areas there are various aspects that need to be covered. Students need to ensure they cover everything asked for in the standard. Teachers can assist by providing suitable checklists and/or formative feedback to help ensure students cover everything that is expected. For example, for the concept of algorithm, a key concept is that different algorithms can have very different speeds (“costs”), and teachers should choose contrasting algorithms that illustrate this point. The contrast between sequential search and binary search is a good example to use, as students can investigate these and discover that binary search performs very well even for very large inputs (large values of n). If a sorting algorithm is to be used, either selection sort or insertion sort can serve as an example of an algorithm that doesn’t perform well, and quicksort or mergesort as an example of one that is significantly better, particular for large amounts of data. Only one contrasting pair of algorithms for the same task is required for the student report (for example, sequential vs. binary search), but for teaching purposes more than two algorithms for a task, and more than two problems (e.g. both searching and sorting) could be used to illustrate the context and give students a choice of what they will report on. Note that the algorithm chosen needs to be “sequential, conditional, and iterative”, which means that it should contain loops and if (or case) statements; it will need to be sophisticated enough that there could be multiple algorithms with different performance for the same task, and varying performance for different amounts of data. The searching and sorting algorithms mentioned above meet these criteria well because they have surprising responses as n (the number of items being searched or sorted) increases. Students can be given the programs for the algorithms they are evaluating (in fact, this is recommended, to ensure the programs work correctly); the important thing is that they evaluate the speed of the programs for different values of n. The step up for algorithms from achieved to merit to excellence is partly on the quality of the discussion (describing, explaining or comparing and contrasting respectively), and also going from a fixed problem size for the algorithm (e.g. sorting 5 items) to a variable input size (n items), and for excellence, to two algorithms for the same task for variable input sizes. It is for the latter that students should use two algorithms with strongly contrasting performance as n increases (e.g. sequential search and binary search).
    • For the second concept, about programming languages, students need to cover the following just to achieve:
      • Describe the role of programming languages
      • Describe the characteristics of programming languages
      • Include the different role and characteristics of high level languages and low level (or machine) languages
      • Describe the function of a compiler

Concepts such as “compiler” and “high level language” can be illustrated with particular languages. If the student is learning a language, then they can explore how a program is run in that language. If another language is needed to illustrate an idea then they can be given a working program in that language, and focus on learning the process for running the program (which may involve compiling and/or interpreting) and the characteristics of that language. For the merit level, students are required to “explain”, which is a step up from “describe”; the excellence level has a further step up to “comparing and contrasting”.

For the third concept "The concept of a user interface and its usability" students do not need to reference usability heuristics as this comes at at curriculum level 7. However they do need to talk about the usability of the user interface and what factors contribute to its usability. The report should reflect a sensitivity to the challenges faced by a user with aspects of an interface; usually a relatively small interface is more than sufficient for this. A “cognitive walkthrough” and/or observing a novice user with a device is a good way to find interface issues. Students should not confuse usability with the functionality or specifications of a device; just because it has a feature or capability doesn’t mean that the system is usable. Simple digital devices will usually provide more than enough ideas for this report; these include an alarm clock, burglar alarm, MP3 player, dictaphone, timer switch, or remote control. Students should not implement their own interface for this standard; it is very difficult for them to objectively evaluate an interface they have designed themselves. The step up from achieved to merit to excellence is based on whether the student describes, explains or discusses the issues; the excellence level also requires two related interfaces to be compared and contrasted (e.g. two models of alarm clock, or a physical stopwatch and one on a smartphone).

Students seem to have most success when they write their reports based on their own experiences rather than writing a theoretical report about the topics. So for example, if one of the topics to be covered is about the user interface and its usability students may undertake a range of learning experiences related to this topic such as a cognitive walkthrough (available from the CS4FN website on the following page http://www.cs4fn.org/usability/cogwalkthrough.php). They can then write about user interfaces and usability based on these learning experiences, illustrated with examples they have chosen themselves (such as the user interface on an alarm clock and its usability).

The assessment specifications state “It is essential that the candidate produce the  report  with close reference to the individual candidate’s  experience of computer science”.

It is important that students only submit material they understand. They should write in their own words about their own experiences. Students should reference material that is not their own using appropriate referencing at the point of use. The use of information from other sources can assist the student to demonstrate understanding only where the student does one or more of the following:

  • interpreting or rewriting the information in their own words
  • relating the information to a specific context or example
  • commenting meaningfully on the information.
  • Using personalized examples to illustrate the concepts will usually be sufficient, and rewriting descriptions from books or the web generally won’t contribute to showing a student’s understanding (and in fact, risks revealing misunderstandings if it is paraphrased carelessly). Technical terms should be used correctly.
  • Students should not include material that is unrelated to the requirements of the standard.
  • Students need to present their reports in a way that is clearly legible for the markers. Images of code need to be large enough and clear enough that the code can be read. Colour printing can be important if information is colour coded.
  • Tables and graphs (particularly of algorithm performance) must be interpreted by the student and discussed. It is not sufficient to present data without explanation. Students should also be careful to label the axes of graphs or columns of tables, and make units of measurement clear.
  • For the most up to date information, teachers should be referring to the latest standard, assessment specifications, assessment reports and student exemplars on the NZQA website. Refer to links below.

Resources to support student achievement

Last updated February 20, 2018