Basic (Level 1)

  • Write a pseudocode[3] algorithm[4] for a program
  • Create variables[5] with sensible names
  • Use multiple data[10] types (int, float[11], boolean[6], string[12], char)
  • Output data to the screen
  • Input data from the user via the keyboard or other means
  • Write sequential programs
  • Use conditional statements (if, else)
  • Use iterative statements (while, do while, repeat and for loops)
  • Comment[7] code
  • Test cost
  • Debug code
  • Lists and Arrays
  • Functions / Methods / Procedures

Advanced (Level 2)

  • check data for validity
  • comments describe[8] code function[9] and behaviour
  • functions that use parameters and/or return values
  • modifies data stored in collections (eg lists)
  • stores multidimensional data in collections
  • event[13] handling code for GUI[1]
  • non-basic[14] string manipulation (eg concatenate isn’t enough)
  • use fuctionality of additional non-core libraries
  • respond to events generated by a GUI

Complex (Level 3)

  • Write code for GUI
  • reading from and writing to files or other persistent storage
  • OOP’s programming[2] using class(es) and objects defined by the student
  • using data types defined by the student
  • using complex[15] data structures (eg stacks, queues, trees)
  • using third party or non-core API, library or framework


Terms definitions
1. GUI. An interface that supports users to work with electronic devices via icons and visual indicators rather than through text commands. The icons and visual indicators are generally manipulated by a mouse or via touch screen technology.
2. programming. The process of writing a programme
3. pseudocode. A detailed but readable description of what a computer program or algorithm must do. It uses the structural conventions of a normal programming language, but is intended to be read by humans rather than machines.
4. algorithm. A list of steps that you can follow to finish a task
5. variables. “Containers” used to label and store data in memory. The data can then be used throughout a program: * Integer variables use only numbers and so can be used for calculations * String variables are sequences of code that may contain numbers, letters, and other characters, and so cannot be used for calculations.