Subject specific terminology

User guide

Throughout this scheme and especially in the "live coding" videos, subject specific terminology is used extensively. The more students are exposed to the language of programming the more they will become confident with it. This also enables them to articulate problems and solutions more coherently.

Item question

Below is a glossary of programming terms suitable for GCSE and A level students.

You can use these terms and definitions to ask students, "item" questions from the block model of program comprehension during feedback conversations.

E.g. "Can you identify all the flag items in the program?"

E.g. "Can you identify an example of an initialise?"


  • Argument: data passed into a subprogram.
  • Array: a data structure of a fixed size that holds data all of the same data type under a single identifier.
  • Assign: giving a variable or constant a value.
  • Block: a section of code. Usually inside a loop or selection.
  • Boolean: true or false.
  • Call: running the code inside a subprogram.
  • Casting: turning one data type into another. Synonymous with coercion.
  • Coercion: turning one data type into another. Synonymous with casting.
  • Condition: the comparison of one or more data structures. The outcome is true or false.
  • Constant: a memory location that never changes its value. Synonymous with fixed value variable.
  • Data type: Boolean, integer, float or string. The type of data held by a variable or constant.
  • Data structure: an organised store for data in memory - variable, constant, array, list.
  • Decomposition: breaking a problem down into smaller, manageable sections to make problem solving easier.
  • Definition: identifying the start of a subprogram.
  • Declare: the first reference to data structure. Often includes the data type.
  • Enumerate: initial data for an array or list assigned when the structure is declared.
  • File: data held on permanent secondary storage.
  • Flag: a variable holds either true or false. Also known as a Boolean data type.
  • Float: a number with a decimal component. Synonymous with real.
  • Function: a subprogram that returns a value. May take parameters.
  • Higher-order data structure: a data structure built from smaller data structures: stack, queue, graph, tree
  • Identifier: the name of a subprogram, variable, constant or data structure.
  • Initialise: giving a variable or constant a value for the first time.
  • Integer: a whole number.
  • Iteration: Examining each element of a data structure. Can also mean repeating a code block. Synonymous with loop.
  • Library: a set of functions external to the program that can be included within the program extending the commands.
  • List: a data structure of a variable size that holds data of mixed data types under a single identifier.
  • Loop: repeating a section of code. Synonymous with iteration and repetition.
  • Modulus: the result of a modulo operator being applied to two values.
  • Nesting: when one selection or iteration is written inside another.
  • Operator: can be mathemetical: + - * / ^ integer division, modulo %, or logical: < <= == >= >, or Boolean: OR, AND, NOT.
  • Parameter: variable assigned in subprogram definitions passed in from other parts of the program.
  • Parenthesis: brackets used to signify arguments, parameters and set order of precedence.
  • Procedure: a block of code used for problem decomposition. May take parameters but does not return a value.
  • Selection: branching of code to another program statement depending on the outcome of a condition.
  • Sequence: one instruction after another.
  • Qualifier: the character used to denote data - quotes around a string.
  • Real: a number with a decimal component. Synonymous with float.
  • Repetition: repeating a block of code a given number of times. Synonymous with loop.
  • Return value: the result of a function given back to the function call.
  • Subprogram: a smaller defined part of the program. Can be a procedure or function. Used for problem decomposition.
  • Variable: an area of memory holding a single value of a single data type.

Different uses of variables

It can help students to understand when to apply typical programming techniques by understanding the ten roles that variables can play in a program.

You can use these for class discussions. E.g. "Identify the gatherer in this program."

  1. Bester: stores the highest value found so far in a loop. Also known as best so far, or wanted.
  2. Fixer: the value is never changed after initialisation. Known as a constant.
  3. Follower: Stores the old value of another variable before it is changed.
  4. Gatherer: Stores the sum of values so far in a loop.
  5. One-way flagger: a Boolean variable which once changed cannot get its original value again. Often used for validation.
  6. Organiser: a variable that is used for reorganised elements. Often used to store a sorted list.
  7. Recenter: stores the latest value input.
  8. Stepper: the value increments (goes up) or decrements (goes down) in a loop.
  9. Temper: a variable that is only needed for a very short time. Often used to swap two values.
  10. Walker: a variable used to traverse a higher-order structure. Often used to store a current node in a graph or tree.
Craig'n'Dave logo

Craig 'n' Dave

Bett Awards 2024 Finalist