Candidates should be able to: 

  2.1.1 Problem-solving and design 

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


  2.1.2 Pseudocode and flowcharts 

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

(Candidates are advised to try out solutions to a variety of different problems on a computer using a language of their choice; no particular programming language will be assumed in this syllabus.)

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
(Candidates are advised to try out solutions to a variety of different problems on a computer using a language of their choice; no particular programming language will be assumed in this syllabus.)

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