Tuesday, 8 July 2014

programming level 3

While marking the standard, for merit, students need to follow a disciplined design and implementation process, with documented cycles of incremental development. The following is the guidance given through the curriculum. yet there is no guidance on what a disciplined and planned development process. There is nothing in the resources that I have access to either.

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.

Learning objective: DTG 8-6/7

Students will:
  • develop a complex computer program for a specified task.

Indicators

  • Uses an appropriate IDE to develop code and use the IDE debugging tools effectively to identify logic errors and correct a program.
  • Follows a disciplined and planned development process with documented cycles of incremental development and comprehensive testing at each cycle to construct a correctly working program.
  • Follows accepted debugging practices by interpreting syntax and runtime error messages to identify the underlying errors and correct a program.
  • Follows accepted testing and debugging practices for systematically applying test cases and using tracing/debugging statements to identify logic errors and correct a program.
  • Writes 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/and so on and data (for example, classes, modules, encapsulated data structures, packages, and so on), and has well-designed algorithmic structures for the individual methods/functions/and so on.
  • Writes a program that includes functions/methods/procedures that are passed compound data structures (arrays, lists, objects, and so on) 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/and so on into classes (or modules, packages, and so on).
  • Includes explanatory comments and identifiers that support maintainability (including informative comments on functions/methods/procedures).
  • Tests their program to ensure it works correctly.

Progression

By level 8, students will have learned to specify, test, and design to a level where the plan for the structure of a complex software program has a modular structure, an indexed data structure, input and output, and procedural structures that combine sequential, conditional, and iterative structures.
They will have learned 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, that is by level 8 students should be using an Integrated Development Environment (IDE) to develop code following a disciplined development process with cycles of incremental development and testing.

Teacher guidance

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/and so on with parameters and/or return values, includes calls to the methods/functions/and so on, uses structured data, including sequential data (arrays, lists, and so on) and compound data (records, objects, tuples and so on), uses and updates persistent data in files or databases, has structuring of the methods/functions/and so on and data (for example, classes, modules, encapsulated data structures, packages, and so on)
  • 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).

Contexts for teaching and learning

Students will submit evidence of both the design and implementation (including testing) of the program.
There must be a specified task which requires the development of a complex computer program in order to resolve it. The task may be teacher given or developed in negotiation with the student, perhaps as part of a broader technology project. Refer to AS91637 Explanatory note 7.
Ensure students construct a complex computer program (defined in AS91637 Explanatory note 5) and set out the program code clearly and concisely. Any code that is auto-generated by an Integrated Development Environment (IDE) cannot be used as evidence of student code (refer AS91637 Explanatory note 6). Code-complete (as some IDE’s do) is okay. However, if the whole code for a class or object has been auto-generated and the student has not created it, then it is not the student’s own code.
The way students go about the task is important, so in addition to looking at the completed program, be aware of how students approached the task.

No comments: