2017 A2 U3 Ms (Eduqas)
2017 A2 U3 Ms (Eduqas)
SUMMER 2017
A LEVEL (NEW)
COMPUTER SCIENCE - COMPONENT 1
A500U10-1
This marking scheme was used by WJEC for the 2017 examination. It was finalised after
detailed discussion at examiners' conferences by all the examiners involved in the
assessment. The conference was held shortly after the paper was taken so that reference
could be made to the full range of candidates' responses, with photocopied scripts forming
the basis of discussion. The aim of the conference was to ensure that the marking scheme
was interpreted and applied in the same way by all examiners.
It is hoped that this information will be of assistance to centres but it is recognised at the
same time that, without the benefit of participation in the examiners' conference, teachers
may have different views on certain matters of detail or interpretation.
WJEC regrets that it cannot enter into any discussion or correspondence about this marking
scheme.
Mark
AO1
AO2
AO3
TOT
Qu Answer
1(a) Storage space wasted as would need to cater for every possible 7 digit component 1 2a 1
(i) number.
1(a) A suitable hashing algorithm will map component numbers onto a smaller range of 2 2b 2
(ii) addresses, by generating fewer digit address references.
1(b) Use progressive overflow, if the location is occupied use the next available location if 2 1b 2
the end of the file is reached wrap around and start searching from the beginning
again.
OR
Flag original block and move data into designated overflow area for subsequent linear 2 1b
search
Abstraction 1 1b
Encapsulation 1 1b
Polymorphism 1 1b
Object Hierarchy 1 1b
3(a) A compiler takes the entire program as input to produce a machine code version of the 1 1a 3
program.
An interpreter takes a single source code instruction as input, translates and executes 1 1a
it.
A compiled program can be re-run without further translation. Interpretation needs to 1 1a
be repeated each time the program is run
3(b) Award one mark for each of the following up to a maximum of two: 2
3(c) One mark for identifying the error and one mark for the example. Maximum of four 4
marks.
Example must match the error.
Syntax error 1 1a
e.g. IF without ENDIF or punctuation error or spelling error if correct words given 1 1b
Linking error 1 1a
e.g. calling a standard function where the correct library has not been linked to the 1 1b
program
Semantic Error 1 1a
e.g. Variable declared illegally 1 1b
AO1
AO2
AO3
TOT
Qu Answer
3(d) Lookup tables to be used during the translation of this source code are: 5
4(a) 4 2a 4
̅+ 𝑩
A.(𝑨 ̅)
̅ + A.𝑩
A.𝑨 ̅
̅
0 + A.𝑩
̅
A.𝑩
NOTE
Candidate must use De Morgan's law, however may use more or fewer rules and
correctly arrive at the answer – award full marks
AO1
AO2
AO3
TOT
Qu Answer
NOTE
Candidate may use more or fewer rules and correctly arrive at the answer – award full
marks
Variable list 1 1a
Data dictionary 1 1a
Class diagram 1 1a
List of sub routines 1 1a
Entity Relationship Diagram 1 1a
6(a) Variables – a, b, Hypotenuse or Answer 1 2a 2
Parameter - x 1 2a
6(b) Value parameter is used in a calculation within a subprogram when you want to retain 1 1b 2
the original values 1 1b
6(c) Rounding. The result is given to the nearest value 1 1a 4
Accuracy:
Working to 2 decimal places the rounded result will be 9.49, producing an error of 1 2b
0.0032, whereas truncation produces a result of 9.48 with an error of 0.0068
More than twice the rounding error
1 2b
AO1
AO2
AO3
TOT
Qu Answer
7(a) 4
ANAND (ANAND (ANAND
A B C A.B B B) + C B) NOR
C
0 0 0 0 1 1 0
0 0 1 0 1 1 0
0 1 0 0 1 1 0
0 1 1 0 1 1 0
1 0 0 0 1 1 0
1 0 1 0 1 1 0
1 1 0 1 0 0 1
1 1 1 1 0 1 0
P = (A NAND B) NOR C
Marking
1 2a
one mark for all possible values of A, B and C correct
1 2a
one mark for correct column ANANDB
1 2a
one mark for correct column (ANANDB) + C
1 2a
one mark for correct column (ANANDB) NOR C
7(b) 3
Bit number 7 6 5 4 3 2 1 0
Register contents 1 1 1 0 0 0 1 1
Mask 0 0 1 1 0 0 0 0
Result 0 0 1 0 0 0 0 0
One mark for each of the following:
Marking
One mark for compulsory letter 1 2b
One mark for optional letters with loop 1 2b
One mark 3 compulsory digits 1 2b
8(b) <letter> ::= a|b|c. . . y|z <digit> ::= 0|1|2 . . . 8|9 1 2b 4
<digits> ::= <digit><digit><digit 1 2b
AO1
AO2
AO3
TOT
Qu Answer
9 Quicksort algorithm 9
Indicative content
Pivot is string
tmpSwap is string
tmpLow is integer
tmpHi is integer
tmpLow = indexLow
tmpHi =indexHi
end sub
One mark for each of the following up to a maximum of nine:
Declare sub procedure ‘Quicksort’ 1 3b
Initialise pointers (high and low) 1 3b
Set pivot to data at mid point 1 3b
Outer loop with terminating condition 1 3b
Compare data with pivot 1 3b
Increment / decrement pointers 1 3b
Swap elements 1 3b
Recursion index low, temp high 1 3b
Recursion index high, temp low 1 3b
AO1
AO2
AO3
TOT
Qu Answer
10(a) 5
There are 2 operations in i loop: swap and start = start + 1 therefore there are
2(n - 1) operations carried out in the i loop.
Therefore, n 2 will dominate(1 mark) making growth rate for time performance
O(n2) (1 mark)
Marking:
1 mark for identifying i loop will execute 2(n - 1) times. 1 3c
1 mark for identifying j loop will execute n 2 times. 1 3c
1 mark for correct number of calculations n 2 + 2(n - 1) 1 3c
1 mark for determining that the order will be dominated by n 2 1 3c
1 3c
1 mark for determining that growth rate for time performance O(n2)
10(b) Algorithm will need to store one array that will require N elements 1 3c 2
Total storage therefore = 1 x N
As N increases the storage requirements will increase by N. Constant 1 will be 1 3c
insignificant so storage requirements will be O (N) accept O(1)
11 (a) 3
Philips
Blaupunkt Samsung
Panasonic Toshiba
LG Techwood
AO1
AO2
AO3
TOT
Qu Answer
11 (b) 1 2b 1
Philips
Blaupunkt Samsung
Panasonic Toshiba
LG Techwood
Hisense
Sony
11(c) 1 mark for correct position of root, 1 mark for correct order and all nodes 2 2b 2
Philips, Blaupunkt, Panasonic, LG, Hisense, Samsung, Toshiba, Techwood, Sony.
High level programming languages must be unambiguous so that there is only one way
to interpret each program statement 1 1b
and therefore enable accurate translation into machine code. 1 1b
12(b) Award one mark for each of the following up to a maximum of four: 4
13 Indicative content 10 1b 10
Procedural languages
Procedural languages are used in traditional programming based on algorithms or a
logical step-by-step process for solving a problem
They obey (ordered) instructions
They carry out actions / calculations etc.
A procedural programming language provides the programmer a way to define
precisely each step when performing a task
Allows tight control over the underlying operation of the hardware
Used in (large complicated) programs where similar operations may be carried out at
varying stages of the program execution
Non-Procedural languages
Non-procedural programming languages allow programmers to specify the results they
want without specifying how to solve the problem
Non-procedural languages are to do with rules / making queries / facts
Used in database interrogation where retrieving answers are more important than the
exact steps required to calculate the result
Artificial intelligence, grammar checking and language translation applications are often
written in a non-procedural language
3 8 - 10 marks
2 4 - 7 marks
1 1- 3 marks