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 the benefit of using decomposition and abstraction to model aspects of the real world and analyse, understand and solve problems
Keyword
Definition
abstraction
hiding unnecessary details in order to focus on the most important points to make a problem easier to solve
analysis
detailed description of a problem and what's involved to solve it
decomposition
breaking a problem down into smaller parts to make it easier to solve
model
simplified simulation of a real world problem
sub problem
smaller part of a project that can be solved separately
1.1.2: understand the benefits of using subprograms
Keyword
Definition
call sub program
part o the code which actually makes a sub program run
function
type of sub program which always returns a value
identifier
name of a subprogram that should describe what it does
indentation
moving code across from the left of the screen
parameter
data passed into a sub program
procedure
type of sub program which does not return a value
return value
data passed out of a sub program
scope
part of a program which you can spot in python by the level of indentation
sub program
part of a program with a name that carries out a specific task within a larger program that can be re-used to make code easier to read and work more efficiently
sub program definition
part of the code which tells python exactly what a sub program should do
1.2.1: be able to follow and write algorithms (flowcharts, pseudocode, program code) that use sequence, selection, repetition (count-controlled, condition-controlled) and iteration (over every item in a data structure), and input, processing and output to solve problems
Keyword
Definition
algorithm
step by step instructions to solve a problem
boolean expression
question with a true or false answer
count-controlled repetition
repeating instructions a set number of times
data structure
variable which stores multiple values (such as a string, record or array)
input
data that goes into an algorithm
iteration
executing instructions multiple times - once for each value in a data structure
output
information that comes out of an algorithm
post-conditioned repetition
repeating instructions one or more times based on a boolean expression
pre-conditioned repetition
repeating instructions zero or more times based on a boolean expression
process
calculations performed within an algorithm
selection
instructions which choose what is executed next based on a boolean expression
sequence
more than one instruction that have to be executed in a particular order
1.2.2: understand the need for and be able to follow and write algorithms that use variables and constants and one- and two-dimensional data structures (strings, records, arrays)
Keyword
Definition
algorithm
step by step instructions to solve a problem
constant
named value which doesn't change while a program runs
data structure
a variable which stores multiple values (e.g. string, record or array)
index
a number used to specify the position of data within an array or string
one-dimensional array
a type of data structure which stores multiple values of the same data type in order
record
a type of data structure which stores a sequence of items with different data types
string
a type of data structure which uses multiple characters to store text
two-dimensional array
a type of data structure which stores multiple values of the same data type in a table
variable
named memory location used to store a value which can change while a program runs
1.2.3: understand the need for and be able to follow and write algorithms that use arithmetic operators (addition, subtraction, division, multiplication, modulus, integer division, exponentiation), relational operators (equal to, less than, greater than, not equal to, less than or equal to, greater than or equal to) and logical operators (AND, OR, NOT)
Keyword
Definition
-
subtraction arithmetic operator to take one value from another
*
multiplication arithmetic operator to times one value by another
**
exponent arithmetic operator to raise a value to a power
/
division arithmetic operator to divide one value by another
//
integer division arithmetic operator to divide ignoring the remainder
%
modulus arithmetic operator to give the remainder after dividing
+
addition arithmetic operator to add two values together
arithmetic operator
symbol or word which represents a mathematical calculation with two values
boolean expression
question which can be calculated to give an answer of either true or false
logical operator
symbol or word used to combine or change boolean expressions
relational operator
symbol or word which represents a comparison between two values
1.2.4: be able to determine the correct output of an algorithm for a given set of data and use a trace table to determine what value a variable will hold at a given point in an algorithm
Keyword
Definition
algorithm
step by step instructions to solve a problem
input
data that is needed for an algorithm to run
output
information that is sent out when an algorithm has run
trace table
grid showing how the value of each variable in an algorithm changes when each line of code runs
value
data that can be stored in a variable
variable
data structure which can store a value
1.2.5: understand types of errors that can occur in programs (syntax, logic, runtime) and be able to identify and correct logic errors in algorithms
Keyword
Definition
error
something that's gone wrong with a program
logic error
type of error where the program does exactly what it's told to do but the programmer told it to do the wrong thing
runtime error
type of error where the program crashes because it tries to do something impossible
syntax error
type of error which prevents a program from running at all because the rules of the programming language have been broken
1.2.6: understand how standard algorithms (bubble sort, merge sort, linear search, binary search) work
Keyword
Definition
adjacent values
values which are next to each other
binary search
algorithm used to find a value in a sorted list which works by repeatedly dividing the list in two after checking the middle value
bubble sort
simple but slow sorting algorithm that works by swapping pairs of adjacent values in a list
linear search
algorithm used to find a value in any list which works by checking each value in order until it finds a match
merge sort
complex but fast sorting algorithm that works by splitting a list of values into individual values then recombining them in order
standard algorithm
step by step instructions to sort or search through data
1.2.7: be able to use logical reasoning and test data to evaluate an algorithm's fitness for purpose and efficiency (number of compares, number of passes through a loop, use of memory)
Keyword
Definition
algorithm
step by step instructions to solve a problem
efficiency
how quickly an algorithm solves a problem or how much memory an algorithm needs
fitness for purpose
how much of the problem the code for an algorithm actually solves
iteration
a task that is repeated in an algorithm
logical reasoning
being able to compare two algorithms to decide which one is most suitable for solving a problem
memory use
the largest amount of values an algorithm needs to store at one time
number of compares
the amount of values a algorithm may have to look at before it finishes searching or sorting
number of passes
the amount of iterations needed before an algorithm finishes searching or sorting
test data
the exact values used as inputs to test an algorithm
1.3.1: be able to apply logical operators (AND, OR, NOT) in truth tables with up to three inputs to solve problems
Keyword
Definition
AND
a logical operator where the output is only 1 if both inputs are 1
binary
0s and 1s
boolean expression
a question with an answer which is either true or false
logical operator
A way of combining boolean expressions or binary values AND, OR or NOT
NOT
a logical operator where the output is the opposite of the input
OR
a logical operator where the output is 1 if either or both inputs are 1
truth table
a grid showing the outputs for all possible combinations of inputs