You can print this page for a quick reference guide or you can use the tools below to create printable test sheets
1.1.1: understand what an algorithm is, what algorithms are used for and be able to interpret algorithms (flowcharts, pseudocode, written descriptions, program code)
Keyword
Definition
Algorithm
step by step instructions to solve a problem
Flowchart
diagram showing the path of execution through each of the decisions, processes, inputs and outputs of an algorithm
Interpret
understand what the algorithm does
Program code
an algorithm written in a way that can be interpreted or compiled so it can be run by a computer
Pseudocode
human readable code that describes how an algorithm works
Written description
sentences that describe each step of an algorithm
1.1.2: understand how to create an algorithm to solve a particular problem, making use of programming constructs (sequence, selection, iteration) and using appropriate conventions (flowchart, pseudo-code, written description, draft program code)
Keyword
Definition
Algorithm
step by step instructions to solve a problem
Boolean expression
A question that has a True / False answer
Conventions
A way of describing an algorithm so that someone else can understand it (flowchart, pseudocode, written description or draft program code)
Flowchart
A diagram showing how an algorithm flows between inputs, outputs, decisions and processes
Iteration
When an algorithm repeats one or more instructions multiple times.
Programming Constructs
the building blocks used in every programming language: sequence, selection and iteration
Pseudocode
human readable code that describes how an algorithm works but can't be run by a computer
Selection
When an algorithm has to make a choice based on a boolean expression
Sequence
When an algorithm does more than one instructions in a particular order
Written description
sentences that describe each step of how an algorithm works
1.1.3: understand the purpose of a given algorithm and how an algorithm works
Keyword
Definition
Algorithm
step by step instructions to solve a problem
Purpose
what an algorithm will achieve (e.g. to sort a list into ascending order)
1.1.4: understand how to determine the correct output of an algorithm for a given set of data
Keyword
Definition
Algorithm
step by step instructions to solve a problem
Data set
values given to an algorithm as inputs
Output
the data that will be the result when the the algorithm has finished running
1.1.5: understand how to identify and correct errors in algorithms
Keyword
Definition
Logic error
an error that occurs when an algorithm does exactly what it's told to do, but it's been told to do the wrong thing (e.g. repeat too many times)
Runtime error
an error that occurs after the code has started running but when it attempts to do something impossible (e.g. opening a file that doesn't exist)
Syntax error
an error that prevents the code from running at all because the code doesn't meet the rules of the programming language (e.g. missing brackets)
1.1.6: understand how to code an algorithm in a high-level language
Keyword
Definition
Algorithm
step by step instructions to solve a problem
High level
A way of describing a programming language that has to be compiled or interpreted before being run. You don't have to write much code in order to solve simple problems (e.g Python / C# / VB)
Low level
A way of describing a programming language that has to be assembled before being run. You often have to write a lot of code in order to solve simple problems. (e.g. assembly)
1.1.7: understand how the choice of algorithm is influenced by the data structures and data values that need to be manipulated
Keyword
Definition
Algorithm
step by step instructions to solve a problem (e.g. search or sort data)
Data structures
the type of data given to an algorithm and how it is stored (e.g. integer, boolean, real)
Data values
the range of data given to an algorithm and whether or not it is already sorted
Manipulate
process data to make it into useful information (e.g. search or sort)
1.1.8: understand how standard algorithms (bubble sort, merge sort, linear search, binary search) work
Keyword
Definition
Binary search
a search algorithm that only works with data that has already been sorted. It works by repeatedly splitting the list in half until it finds what it's looking for or finishes without finding it.
Bubble sort
a slow but simple algorithm for sorting data that works by repeatedly swapping values that are next to each other until the whole list is in order
Linear search
a search algorithm that will find data in a list even if it's not sorted in order. It works by looking at each item in the list in order until it finds what it is looking for or finishes without finding it.
Merge sort
a sorting algorithm that works by repeatedly breaking up a list of data into smaller lists then merging those smaller lists back together in order
Search
check if and where a specific value can be found in within a set of data
Sort
arrange data in order from the smallest to largest values or vice versa
1.1.9: be able to evaluate the fitness for purpose of algorithms in meeting specified requirements efficiently using logical reasoning and test data
Keyword
Definition
Algorithm
step by step instructions to solve a problem
Efficiency
a measure of how long an algorithm takes to run, measured by the number of steps it has to take.
Logical reasoning
comparing the efficiency, input and output of algorithms
Purpose
the problem that an algorithm is supposed to solve
Requirements
a list of criteria that an algorithm must meet (e.g. speed, memory use, inputs , outputs)
Test data
values that can be given to an algorithm as input data to test what output it will produce
1.2.1: be able to analyse a problem, investigate requirements (inputs, outputs, processing, initialisation) and design solutions
Keyword
Definition
Initialisation
what happens when the program first loads to get ready for solving the problem
Inputs
the data that a program must be able to accept and understand
Outputs
the information that a program must be able to provide to the user as the result of solving a problem
Processing
what calculations and actions are made by a program using the input data provided
Requirements
a list of criteria that a solution to a problem must meet (e.g. inputs & outputs)
1.2.2: be able to decompose a problem into smaller sub-problems
Keyword
Definition
Decomposition
splitting one big problem into lots of smaller sub problems
Sub problem
a small part of a bigger problem
1.2.3: understand how abstraction can be used effectively to model aspects of the real world
Keyword
Definition
Abstraction
hiding unnecessary detail to simplify a problem and focus on the most important details
Model
a simplified version of something in real life, used to investigate and make predictions (e.g. weather forecasting based on climate model)
1.2.4: be able to program abstractions of real-world examples
Keyword
Definition
Abstraction
hiding unnecessary details to simplify a problem in order to focus on the most important details
Function
example of abstraction: named section of code that can calculate and return a value. Can be used multiple times without knowing how it works.
Procedure
example of abstraction: named section of code that does something useful. Can be used multiple times without knowing how it works.