Computer Science: 8520/1-Paper 1 Computational Thinking and Problem-Solving Mark Scheme
Computer Science: 8520/1-Paper 1 Computational Thinking and Problem-Solving Mark Scheme
Computer Science: 8520/1-Paper 1 Computational Thinking and Problem-Solving Mark Scheme
Computer Science
8520/1-Paper 1 Computational thinking and problem-solving
Mark scheme
June 2018
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 Assessment Writer.
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.
2
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
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.
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.
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.
3
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
A sequence/number/set of steps/instructions;
that can be followed to complete a task/to solve a problem;
If the answers given were, for example, C, C, B then award only 1 mark for
the B as the C is duplicated. Likewise if C, C, C was the answer then no
marks would be given. The correct table is:
Label
C
Breaking a problem down into a number of sub-problems.
A
The process of removing unnecessary detail from a problem.
B
Defines the sort of values a variable may take.
4
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
2//twice//two;
2//two;
A. true and false (or other possible indicators for true and false)
R. Boolean
7;
A. All of 3, 5 and 11
A. If instruction written out (a 2)
q 2;
A. a 1, a 4 and FOR n 1 TO a (only if all given)
11000;
I. leading zeroes
It multiplies the number by 8//by two three times// by 23// multiply by 10002;
5
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
Maximum of 2 from:
A. 5,000
If answer given is not 5,000 bytes then award working marks as follows:
Mark A for multiplying any two of 2,000, 4 and 5 even if the result is
incorrect;
Mark B for multiplying all of 2,000, 4 and 5 even if the result is incorrect;
Mark C for attempting to divide the result of a calculation by 8;
Example 1
2,000 * 4 = 8,000; (Mark A)
8,000 / 8 = 1,000; (Mark C)
Example 2
2,000 * 4 * 5 = 20,000;; (Mark A and Mark B, note result is incorrect)
20,000 / 8 = 2,000; (Mark C, note result is incorrect)
B (5 bits) only;
If more than one lozenge shaded then mark is not awarded
D (improves the quality of the recording and increases the file size.) only;
If more than one lozenge shaded then mark is not awarded
6
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
7
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
8
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
Example 5 (6 marks)
IF CHAR_TO_CODE(USERINPUT) ≥ 97 AND
CHAR_TO_CODE(USERINPUT) ≤ 122 THE (A, B, C, D,
E)
OUTPUT ˈLOWERˈ (Part of F)
ELSE
OUTPUT ˈNOT LOWERˈ (Part of F)
ENDIF
Example 6 (6 marks)
(G not awarded as LOWER and NOT LOWER are in the wrong places)
9
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
Boolean//bool;
or
Arr
sorted i t
0 1 2
4 1 6 false
true 0
1 4 false 4
1
2
true 0
1
2
10
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
1 mark if pairwise comparisons are made in the second row but allow for
one pairwise comparison error;
1 mark if pairwise comparisons are made in the third row but allow for one
pairwise comparison error (allow follow through from previous row);
1 mark if all correct;
7 3 4 1 2 8 5 6
3 7 1 4 2 8 5 6
1 3 4 7 2 5 6 8
1 2 3 4 5 6 7 8
A. quicker//it will take less time as long as the answer has been qualified.
Maximum of 2 from:
It allows the code to be (more easily) reused;
It can be used to sort any array (not just the one on line 1);
It would be easier to test;
The code could be changed//updated without affecting the overall program;
Makes the program easier to read//understand;
A. Any other creditable answer as long as they are clearly distinct from the
other responses.
11
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
Mark A for getting user input for the distance and storing in a variable;
Mark B for using a WHILE loop or similar to re-prompt for and re-assign
the user input;
Mark C for using a correct Boolean condition with the validation structure;
Mark D for getting user input for the passengers;
Mark E for a fare that charges £2 per passenger;
Mark F for a fare that charges £1.50 for every kilometre;
Mark G for outputting the fare based on E and F (Even if E and/or F have
been calculated incorrectly);
REPEAT (Part of B)
distance ← USERINPUT (A, Part of B)
UNTIL distance > 0 (C)
fare ← (2 * USERINPUT) + (1.5 * distance) (D, E, F)
OUTPUT fare (G)
(Mark H as completely correct)
DO (Part of B)
distance ← USERINPUT (A, Part of B)
WHILE NOT (distance > 0) (C)
fare ← (2 * USERINPUT) + (1.5 * distance) (D, E, F)
OUTPUT fare (G)
(Mark H as completely correct)
12
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
Example 5 (7 marks)
(Mark H not awarded as the final fare does not include the cost of 2 *
passengers)
13
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
Example 6 (5 marks)
A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1
14
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
Max 2 marks if not fully correct (the fully correct answer is given in
example 1).
R. Incorrect symbols
15
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
16
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
A
C B
A C B
If any value is written more than once no marks for that value.
B
A C
17
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
Note for mark C – DPT for same logical error in the Boolean
condition
Maximum of 5 marks;
or
Mark A for using a FOR loop or similar to move from column 0 to column
2;
Mark B for ascertaining the terminating value for the FOR loop;
Mark C for using a second FOR loop or similar to move the result from A
and B into column 1 (both the loop and the associated terminating value
need to be correct to gain this mark);
and
Mark D for using the subroutines correctly throughout, i.e. called with
appropriate parameters and return values handled correctly;
Example 1
18
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
Example 2
DO (Part of A)
MOVE(0, 2) (Part of A)
WHILE HEIGHT(0) > 0 (Part of A, B)
DO (Part of C)
MOVE(2, 1) (Part of C)
WHILE HEIGHT(2) > 0 (Part of C)
Example 3
REPEAT (Part of A)
MOVE(0, 2) (Part of A)
UNTIL HEIGHT(0) = 0 (Part of A, B)
REPEAT (Part of C)
MOVE(2, 1) (Part of C)
WHILE HEIGHT(2) = 0 (Part of C)
Example 4
(MOVE and HEIGHT are used correctly throughout so D and completely correct so
also E.)
19
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
Example 5
z correct
0 false
1 true
2
3
false;
I. Case
20
MARK SCHEME – GCSE COMPUTER SCIENCE – 8520/1 – JUNE 2018
The program will return true as soon as a match (between username and
password) is found;
So there is no need to (always) iterate over the complete array(s)/list of
usernames;
(If a match is found and is not last in the list) the algorithm will complete
in fewer steps/less time;
21