By the end of this sub-unit, you should be able to:

- understand and use pseudocode for assignment, using ←
- understand and use pseudocode, using the following conditional statements: IF … THEN … ELSE … ENDIF CASE … OF … OTHERWISE … ENDCASE
- understand and use pseudocode, using the following loop structures: FOR … TO … NEXT REPEAT … UNTIL WHILE … DO … ENDWHILE
- understand and use pseudocode, using the following commands and statements: INPUT and OUTPUT (e.g. READ and PRINT) totalling (e.g. Sum ← Sum + Number) counting (e.g. Count ← Count + 1)
- understand and use standard flowchart symbols to represent the above statements, commands and structures

By the end of this sub-unit, you should be able to:

- show understanding that every computer system is made up of sub-systems, which in turn are made up of further sub-systems
- use top-down design, structure diagrams, flowcharts, pseudocode, library routines and subroutines
- work out the purpose of a given algorithm
- explain standard methods of solution
- suggest and apply suitable test data
- understand the need for validation and verification checks to be made on input data (validation could include range checks, length checks, type checks and check digits)
- use trace tables to find the value of variables at each step in an algorithm
- identify errors in given algorithms and suggest ways of removing these errors
- produce an algorithm for a given problem (either in the form of pseudocode or flowchart)
- comment on the effectiveness of a given solution