Edexcel GCSE Computer Science

1: Problem Solving

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 what an algorithm is, what algorithms are used for and be able to interpret algorithms (flowcharts, pseudocode, written descriptions, program code)
Problem Solving
KeywordDefinition
Algorithmstep by step instructions to solve a problem
Flowchartdiagram showing the path of execution through each of the decisions, processes, inputs and outputs of an algorithm
Interpretunderstand what the algorithm does
Program codean algorithm written in a way that can be interpreted or compiled so it can be run by a computer
Pseudocodehuman readable code that describes how an algorithm works
Written descriptionsentences 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)
Problem Solving
KeywordDefinition
Algorithmstep by step instructions to solve a problem
Boolean expressionA question that has a True / False answer
ConventionsA way of describing an algorithm so that someone else can understand it (flowchart, pseudocode, written description or draft program code)
FlowchartA diagram showing how an algorithm flows between inputs, outputs, decisions and processes
IterationWhen an algorithm repeats one or more instructions multiple times.
Programming Constructsthe building blocks used in every programming language: sequence, selection and iteration
Pseudocodehuman readable code that describes how an algorithm works but can't be run by a computer
SelectionWhen an algorithm has to make a choice based on a boolean expression
SequenceWhen an algorithm does more than one instructions in a particular order
Written descriptionsentences that describe each step of how an algorithm works
1.1.3: understand the purpose of a given algorithm and how an algorithm works
Problem Solving
KeywordDefinition
Algorithmstep by step instructions to solve a problem
Purposewhat 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
Problem Solving
KeywordDefinition
Algorithmstep by step instructions to solve a problem
Data setvalues given to an algorithm as inputs
Outputthe 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
Problem Solving
KeywordDefinition
Logic erroran 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 erroran 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 erroran 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
Problem Solving
KeywordDefinition
Algorithmstep by step instructions to solve a problem
High levelA 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 levelA 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
Problem Solving
KeywordDefinition
Algorithmstep by step instructions to solve a problem (e.g. search or sort data)
Data structuresthe type of data given to an algorithm and how it is stored (e.g. integer, boolean, real)
Data valuesthe range of data given to an algorithm and whether or not it is already sorted
Manipulateprocess 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
Problem Solving
KeywordDefinition
Binary searcha 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 sorta 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 searcha 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 sorta sorting algorithm that works by repeatedly breaking up a list of data into smaller lists then merging those smaller lists back together in order
Searchcheck if and where a specific value can be found in within a set of data
Sortarrange 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
Problem Solving
KeywordDefinition
Algorithmstep by step instructions to solve a problem
Efficiencya measure of how long an algorithm takes to run, measured by the number of steps it has to take.
Logical reasoningcomparing the efficiency, input and output of algorithms
Purposethe problem that an algorithm is supposed to solve
Requirementsa list of criteria that an algorithm must meet (e.g. speed, memory use, inputs , outputs)
Test datavalues 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
Problem Solving
KeywordDefinition
Initialisationwhat happens when the program first loads to get ready for solving the problem
Inputsthe data that a program must be able to accept and understand
Outputsthe information that a program must be able to provide to the user as the result of solving a problem
Processingwhat calculations and actions are made by a program using the input data provided
Requirementsa 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
Problem Solving
KeywordDefinition
Decompositionsplitting one big problem into lots of smaller sub problems
Sub problema small part of a bigger problem
1.2.3: understand how abstraction can be used effectively to model aspects of the real world
Problem Solving
KeywordDefinition
Abstractionhiding unnecessary detail to simplify a problem and focus on the most important details
Modela 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
Problem Solving
KeywordDefinition
Abstractionhiding unnecessary details to simplify a problem in order to focus on the most important details
Functionexample of abstraction: named section of code that can calculate and return a value. Can be used multiple times without knowing how it works.
Procedureexample of abstraction: named section of code that does something useful. Can be used multiple times without knowing how it works.
Programwrite code to solve a problem