A-level
COMPUTER SCIENCE
7517/1
Paper 1
Mark scheme
June 2022
Version: 1.0 Final
*226A7517/1/MS*
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
2
Mark schemes are prepared by the Lead Assessment W
...
A-level
COMPUTER SCIENCE
7517/1
Paper 1
Mark scheme
June 2022
Version: 1.0 Final
*226A7517/1/MS*
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
2
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.
Further copies of this mark scheme are available from aqa.org.uk
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.
Copyright © 2022 AQA and its licensors. All rights reserved.
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
3
Level of response marking instructions
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.
Step 1 Determine a level
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.
Step 2 Determine a mark
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
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.
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
4
A-level Computer Science
Paper 1 (7517/1) – applicable to all programming languages A, B, C, D and E
June 2022
The following annotation is used in the mark scheme:
; – means a single mark
// – means an alternative response
/ – means an alternative word or sub-phrase
A. – means an acceptable creditworthy answer
R. – means reject answer as not creditworthy
NE. – means not enough
I. – means ignore
DPT. – means ‘Don't penalise twice’. In some questions a specific error made by a candidate, if
repeated, could result in the loss of more than one mark. The DPT label indicates that this
mistake should only result in a candidate losing one mark, on the first occasion that the error is
made. Provided that the answer remains understandable, subsequent marks should be
awarded as if the error was not being repeated.
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
5
Examiners are required to assign each of the candidate’s responses to the most appropriate level
according to its overall quality, and then allocate a single mark within the level. When deciding upon a
mark in a level examiners should bear in mind the relative weightings of the assessment objectives
eg
In question 05.1, the marks available for the AO3 elements are as follows:
AO3 (design) 4 marks
AO3 (programming) 8 marks
Where a candidate’s answer only reflects one element of the AO, the maximum mark they can receive
will be restricted accordingly.
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
6
Question Marks
01 All marks AO1 (knowledge)
Algorithm Time Complexity
Binary tree search O(log n)
Bubble sort O(n2
)
Linear search O(n)
Merge sort O(n log n) A. O(n x log n) NE. O(log n)
A. log2 instead of log
I. missing brackets
I. missing O
Mark as follows:
1 mark: 1
st row correct
1 mark: 2
nd row correct
1 mark: 3
rd row correct
3
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
7
Question Marks
02 1 All marks for AO1 (understanding)
1. Check the queue is (not already) empty;
2. Compare the value of the front pointer with the maximum size of the array;
3. If equal then front pointer becomes one; A. index of the first position in the array
instead of one
4. Otherwise, add one to the front pointer;
Alternative answer 1
1. Check the queue is (not already) empty;
2. Compare the value of the front pointer with the maximum size of the array minus
one;
3. If equal then front pointer becomes zero; A. index of the first position in the array
instead of zero
4. Otherwise, add one to the front pointer;
Alternative answer 2
1. Check the queue is (not already) empty;
2. Add one to the front pointer;
3. Compare the value of the front pointer with the maximum size of the array;
4. If equal then front pointer becomes zero; A. index of the first position in the array
instead of zero
Alternative answer 3
1. Check the queue is (not already) empty;
2. Add one to the front pointer;
3. Compare the value of the front pointer with the maximum size of the array plus
one;
4. If equal then front pointer becomes one; A. index of the first position in the array
instead of one
Alternative answer 4
1. Check the queue is (not already) empty;
2. Add one to the front pointer;
3. Use modulus/modulo operator/function with new value of front pointer;
4. Use modulus/modulo operator/function with maximum size of array;
Max 3 if any errors
4
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
8
Question Marks
02 2 All marks for AO1 (understanding)
Static data structures have storage size determined at compile-time / before
program is run / when program code is translated / before the data structure is first
used
//
dynamic data structures can grow / shrink during execution / at run-time
//
static data structures have fixed (maximum) size // size of dynamic data structures
can change;
Static data structures can waste storage space / memory if the number of data
items stored is small relative to the size of the structure
//
dynamic data structures only take up the amount of storage space required for the
actual data;
Dynamic data structures require (memory to store) pointers to the next item(s) //
static data structures (typically) do not need (memory to store) pointers;
Static data structures (typically) store data in consecutive memory locations //
dynamic data structures (typically) do not store data in consecutive memory
locations;
Max 3
3
02 3 Mark is for AO2 (apply)
Jib;
1
02 4 Mark is for AO2 (apply)
Jib;
1
02 5 All marks for AO1 (understanding)
(Until the queue is empty) repeatedly remove / delete (the front item) from the
queue and push it on to the stack;
(Until the stack is empty) repeatedly pop items from the stack and add them to the
(rear of the) queue;
2
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
9
Question Marks
03 1 Mark is for AO2 (analyse)
Statement 1 can’t be correct because it means Statement 5 / Statement 6 is true
which means Statement 1 is false;
Statement 1 can’t be correct because it would mean Statement 2 is correct which
would mean all of the other statements have to be both correct and incorrect;
Statement 1 can’t be correct because it would mean Statement 4 is correct which
means that Statements 2 and 3 have to be both correct and incorrect;
Questions says only one of the statements is true so Statement 1 can’t be true as
that means more than one statement would be true;
Max 1
1
03 2 Mark is for AO2 (analyse)
(Statement) 5;
1
03 3 All marks AO2 (analyse)
Statement 3 can’t be correct because Statement 1 is false;
Statement 3 can’t be correct because the question says only one of the statements
is correct;
Statement 3 can’t be correct because that would mean Statement 2 would be a
contradiction as this would mean Statement 3 would have to be incorrect;
If Statement 2 is true then Statement 4 has to be false. As Statements 1 and 3 are
false for Statement 4 to be false Statement 2 has to be false as well (otherwise one
of the above would be true). This is a contradiction so Statement 2 can’t be true;
Statements 1, 2 and 3 are false so Statement 4 is false;
If Statement 6 is true then 5 has to be false implying at least one of Statements 1 to
4 have to be true but they are all false so Statement 6 has to be false;
Max 2
2
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
10
Question Marks
04 1 All marks AO1 (understanding)
True or
False?
Calculates the shortest path between a node and other
nodes in a graph True
Can be used to prove the Halting Problem cannot be solved False
Can be used with both directed and undirected graphs True
Can be used with both weighted and unweighted graphs False
Mark as follows:
1 mark: three rows correct
2 marks: all rows correct.
2
04 2 Mark is for AO1 (knowledge)
A subroutine that calls itself;
1
04 3 All marks AO2 (apply)
Count Value
returned
0
1 False
Mark as follows:
1. Column for Count is correct I. repeated consecutive instances of values
I. blank cells
2. Value returned is False
Max 1 if any errors
2
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
11
04 4 Mark is for AO2 (analyse)
0 1 2 3
0 0 1 1 1
1 0 0 1
2 0 0
3 0
A. any suitable indicators used instead of 0 and 1
A. blank cell instead of 0 R. if usage inconsistent
1
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
12
04 5 All marks AO2 (apply)
Visited
Subroutine
call V P [0] [1] [2] [3] N
False False False False
G(0, -1) 0 -1 True 1
G(1, 0) 1 0 True 0
3
G(3, 1) 3 1 True 0
G(1, 0)
G(0, -1)
Final value
returned: True
Mark as follows:
1. Visited[0] set to True and then not changed
2. Visited[1] set to True and then not changed, Visited[3] set to True
and then not changed, Visited[2] always has value of False
3. Second subroutine call is G(1, 0) I. repeated consecutive instances of this call
4. Third and final subroutine call is G(3, 1) I. repeated consecutive instances of
this call I. missing calls G(1, 0) and G(0, -1)
5. Value returned is True
6. N column contains correct values A. values of 3 in 2nd last cell for N and value of
1 in last cell for N, instead of the two blank cells
Max 5 if any errors
6
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
13
04 6 Mark is for AO2 (analyse)
Determine if a graph contains a cycle or not;
1
04 7 Mark is for AO2 (analyse)
Depth-first search;
1
04 8 Mark is for AO2 (analyse)
The graph is a tree;
1
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
14
Question Marks
05 1 4 marks for AO3 (design) and 8 marks for AO3 (programming)
Mark Scheme
Level Description Mark
Range
4 A line of reasoning has been followed to arrive at a
logically structured working or almost fully working
programmed solution that meets most of the
requirements. All of the appropriate design decisions
have been taken. To award 12 marks, all of the
requirements must be met.
10–12
3 There is evidence that a line of reasoning has been
followed to produce a logically structured program. The
program displays relevant prompts, inputs the required
string, has at least one iterative structure and at least one
selection structure and uses appropriate variables to
store most of the needed data. An attempt has been
made to swap the positions of vowels in the string,
although this may not work correctly under all
circumstances. The solution demonstrates good design
work as most of the correct design decisions have been
made.
7–9
2 A program has been written and some appropriate,
syntactically correct programming language statements
have been written. There is evidence that a line of
reasoning has been partially followed as although the
program may not have the required functionality, it can
be seen that the response contains some of the
statements that would be needed in a working solution.
There is evidence of some appropriate design work as
the response recognises at least one appropriate
technique that could be used by a working solution,
regardless of whether this has been implemented
correctly.
4–6
1 A program has been written and a few appropriate
programming language statements have been written but
there is no evidence that a line of reasoning has been
followed to arrive at a working solution. The statements
written may or may not be syntactically correct. It is
unlikely that any of the key design elements of the task
have been recognised.
1–3
12
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
15
Guidance
Evidence of AO3 design – 4 points:
Evidence of design to look for in responses:
1. Identifying that string concatenation is needed when swapping vowels in the
string // identifying that swapping items in a list of characters is needed.
2. Identifying that a loop is needed that repeats a number of times determined by
the word entered by the user // identifying that a loop is needed that repeats a
number of times determined by the number of vowels in the word entered by the
user.
3. Identifying that two integer variables are needed to store positions of characters
in the string // identifying that an ordered list of vowels in the string needs to be
created // identifying one integer variable is needed to show the distance from
the start and end of the string (R. if no attempt to use this integer with the start
and end positions of the string).
4. Selection structure that checks if a character is a vowel A. more than one
selection structure used R. if no attempt at comparing with each of the five
vowels.
Note that AO3 (design) points 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.
Evidence for AO3 programming – 8 points:
Evidence of programming to look for in response:
5. Suitable prompt asking user to enter a string followed by user input being
assigned to appropriate variable.
6. Iterative structure that repeats a number of times that is sufficient to check all
the characters in the string.
7. Correctly checks if a character is a vowel.
8. Correctly checks all characters in the string to see if they are vowels.
9. Swaps/moves the position of two characters in the string.
10.Program only moves/changes the position of vowels.
11.Program works correctly if a string contains one vowel and works correctly if a
string contains no vowels. R. if program does not attempt to swap positions of
vowels or identify that there are less than two vowels.
12.Program works correctly under all circumstances.
I. additional loop to get program to repeat multiple times.
DPT. mark points 7 and 8 if only checks for some vowels or includes at most one
non-vowel character.
Max 11 if any errors
MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2022
16
Question Marks
05 2 Mark is for AO3 (evaluate)
**** SCREEN CAPTURE ****
Must match code from 05.1, including prompts on screen capture matching those in
code.
Code for 05.1 must be sensible.
Screen capture showing the string persepolis being entered and then the string
pirsopeles being displayed and screen capture showing the string darius
being entered and then the string durias being displayed and screen capture
showing the string xerxes being entered a
[Show More]