June 2023 MS - Paper 1 AQA Computer Science GCSE
June 2023 MS - Paper 1 AQA Computer Science GCSE
GCSE
COMPUTER SCIENCE
8525/1A, 8525/1B, 8525/1C
Paper 1 Computational thinking and programming skills
Mark scheme
June 2023
*236G8525/1/MS*
PMT
Mark schemes are prepared by the Lead Assessment Writer and considered, together with the relevant
questions, by a panel of subject teachers. This mark scheme includes any amendments made at the
standardisation events which all associates participate in and is the scheme which was used by them in
this examination. The standardisation process ensures that the mark scheme covers the students’
responses to questions and that every associate understands and applies it in the same correct way.
As preparation for standardisation each associate analyses a number of students’ scripts. Alternative
answers not already covered by the mark scheme are discussed and legislated for. If, after the
standardisation process, associates encounter unusual answers which have not been raised they are
required to refer these to the Lead Examiner.
It must be stressed that a mark scheme is a working document, in many cases further developed and
expanded on the basis of students’ reactions to a particular paper. Assumptions about future mark
schemes on the basis of one year’s document should be avoided; whilst the guiding principles of
assessment remain constant, details will change, depending on the content of a particular examination
paper.
Copyright information
AQA retains the copyright on all its publications. However, registered schools/colleges for AQA are permitted to copy material from this booklet for their own internal use,
with the following important exception: AQA cannot give permission to schools/colleges to photocopy any material that is acknowledged to a third party even for internal use
within the centre.
2
PMT
Note to Examiners
In the real world minor syntax errors are often identified and flagged by the development environment.
To reflect this, all responses in a high-level programming language will assess a candidate’s ability to
create an answer using precise programming commands/instructions but will avoid penalising them for
minor errors in syntax.
When marking program code, examiners must take account of the different rules between the languages
and only consider how the syntax affects the logic flow of the program. If the syntax is not perfect but
the logic flow is unaffected then the response should not be penalised.
The case of all program code written by students is to be ignored for the purposes of marking. This is
because it is not always clear which case has been used depending on the style and quality of
handwriting used.
Examiners must ensure they follow the mark scheme instructions exactly. If an examiner is unsure as to
whether a given response is worthy of the marks they must escalate the question to their team leader.
Level of response mark schemes are broken down into levels, each of which has a descriptor. The
descriptor for the level shows the average performance for the level. There are marks in each level.
Before you apply the mark scheme to a student’s answer read through the answer and annotate it (as
instructed) to show the qualities that are being looked for. You can then apply the mark scheme.
Start at the lowest level of the mark scheme and use it as a ladder to see whether the answer meets the
descriptor for that level. The descriptor for the level indicates the different qualities that might be seen in
the student’s answer for that level. If it meets the lowest level then go to the next one and decide if it
meets this level, and so on, until you have a match between the level descriptor and the answer. With
practice and familiarity you will find that for better answers you will be able to quickly skip through the
lower levels of the mark scheme.
When assigning a level you should look at the overall quality of the answer and not look to pick holes in
small and specific parts of the answer where the student has not performed quite as well as the rest. If
the answer covers different aspects of different levels of the mark scheme you should use a best fit
approach for defining the level and then use the variability of the response to help decide the mark within
the level, ie if the response is predominantly level 3 with a small amount of level 4 material it would be
placed in level 3 but be awarded a mark near the top of the level because of the level 4 content.
Once you have assigned a level you need to decide on the mark. The descriptors on how to allocate
marks can help with this. The exemplar materials used during standardisation will help. There will be an
answer in the standardising materials which will correspond with each level of the mark scheme. This
answer will have been awarded a mark by the Lead Examiner. You can compare the student’s answer
3
PMT
with the example to determine if it is the same standard, better or worse than the example. You can then
use this to allocate a mark for the answer based on the Lead Examiner’s mark on the example.
You may well need to read back through the answer as you apply the mark scheme to clarify points and
assure yourself that the level and the mark are appropriate.
Indicative content in the mark scheme is provided as a guide for examiners. It is not intended to be
exhaustive and you must credit other valid points. Students do not have to cover all of the points
mentioned in the Indicative content to reach the highest level of the mark scheme.
An answer which contains nothing of relevance to the question must be awarded no marks.
4
PMT
Total
Question Part Marking guidance
marks
01 1 2 marks for AO1 (recall) 2
Total
Question Part Marking guidance
marks
01 2 Mark is for AO2 (apply) 1
C 10;
Total
Question Part Marking guidance
marks
01 3 Mark is for AO2 (apply) 1
Total
Question Part Marking guidance
marks
01 4 Mark is for AO2 (apply) 1
D traz;
Total
Question Part Marking guidance
marks
01 5 Mark is for AO2 (apply) 1
C 4;
5
PMT
Total
Question Part Marking guidance
marks
02 1 Mark is for AO2 (apply) 1
A Line number 2;
Total
Question Part Marking guidance
marks
02 2 Mark is for AO2 (apply) 1
A 0;
Total
Question Part Marking guidance
marks
02 3 Mark is for AO2 (apply) 1
C 4;
Total
Question Part Marking guidance
marks
03 2 marks for AO1 (understanding) 2
6
PMT
Total
Question Part Marking guidance
marks
04 1 3 marks for AO2 (apply) 3
5 6 –1 Area 30
10 4 0 Volume 0
3 5 10 Volume 150
Total
Question Part Marking guidance
marks
04 2 Mark is for AO2 (apply) 1
7
PMT
Total
Question Part Marking guidance
marks
05 3 marks for AO2 (apply) 3
a b c
0 1 1
1 1 2
1 2 3
2 3 5
USERINPUT
username
'' R. ""
Note to Examiners: If the student has re-written the entire line and
added in the correct missing item, award the mark.
8
PMT
Total
Question Part Marking guidance
marks
07 2 marks for AO3 (design), 4 marks for AO3 (program) 6
Program Design
Note that AO3 (design) marks are for selecting appropriate techniques
to use to solve the problem, so should be credited whether the syntax of
programming language statements is correct or not and regardless of
whether the solution works.
Mark A for inputting the number in the group and storing in a variable;
Mark B for using selection;
Program Logic
I. Case
I. Messages or no messages with input statements
I. Gaps/spaces throughout the code, except where to do so would
explicitly alter the logic of the code in a way that makes it incorrect.
C# Example 1 (fully correct)
All design marks are achieved (Marks A and B)
I. Indentation in C#
A. Write in place of WriteLine
group = int(input())
total = group * 15 (C)
if group >= 6: (D)
total = total - 5 (E)
print(total) (F)
9
PMT
I. Indentation in VB.NET
A. Write in place of WriteLine
Total
Question Part Marking guidance
marks
08 4 marks for AO1 (understanding) 4
● The list is (repeatedly) divided into sub-lists (half the size / at the
midpoint) until each sub-list is of length 1 (singleton lists) // The list is
divided recursively until each sub-list is of length 1 (singleton lists);
● (Finally,) one list is produced in the right order (which is the sorted
list);
10
PMT
Total
Question Part Marking guidance
marks
09 1 Mark is for AO2 (apply) 1
A 2;
Total
Question Part Marking guidance
marks
09 2 Mark is for AO2 (apply) 1
A hulk.year 2003;
Total
Question Part Marking guidance
marks
09 3 Mark is for AO2 (apply) 1
C LEN(filmCollection) – 1;
Total
Question Part Marking guidance
marks
09 4 Mark is for AO2 (apply) 1
antMan.beingShown True
//
filmCollection[0].beingShown True;
I. Case
A. = instead of
R. Ant-Man
R. Quotation marks around True
11
PMT
0 0 Natalie 0 78
1 1 81
2 1 Alex 0 27
3 1 51
4 2 Roshana 0 52
5 1 55
Total
Question Part Marking guidance
marks
10 2 Mark is for AO2 (apply) 1
12
PMT
Total
Question Part Marking guidance
marks
11 1 4 marks for AO3 (test) 4
startYear 1995
Normal False -1
endYear 2010
startYear 2015
Erroneous False -1
endYear 2000
startYear 2000
Boundary True 23
endYear 2023
Total
Question Part Marking guidance
marks
11 2 Mark is for AO2 (apply) 1
13
PMT
4 5
6 6
7 7
True
14
PMT
Total
Question Part Marking guidance
marks
12 2 3 marks for AO3 (design), 4 marks for AO3 (program) 7
Note to Examiners: As the question asks them to write a routine for the
list fruits, if they have used a series of connected selection
statements rather than an iteration statement they can still gain marks C
and D.
Program Design
Note that AO3 (design) marks are for selecting appropriate techniques
to use to solve the problem, so should be credited whether the syntax of
programming language statements is correct or not and regardless of
whether the solution works.
Mark A for asking the user to input a word and storing the input in a
variable;
Mark B for using iteration;
Mark C for attempting to check each index location within the list/array
fruits;
Program Logic
Mark D for a loop which starts at one end of the list/array fruits and
could correctly iterate through each index to the other end;
Mark E for correctly comparing all 6 fruits against the word to find;
Mark F for code which correctly processes a match;
Mark G for outputting only one of the two messages True and False
depending on the result of the match;
Maximum 5 marks if they have not written their own linear search.
Maximum 6 marks if any errors in code.
I. Case
I. Messages or no messages with input statements
I. Gaps/spaces throughout the code, except where to do so would
explicitly alter the logic of the code in a way that makes it incorrect.
I. any rewritten code that defines fruit
15
PMT
I. Indentation in C#
A. Write in place of WriteLine
16
PMT
17
PMT
I. Indentation in VB.NET
A. Write in place of WriteLine
Total
Question Part Marking guidance
marks
12 3 Mark is for AO2 (apply) 1
18
PMT
Total
Question Part Marking guidance
marks
12 4 3 marks for AO2 (apply) 3
Line 1
SUBROUTINE diffCurrencies(x) ;
Line 6
FOR i 7 TO 0 STEP -1 ;;
Total
Question Part Marking guidance
marks
13 2 marks for AO3 (design), 4 marks for AO3 (program) 6
Program Design
Note that AO3 (design) marks are for selecting appropriate techniques
to use to solve the problem, so should be credited whether the syntax of
programming language statements is correct or not and regardless of
whether the solution works.
Mark A for using the variable check within their own code;
Mark B for using selection or equivalent to check the grid references;
Program Logic
I. Case
I. Gaps/spaces throughout the code, except where to do so would
explicitly alter the logic of the code in a way that makes it incorrect.
19
PMT
I. Indentation in C#
I. Duplicate } at the end of the program (as if student has missed the bracket in
the writing lines)
A. use of double quotes for Mark E
A. Write in place of WriteLine
check = False
while check == False:
square = ""
while len(square) != 2:
square = input("Enter grid reference: ")
square = square.upper()
20
PMT
I. Indentation in VB.NET
I. Duplicate End While at the end of the program (as if student has missed the
bracket in the writing lines)
A. Write in place of WriteLine
A. use of single quotes for Mark E
21
PMT
I. Indentation in VB.NET
I. Duplicate End While at the end of the program (as if student has missed the
bracket in the writing lines)
A. Write in place of WriteLine
A. use of single quotes for Mark E
1;
i;
method;
Note to Examiners: If the student has re-written the entire line and
added in the correct missing item, award the mark.
22
PMT
Program Design
Note that AO3 (design) marks are for selecting appropriate techniques
to use to solve the problem, so should be credited whether the syntax of
programming language statements is correct or not and regardless of
whether the solution works.
Program Logic
Mark D for getting the user input for the total amount of the bill (outside
the loop) AND deducting a payment towards the bill (within the loop);
A. if there is no loop and both elements are present in the right order.
Mark E for a mechanism which will correctly terminate the iteration
structure, in all situations, when the bill is fully paid;
Mark F for two conditions. One which checks / handles if the amount
left to pay is 0 (or less, ie bill is paid), AND one which checks if the
amount left to pay is less than 0 (for tip);
Mark G for outputting in an appropriate place Tip is and the tip as a
number; R. if tip is outputted when the amount left to pay is not less than
zero
Mark H for outputting Bill paid and the amount left to pay in
logically appropriate places;
I. Case
I. Gaps/spaces throughout the code, except where to do so would
explicitly alter the logic of the code in a way that makes it incorrect.
I. Messages or no messages with input statements
23
PMT
I. Indentation in C#
A. Write in place of WriteLine
24
PMT
I. Indentation in VB.NET
A. Write in place of WriteLine
25
PMT
Program Design
Note that AO3 (design) marks are for selecting appropriate techniques
to use to solve the problem, so should be credited whether the syntax of
programming language statements is correct or not and regardless of
whether the solution works.
Program Logic
I. Case
I. Gaps/spaces throughout the code, except where to do so would
explicitly alter the logic of the code in a way that makes it incorrect.
I. Messages or no messages with input statements
26
PMT
I. Indentation in C#
A. Write in place of WriteLine
27
PMT
import random
score = 0
rollAgain = "yes"
A. random.randint(1, 6)
A. random.randint(15, 21)
28
PMT
I. Indentation in VB.NET
A. Write in place of WriteLine
29