AQA GCE Mark Scheme June 2005
AQA GCE Mark Scheme June 2005
AQA GCE Mark Scheme June 2005
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Version 1.0: 0605<br />
abc<br />
General Certificate of Education<br />
Computing 5511/6511<br />
CPT4 Processing and Programming Techniques<br />
<strong>Mark</strong> <strong>Scheme</strong><br />
<strong>2005</strong> examination - <strong>June</strong> series<br />
<strong>Mark</strong> schemes are prepared by the Principal Examiner and considered, together with the relevant<br />
questions, by a panel of subject teachers. This mark scheme includes any amendments made at<br />
the standardisation meeting attended by all examiners and is the scheme which was used by them<br />
in this examination. The standardisation meeting ensures that the mark scheme covers the<br />
candidates’ responses to questions and that every examiner understands and applies it in the<br />
same correct way. As preparation for the standardisation meeting each examiner analyses a<br />
number of candidates’ scripts: alternative answers not already covered by the mark scheme are<br />
discussed at the meeting and legislated for. If, after this meeting, examiners encounter unusual<br />
answers which have not been discussed at the meeting they are required to refer these to the<br />
Principal Examiner.<br />
It must be stressed that a mark scheme is a working document, in many cases further developed<br />
and expanded on the basis of candidates’ reactions to a particular paper. Assumptions about<br />
future mark schemes on the basis of one year’s document should be avoided; whilst the guiding<br />
principles of assessment remain constant, details will change, depending on the content of a<br />
particular examination paper.<br />
Copyright © <strong>2005</strong> <strong>AQA</strong> and its licensors. All rights reserved.
Instructions to examiners<br />
The following forms of notation should be used on candidates’ scripts:<br />
• Ticks - To indicate what is accepted as correct or creditworthy, placed in the body of the<br />
answer, and on diagrams;<br />
• Underscoring – To identify errors/irrelevance in written answers;<br />
• Crosses – to indicate a wrong answer;<br />
• Brief comments – placed in at suitable points in the body of the text to amplify the<br />
marking;<br />
• BOD – means benefit of the doubt and is used where the candidate’s answer has been<br />
given a mark on the balance of probabilities that the candidate’s answer has met the<br />
requirements of the mark scheme even though it could be interpreted differently;<br />
• NE – means not enough and is applied to an answer that falls short of what is required;<br />
• O/S – means outside the mark scheme. The candidate’s answer is creditworthy but the<br />
answer does not match any of the answers on the mark scheme for the particular question.<br />
Nevertheless a mark is awarded;<br />
• C/F – means carried forward. This arises when a candidate offers an answer which is not<br />
creditworthy in one question but is creditworthy in a later question. The mark is carried<br />
forward to the question which is creditworthy;<br />
• C/B – means carried back. This is similar to a carry forward but the mark is carried back<br />
to an earlier question.<br />
• T/O – means talked out. If the candidate provided extra information which contradicts the<br />
correct answer or leaves it open to interpretation which is correct.<br />
• ^ means missing term or symbol.<br />
• F/T – means followed through. If a candidate made a mistake in an earlier part of the<br />
answer.<br />
• P1 – penalise once.<br />
• I - ignore<br />
The following notation is used in the mark scheme<br />
• ; - means a single mark;<br />
• A. - means an acceptable creditworthy answer;<br />
• R. – means reject answer as not creditworthy.<br />
2
<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />
1 Compare Pascal with middle item of list / Lisp;<br />
Compare Pascal with middle item of upper sublist / Prolog;<br />
Compare Pascal with Pascal // compare only item in this sublist to get a match; 3<br />
Lose 1 mark if Pascal not explicit in comparison<br />
stop marking from time it goes wrong<br />
OR<br />
List[4] = Pascal? False;<br />
A [4] = Pascal R 4 = Pascal<br />
List[6] = Pascal? False;<br />
List[5] = Pascal? True; 3<br />
if formula explicit, follow through on formula<br />
3
CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />
2 (a) 140 1 / 4 ;; one mark for correct integer part,<br />
140.25;; one mark for correct fractional part 2<br />
(b) (i) -14.5;;; give 2 marks for 14.5<br />
partial marks for workings if result incorrect:<br />
1 mark for negative number;<br />
1 mark for x2 4 (accept 16 instead of 2 4) ;<br />
A showing that binary point moves 4 places right; 3<br />
(ii)<br />
leftmost 2 digits/bits are different;<br />
a significant bit is stored after the binary point;<br />
bit after point different from bit before point;<br />
(negative number) starts with 10… (positive number starts with 01)….;<br />
A the first bit after the sign bit is a ‘0’;<br />
A The second bit is a ‘0’;<br />
A an answer that clearly implies a ‘0’ follows the ‘1’ max 1<br />
(iii) to maximise accuracy/precision for a given number of bits<br />
// to minimise rounding errors;<br />
A more accurate/precise for a given number of bits;<br />
a given number can only be expressed in one way in a given number of bits<br />
// a given number can only be expressed in one way in a given format;<br />
to simplify arithmetic/logical operations; 1 7<br />
I range<br />
4
<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />
3 (a) 1101 0001 0101 1010;; 1 mark for each correct byte 2<br />
I leading bits<br />
(b) 16; 1 3<br />
4 (a) a signal/command/message; R request<br />
from a device/source seeking the attention of the processor;<br />
or from a device/source to the processor; 2<br />
(b)<br />
finish the current fetch-execute cycle // finish execution of current instruction;<br />
identify interrupt // type of interrupt is found // identify priority of interrupt;<br />
disable lower priority interrupts;<br />
save (contents of) registers // save volatile environment // save current status of machine;<br />
source of interrupt provides vector address / offset;<br />
offset added to base address;<br />
Entry point equivalent to<br />
Start address<br />
to give start of ISR // vector address is used as start address of interrupt service routine;<br />
jump to interrupt service routine<br />
// PC/IR loaded with this address // interrupt serviced;<br />
restore (contents of) registers // restore volatile environment;<br />
enable interrupts; max 5 7<br />
R goes back to where it left off<br />
steps must be in a sensible order. I any steps out of order.<br />
5
CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />
5 Penalise once if wrong case used<br />
(a) female(helen)./female("Helen").; 1<br />
(b) mother(M,X) IF female(M) AND parent (M,X) must use M and X<br />
// mother(M,X) IF parent(M,X) AND NOT male(M); 1<br />
(c) (i) sibling (S,X) IF mother(M,S) AND mother(M,X);<br />
AND father(F,S) AND father (F,X);<br />
OR<br />
sibling (S,X) IF parent(Z,S) AND parent(Z,X)<br />
AND parent(M,S) AND parent(M,X);<br />
AND ZM // AND Z NOT M // AND Z≠M // AND NOT Z=M<br />
A NotEqual (Z,M) 2<br />
(ii) AND SX; A S NOT X A S≠X A NOT S=X 1<br />
(d)<br />
grandfather(G,P) IF father(G,X) AND parent(X,P).<br />
1 1 1<br />
Must use P to<br />
represent the<br />
child<br />
OR<br />
grandparent(G,P) IF parent(G,X) AND parent(X,P).<br />
1 1<br />
grandfather(G,P) IF male(G); AND grandparent(G,P).<br />
1<br />
OR grandfather(G,P) IF male(G) AND parent(G,X) AND parent(X,P) 3 8<br />
1<br />
1<br />
1<br />
6
<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />
6 (a) need to access/address machine registers / exact memory addresses / hardware directly;<br />
fast speed of operation required<br />
// assembler code runs faster than programs written in HLL;<br />
code needs to take up little memory<br />
// assembler code gives smaller object code programs;<br />
A minimise the size of the program/code;<br />
no compiler/interpreter exists yet for machine // no other translator exists;<br />
R manipulate bits max 2<br />
7
CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />
(b)<br />
A pseudocode statement gets no mark. Order of statements is important.<br />
P1 for using wrong columns<br />
Immediate addressing must be used for constants but could be indicated by annotation e.g. load register<br />
with 0. Indicate any omissions<br />
If subtract is used in place of CMP check value of x is not destroyed.<br />
Accept numbers as symbolic addresses. Accept relative addressing for jumps.<br />
No marks for jumps not altering flow of control.<br />
Start: STORE #0,Count / store zero; in Count;<br />
label1: LOAD register, X / label; load X ;<br />
ADD register, X<br />
/ add X to register ; A ASL register;<br />
STORE register, X / save X ;<br />
Or<br />
Add X, X;;;<br />
2 marks if no<br />
comment that<br />
says where<br />
result is stored<br />
INC Count or ADD Count,#1<br />
/ increment Count; A equivalent using registers<br />
CMP register, # 999 / compare ;<br />
BCS label1<br />
/ conditional branch to correct label;<br />
if [AC]
<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />
Alternative:<br />
Start:<br />
MOVE #0,Count / store zero; in Count;<br />
label1: MOVE X, register / label; load X ;<br />
ADD register, X<br />
/ add X to register ; A ASL register;<br />
Move register, X / save X ;<br />
INC Count or ADD Count,#1<br />
/ increment Count; A equivalent using registers<br />
CMP register, # 999 / compare ;<br />
BCS label1 / conditional branch; if [AC]
CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />
7 (a) a class has properties/fields/attributes/characteristics and methods/procedures/functions<br />
of the parent class it is derived from<br />
// a subclass/derived class inherits all the properties/fields/attributes/characteristics and<br />
methods/procedures/functions from a super-class/base-class/parent class; 1<br />
(b) StockItem (=) Class // Class (=) StockItem; 1 mark for keywords Class and StockItem<br />
(A Object instead of Class)<br />
1<br />
Public (procedure DisplayDetails) (virtual)(virtual;abstract)<br />
1 mark for keyword Public<br />
(procedure) SetLoan (virtual)(virtual;abstract) and correct methods<br />
Private;<br />
Title: String<br />
OnLoan: Boolean<br />
DateAcquired: String/DateTime/Date<br />
End<br />
1<br />
A protected<br />
A text instead of string<br />
1 mark for correct data fields<br />
& data types<br />
don't allow the other fields<br />
Book = Class (StockItem) // Class Book extends/derives from StockItem<br />
// Book Subclass: StockItem; A without keyword Class<br />
Private<br />
Author: String<br />
ISBN: String<br />
Public<br />
1<br />
If candidate declared<br />
‘getters’ and ‘setters’ for<br />
the base class fields then<br />
don’t have to have<br />
DisplayDetails as a base<br />
class method<br />
End<br />
(Procedure) DisplayDetails<br />
(override)<br />
1<br />
CD = Class (StockItem) // Class CD extends/derives from StockItem // CD Subclass: StockItem;<br />
End<br />
Private<br />
Artist: String<br />
PlayingTime: Integer/Real/Time/DateTime<br />
Public<br />
(Procedure) DisplayDetails (override)<br />
1<br />
No marks for a diagrammatic answer. I method parameters max 7<br />
10
<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />
Java version:<br />
Public Class StockItem<br />
{<br />
Private String title;<br />
Private boolean onLoan;<br />
Private String dateAquired;<br />
Public void displayDetails ();<br />
Public void setLoan ();<br />
}<br />
Public Class Book extends StockItem<br />
{<br />
Private string author;<br />
Private string isbn;<br />
Public void displayDetails ();<br />
}<br />
Public Class CD extends StockItem<br />
{<br />
Private string artist;<br />
Private integer playingTime;<br />
Public void displayDetails();<br />
}<br />
11
CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />
8 (a) it calls itself / is defined in terms of itself<br />
/ contains within its body a reference to itself; 1<br />
Ensure 'it' refers to procedure, if meaning program or object no mark<br />
(b)<br />
the current state of the machine is saved/preserved;<br />
so can return correctly (to previous invocation/call of Process);<br />
or<br />
return address / procedure parameter / status register / other register values<br />
/ local variables<br />
must be saved/preserved; so can return correctly to<br />
‘correctly’ can be implied<br />
(previous invocation of Process); 2<br />
(c)<br />
Printed Output:<br />
1; 3; 5, Bird; Bremner; 4, Fortune, Jones; 2, Smith; 6<br />
mark from left and stop marking when error encountered<br />
ignore punctuation.<br />
(d) (in-order) traversal of a tree; A printing of tree (elements in order) 1 10<br />
I wrong order<br />
12
<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />
9 accept Immediate Access Store or IAS as an alternative to main memory<br />
(a) (i) hard disk / secondary memory; R backing store R hard drive 1<br />
(ii)<br />
(used when execution of a program/process)<br />
not enough main memory / RAM / physical memory;<br />
to run process(es) // load program(s) // allocate data area; A store<br />
R computer fooled into thinking more main memory max 2<br />
(iii) physical/main memory/RAM is conceptually divided into a number of<br />
(fixed size) page frames; A pages/segments;<br />
(virtual address space of) program/process is divided into a number of (fixed size) pages;<br />
page table indicates which pages of process are loaded (and where);<br />
A page table keeps track of pages;<br />
pages are swapped between disk/secondary memory and main memory as required<br />
// pages are swapped into, and out of, main memory as required; max2<br />
No marks for a point which references just data when it should reference a program<br />
backing store is not acceptable as a substitute for disk<br />
13
CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />
(b) (i) a thread is a line/path of execution within a process;<br />
a thread is the processing performed on a single set of data in the system;<br />
a thread is a process that shares most of its environment;<br />
a thread is a light-weight sub-process; max 1<br />
(ii)<br />
each thread has its own thread control block / TCB; A thread ID;<br />
it has its own program counter / stack pointer / register values / local variables max 1<br />
(iii) threads have access to the same memory so they can communicate easily;<br />
saves main memory / RAM;<br />
faster execution than separate processes // faster execution overall // faster start-up time;<br />
Allow carry forward/back between (i) and (ii) max 1 8<br />
R program instead of process<br />
14