Including identifying each stage and performing these tasks for each stage: analysis: abstraction, decomposition of the problem, identification of the problem and requirements; design: decomposition, structure diagrams, flowcharts, pseudocode; coding: writing program code and iterative testing; testing: testing program code with the use of test data. Including: inputs, processes, outputs, storage. Including: structure diagrams, flowcharts, pseudocode. Including: stating the purpose of an algorithm, describing the processes involved in an algorithm. Limited to: linear search, bubble sort, totalling, counting, finding maximum, minimum and average values. Including: range check, length check, type check, presence check, format check, check digit. Including: visual check, double entry check. Limited to: normal, abnormal, extreme, boundary. Extreme data is the largest/smallest acceptable value. Boundary data is the largest/smallest acceptable value and the corresponding smallest/largest rejected value. Including, at each step in an algorithm: variables, outputs, user prompts. Precision is required when writing algorithms, e.g., x > y is acceptable but x is greater than y is not acceptable.
Including: integer, real, char, string, Boolean. Including: IF statements, CASE statements. Including: count-controlled loops, pre-condition loops, post-condition loops. Including: length, substring, upper, lower. The first character of the string can be position zero or one. Arithmetic, limited to: +, -, /, *, ^ (raised to power of), MOD, DIV. Relational, limited to: =, <, <=, >, >=, <> (not equal to). Logical, limited to: AND, OR, NOT. Including nested selection and iteration. Candidates will not be required to write more than three levels of nested statements. Procedures and functions may have up to three parameters. Including: MOD, DIV, ROUND, RANDOM. Including appropriate use of: meaningful identifiers, the commenting feature provided by the programming language, procedures and functions, relevant and appropriate commenting of syntax. Use meaningful identifiers for: variables, constants, arrays, procedures and functions.