Centre number Candidate number
Surname
Forename(s)
Candidate signature
I declare this is my own work.
GCSE
COMPUTER SCIENCE
Paper 1 Computational Thinking and Problem-Solving
Time allowed: 1 hour 30 minutes
Materials
There are no additional materials required for this paper. For Examiner’s Use
Instructions Question Mark
• Use black ink or black ball-point pen. Use pencil only for drawing. 1
• Answer all questions. 2
• You must answer the questions in the spaces provided.
• If you need extra space for your answer(s), use the lined pages at the end of 3
this book. Write the question number against your answer(s). 4
• Do all rough work in this book. Cross through any work you do not want
5
to be marked.
• Unless the question states otherwise, you are free to answer questions 6
that require a coded solution in whatever format you prefer as long as your 7
meaning is clear and unambiguous.
8
• You must not use a calculator.
9
Information
The total number of marks available for this paper is 80. TOTAL
Advice
For the multiple-choice questions, completely fill in the lozenge alongside the appropriate answer.
CORRECT METHOD WRONG METHODS
If you want to change your answer you must cross out your original answer as shown.
If you wish to return to an answer previously crossed out, ring the answer you now wish to select as
shown.
*Jun218520101*
IB/G/Jun21/E11 8520/1
, 2
Do not write
outside the
There are no questions printed on this page box
DO NOT WRITE ON THIS PAGE
ANSWER IN THE SPACES PROVIDED
*02*
IB/G/Jun21/8520/1
, 3
Do not write
outside the
Answer all questions. box
0 1 Match the computer science process to each correct label.
You should write a label A–F next to each process.
You should not use the same label more than once.
[3 marks]
A Abstraction
B Data validation
C Decomposition
D Efficiency
E Random number generation
F Variable assignment
Process Label (A–F)
Breaking down a problem into sub-problems.
Removing unimportant details.
Ensuring the user enters data that is allowed, for
example within a correct range. 3
Turn over for the next question
Turn over ►
*03*
IB/G/Jun21/8520/1
, 4
Do not write
outside the
0 2 The algorithm shown in Figure 1 is designed to help an athlete with their training. box
It uses two subroutines getBPM and wait:
• getBPM() returns the athlete’s heart rate in beats per minute from an external
input device
• wait(n) pauses the execution of the algorithm for n seconds, so wait(60)
would pause the algorithm for 60 seconds.
Line numbers have been included but are not part of the algorithm.
Figure 1
1 seconds ← 0
2 rest ← 50
3 REPEAT
4 bpm ← getBPM()
5 effort ← bpm – rest
6 IF effort ≤ 30 THEN
7 OUTPUT 'faster'
8 ELSE
9 IF effort ≤ 50 THEN
10 OUTPUT 'steady'
11 ELSE
12 OUTPUT 'slower'
13 ENDIF
14 ENDIF
15 wait(60)
16 seconds ← seconds + 60
17 UNTIL seconds > 200
0 2 . 1 State the most appropriate data type of the variable seconds in the algorithm shown
in Figure 1.
[1 mark]
0 2 . 2 Explain why rest could have been defined as a constant in the algorithm shown in
Figure 1.
[1 mark]
*04*
IB/G/Jun21/8520/1