Edexcel GCSE Computer Science 2020

1: Computational Thinking

Revision tools
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
Computational Thinking
KeywordDefinition
abstractionhiding unnecessary details in order to focus on the most important points to make a problem easier to solve
analysisdetailed description of a problem and what's involved to solve it
decompositionbreaking a problem down into smaller parts to make it easier to solve
modelsimplified simulation of a real world problem
sub problemsmaller part of a project that can be solved separately
1.1.2: understand the benefits of using subprograms
Computational Thinking
KeywordDefinition
call sub programpart o the code which actually makes a sub program run
functiontype of sub program which always returns a value
identifiername of a subprogram that should describe what it does
indentationmoving code across from the left of the screen
parameterdata passed into a sub program
proceduretype of sub program which does not return a value
return valuedata passed out of a sub program
scopepart of a program which you can spot in python by the level of indentation
sub programpart 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 definitionpart 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
Computational Thinking
KeywordDefinition
algorithmstep by step instructions to solve a problem
boolean expressionquestion with a true or false answer
count-controlled repetitionrepeating instructions a set number of times
data structurevariable which stores multiple values (such as a string, record or array)
inputdata that goes into an algorithm
iterationexecuting instructions multiple times - once for each value in a data structure
outputinformation that comes out of an algorithm
post-conditioned repetitionrepeating instructions one or more times based on a boolean expression
pre-conditioned repetitionrepeating instructions zero or more times based on a boolean expression
processcalculations performed within an algorithm
selectioninstructions which choose what is executed next based on a boolean expression
sequencemore 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)
Computational Thinking
KeywordDefinition
algorithmstep by step instructions to solve a problem
constantnamed value which doesn't change while a program runs
data structurea variable which stores multiple values (e.g. string, record or array)
indexa number used to specify the position of data within an array or string
one-dimensional arraya type of data structure which stores multiple values of the same data type in order
recorda type of data structure which stores a sequence of items with different data types
stringa type of data structure which uses multiple characters to store text
two-dimensional arraya type of data structure which stores multiple values of the same data type in a table
variablenamed 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)
Computational Thinking
KeywordDefinition
-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 operatorsymbol or word which represents a mathematical calculation with two values
boolean expressionquestion which can be calculated to give an answer of either true or false
logical operatorsymbol or word used to combine or change boolean expressions
relational operatorsymbol 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
Computational Thinking
KeywordDefinition
algorithmstep by step instructions to solve a problem
inputdata that is needed for an algorithm to run
outputinformation that is sent out when an algorithm has run
trace tablegrid showing how the value of each variable in an algorithm changes when each line of code runs
valuedata that can be stored in a variable
variabledata 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
Computational Thinking
KeywordDefinition
errorsomething that's gone wrong with a program
logic errortype of error where the program does exactly what it's told to do but the programmer told it to do the wrong thing
runtime errortype of error where the program crashes because it tries to do something impossible
syntax errortype 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
Computational Thinking
KeywordDefinition
adjacent valuesvalues which are next to each other
binary searchalgorithm used to find a value in a sorted list which works by repeatedly dividing the list in two after checking the middle value
bubble sortsimple but slow sorting algorithm that works by swapping pairs of adjacent values in a list
linear searchalgorithm used to find a value in any list which works by checking each value in order until it finds a match
merge sortcomplex but fast sorting algorithm that works by splitting a list of values into individual values then recombining them in order
standard algorithmstep 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)
Computational Thinking
KeywordDefinition
algorithmstep by step instructions to solve a problem
efficiencyhow quickly an algorithm solves a problem or how much memory an algorithm needs
fitness for purposehow much of the problem the code for an algorithm actually solves
iterationa task that is repeated in an algorithm
logical reasoningbeing able to compare two algorithms to decide which one is most suitable for solving a problem
memory usethe largest amount of values an algorithm needs to store at one time
number of comparesthe amount of values a algorithm may have to look at before it finishes searching or sorting
number of passesthe amount of iterations needed before an algorithm finishes searching or sorting
test datathe 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
Computational Thinking
KeywordDefinition
ANDa logical operator where the output is only 1 if both inputs are 1
binary0s and 1s
boolean expressiona question with an answer which is either true or false
logical operatorA way of combining boolean expressions or binary values AND, OR or NOT
NOTa logical operator where the output is the opposite of the input
ORa logical operator where the output is 1 if either or both inputs are 1
truth tablea grid showing the outputs for all possible combinations of inputs