02/10/2025, 22:26 Unit 1: Computational Thinking Edexcel GCSE Computer Science (copy)
Unit 1: Computational Thinking Edexcel
GCSE Computer Science (copy)
Set of step-by-step instructions to complete a
Algorithm
task, or solve a problem
breaking down larger problems into smaller
Decomposition
problems, making them easier to solve
the process of hiding unnecessary details so that
Abstraction
only the important points remain
Seeing similarities and differences in a range of
Pattern recognition
problems
Computational thinking Using methods to solve complex problems
Diagram that represents an algorithm showing
Flowchart the steps as boxes, and their order by
connecting them with arrows.
3 basic programming constructs Selection - Sequence - Iteration
3 elements of a successful algorithm Accurate - Efficient - Consistent
Two conditions must both be true for the whole
Logical operators - AND
statement to be true
Either one of two conditions must be true for
Logical operators - OR
the whole statement to be true
Logical operators - NOT Reverses the logic of the AND and OR statement
Logic error Error that results in an unexpected output
Trace table Used to identify logic errors in an algorithm
Sorting - Bubble sort Uses 'brute force' to sort a list
Sorting - Merge sort Uses 'divide and conquer' to sort a list
[Link] 1/3
02/10/2025, 22:26 Unit 1: Computational Thinking Edexcel GCSE Computer Science (copy)
Starts at beginning of list and searches until the
Searching - Linear search
item is found
Selects the median item in a list, then checks if
Searching - Binary search
the desired item is higher or lower
The middle number in a list of ascending or
Median
descending numbers
Construct that allows the repetition of a process
What is an Iteration?
(also called a loop)
Construct that allows a choice to be made
Selection
between different options
reduce duplicate code
Why are subprograms used allows for easy reuse of code
makes code easier to debug
What is this flowchart
Terminal (start and stop)
symbol?
What is this flowchart input/output (e.g. input: enter a value/ print:
symbol? your new value)
What is this flowchart
process (e.g. value*3)
symbol?
What is this flowchart
decision (e.g. if value>5)
symbol?
Slow
Aspects of Bubble sort Suitable for small data sets
easy to program
Quick
Aspects of merge sort suitable for large data sets
more difficult to program
Aspects of linear search items do not need to be stored in order
new items are added at the end - quick
[Link] 2/3
02/10/2025, 22:26 Unit 1: Computational Thinking Edexcel GCSE Computer Science (copy)
suitable for a small number of items
items must be in order for the algorithm to work
new items must be added in the correct place to
Aspects of binary search
keep correct order - slow
suitable for a large number of items
a record is a list where each value may be a
Record
different data type.
Why are constants used (instead of rewriting the If a value of a constant has to be changed, only
value each time)? one change is required
What is this type of operator? <, != relational
What is this type of operator? +, * arithmetic
What is this type of operator? AND, NOT Boolean/logical
A syntax error is caused by using words of the
programming language incorrectly, whereas a
Difference between syntax and logic errors
logic error is caused by an error in the design of
the algorithm
Explain the effect on efficiency of using a bubble A bubble sort will use less memory because it is
sort algorithm instead of a merge sort algorithm an in-place sort
transforms the input without using extra
In-place algorithms
memory (e.g. bubble sort)
requires extra memory, the amount required
Out-of-place algorithms
depends on the input size (e.g. merge sort)
Define the term ‘iteration’. looping over every item in a data structure
The subprogram may be used more than once
Benefit of subprograms
in a program so will save time when writing
If the length of the array is an odd number,
Explain why integer division is used rather than
division would return a real (decimal) number
division, when finding the middle item in an
which is not valid because index values are
array
integers
A self contained block of code that performs a
Define the term ‘subprogram’. specific task, that can be called by the main
program when needed
[Link] 3/3