Te Kete Ipurangi Navigation:

Te Kete Ipurangi
Communities
Schools

Te Kete Ipurangi user options:


Ministry of Education.
Kaua e rangiruatia te hāpai o te hoe; e kore to tātou waka e ū ki uta

Construct a Software Program

Construct a software program focuses on constructing a computer program for a specified task including testing and debugging the program to ensure the program works correctly.

Initially students learn to construct basic computer programs in any programming language (drag-and-drop language, specialised programming language, or a general purpose programming language) that include:

  • variables, assignment, predefined actions, expressions, and sequence, selection, and iteration control structures; and
  • obtains and uses input from a user, sensors, or other external source.

Students progress to constructing complex computer programs using a text based programming language.

  Level 6 Level 7 Level 8
Lo
Demonstrate ability to construct a basic software program Demonstrate ability to construct an advanced software program Develop a complex computer program for a specified task
Guidance

To support students to develop an ability to construct a basic software program at level 6, teachers could:

  • Guide students to independently implement a plan for a basic program in a suitable programming language (drag-and-drop language, specialised programming language, or a general purpose programming language) that uses a procedural structure with well-chosen actions, conditions and control structures that ensures the program is flexible and robust
  • Guide students on how to set out program code concisely, and document programs with variable names and succinct comments that accurately explain and justify code function and behaviours
  • Guide students on how to comprehensively test and debug programs in an organised time effective way to ensure that they work on expected, boundary and invalid inputs

To support students to develop an ability to construct an advanced software program at level 7, teachers could:

  • Guide students on how to independently implement a plan to construct advanced programs, in suitable programming language, where the modules (including their procedural structures) constitute a well-structured logical decomposition of the tasks
  • Guide students on how to use variables, constants, and derived values effectively to increase the flexibility and robustness of programs
  • Guide students on how to set out program code clearly and document programs with variables and module names, and include comments that explain and justify code functions and behaviours
  • Guide students on how to comprehensively test and debug programs in organised and time‑effective ways to ensure that programs are correct on expected, boundary's and invalid inputs.

To support students to develop a complex software program, at level 8, teachers could:

  • Ensure students understand the requirement at this level that the programming language must be a text-based programming language and have an appropriate IDE that includes debugging tools.
  • Guide students on how to use an Integrated Development Environment (IDE) to develop code following a disciplined development process with cycles of incremental development and testing.
  • Guide students on how to construct a complex computer program in a text-based programming language that supports object-orientated structuring.
  • Guide students on how to follow accepted testing and debugging practices using IDE debugging tools to test and debug a program to ensure it works for expected, boundary, and exceptional cases.
  • Provide opportunities for students to practice using an appropriate IDE to develop code following a disciplined development process with cycles of incremental development and testing. Provide opportunities for students to practice constructing and testing complex computer programs.
  • Ensure students understand the requirement at this level that a complex program is a program written in a text-based programming language that interacts with a user, includes variables, assignment, predefined actions, expressions, includes sequence, selection, iteration control structures, includes programmer defined methods/ functions/etc with parameters and/or return values, includes calls to the methods/functions/etc, uses structured data, including sequential data (arrays, lists, etc) and compound data (records, objects, tuples etc), uses and updates persistent data in files or databases, has structuring of the methods/functions/etc and data (eg, Classes, modules, encapsulated data structures, packages, etc).
  • Ensure students have a specified task that requires the development of a complex program to resolve the task. The task can be teacher- given or developed in negotiation with the student. Ensure the task is large enough to justify decomposition of a program into multiple classes (or other high level modules).
Indicators

Students can:

  • independently implement a plan for a basic program in a suitable programming language that uses a procedural structure with well-chosen actions, conditions and control structures that ensures the program is flexible and robust
  • set out a program's code concisely, and document the program with variable names and succinct comments that accurately explain and justify code function and behaviour
  • comprehensively test and debug the program in an organised time effective way to ensure that it works on expected, boundary and invalid inputs

Students can:

  • independently implement a plan to construct an advanced program, in a suitable programming language, where the modules (including their procedural structures) constitute a well-structured logical decomposition of the task
  • use variables, constants, and derived values effectively to increase the flexibility and robustness of a program
  • set out a program's code clearly and document the program with variable and module names and comments that explain and justify code function and behaviour
  • comprehensively test and debug the program in an organised and time‑effective way to ensure that it is correct on expected, boundary and invalid inputs.

Students can:

  • use an appropriate IDE to develop code and use the IDE debugging tools effectively to identify logic errors and correct a program
  • follow a disciplined and planned development process with documented cycles of incremental development and comprehensive testing at each cycle to construct a correctly working program
  • follow accepted debugging practices by interpreting syntax and runtime error messages to identify the underlying errors and correct a program
  • follow accepted testing and debugging practices for systematically applying test cases and using tracing/debugging statements to identify logic errors and correct a program.
  • write a computer program in a text-based programming language that includes commented, programmer defined methods/functions/etc with parameters and/or return values, has structuring of the methods/functions/etc and data (eg, classes, modules, encapsulated data structures, packages, etc), and has well-designed algorithmic structures for the individual methods/functions/etc.
  • write a program that includes functions/methods/procedures that are passed compound data structures (arrays, lists, objects, etc) and modify their contents, and has a well-designed decomposition into functions/methods with well-chosen parameters and has a well-designed structuring of data and methods/functions/etc into classes (or modules, packages, etc)
  • include explanatory comments and identifiers that support maintainability (including informative comments on functions/methods/procedures)
  • test their program to ensure it works correctly.
As
AS91076 Digital Technologies 1.46

Construct a basic computer program for a specified task

 Standards & Assessment
AS91373 Digital Technologies 2.46

Construct an advanced computer program for a specified task

 Standards & Assessment

AS91637 Digital Technologies 3.46

Develop a complex computer program for a specified task

Standards & Assessment (draft)

Return to top ^