0% found this document useful (0 votes)
17 views62 pages

Instructions To Candidates: Duration

Uploaded by

abuferrari2022
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views62 pages

Instructions To Candidates: Duration

Uploaded by

abuferrari2022
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 62

Computer Science (A Level)

1. A processor contains a number of special registers.


Types of software and the different
methodologies used to develop software Explain the need for the Current Instruction Register (CIR) and describe how the data
All OCR Past Questions which it holds is used.

Mr Barwick

Please note that you may see slight differences


between this paper and the original.
Duration: Not set
Candidates answer on the Question paper.

OCR supplied materials:


Additional resources may be supplied with this paper. [6]

Other materials required:


• Pencil
• Ruler (cm/mm)

2(a). Describe the characteristics of a menu-based interface and give an example of where it
would be used.
INSTRUCTIONS TO CANDIDATES
• Write your name, centre number and candidate number in the boxes above. Please write clearly and in capital letters.
• Use black ink. HB pencil may be used for graphs and diagrams only.
• Answer all the questions, unless your teacher tells you otherwise.
• Read each question carefully. Make sure you know what you have to do before starting your answer.
• Where space is provided below the question, please write your answer there.
• You may use additional paper, or a specific Answer sheet if one is provided, but you must clearly show your candidate number, centre number
and question number(s).
[4]
INFORMATION FOR CANDIDATES
• The quality of written communication is assessed in questions marked with either a pencil or an asterisk. In History and Geography
a Quality of extended response question is marked with an asterisk, while a pencil is used for questions in which Spelling, punctuation and
grammar and the use of specialist terminology is assessed.
• The number of marks is given in brackets [ ] at the end of each question or part question.
• The total number of marks for this paper is 510.
• The total number of marks may take into account some 'either/or' question choices. (b). State what is meant by a distributed system.

[1]
4(a). The following assembly code in Fig. 1 is written for the Little Man Computer instruction
(c). One facility of a network operating system is to provide security for users. set.

Explain two other facilities of a network operating system.

State the output when the inputs are 13 followed by 5.


[4] [1]

3. Intensive Care Units in hospitals are for patients in need of round the clock monitoring (b). In the line:
and support. Computerised systems can be used to monitor patients’ vital signs
(temperature, heart rate, blood pressure and breathing). They can then alert medical
professionals to any significant changes.
i. State what opcode SUB does.
These systems usually run on an embedded, real-time, operating system.
[1]
i. State what is meant by the term real-time.
ii. Name the register in which the result of this line is stored.

[1]
[1]

ii. Explain why a real-time operating system would be suitable for Intensive Care
Units.

(c). i. State what the program in Fig. 1 does.

[1]
[2]
ii. Using pseudocode write a program for a procedural language that takes in two
inputs and gives the same output as the program in Fig. 1.

[2]
b.

ii. Burger House wants to add this logic into its till system.
Complete the code below assuming that g,s,c,f and t are Boolean variables
with the same meaning as part (i).
5. Burger House is a fast food restaurant which wants to encourage healthy eating amongst
its younger diners.

a.
i. Shown below in Fig.2 is the Burger House children’s menu.

[2]

6(a). The website also includes JavaScript.

i. Describe what is meant by the term JavaScript.

Children receive a free toy when they select a meal (i.e. one burger, one side
dish and one dessert) made up of only healthy options.

● Let g be a Boolean value for if a child has chosen a grilled chicken


burger. [2]
● Let s be a Boolean value for if a child has chosen salad.
● Let c be a Boolean value for if a child has chosen carrot sticks. ii. Explain why it is usually the case that JavaScript is interpreted rather than
● Let f be a Boolean value for if a child has chosen fruit salad. compiled.
● Let t be a Boolean value for whether a child receives a toy.

Write an expression using Boolean algebra to determine whether a child


receives a toy when they select a meal.

t= [2]

[3]
(b). Laser Tag is a game where teams of players move round an arena shooting each other
with infrared guns. Players wear sensors that keep track of how many times they have
been hit by the laser. This is known as being ‘tagged’.
(b). * The software team that produces De-Duplicator decides to make a new version that can
At the end of each match players upload their score to a computer. The computer stores detect duplicated images the previous version could not. The software team must decide
the scores in the order they are received in a 2D array called . The array stores the which methodology they will use for the project. Some members of the team suggest
team as an integer (1 for green, 2 for red) and their score. An extract of the array called extreme programming whilst others would prefer to use the waterfall lifecycle.
is shown below. The first entry shows a green team member scored 45 points
and the next shows a red team member scored 30 points. Discuss the two methodologies and justify which you would recommend.

1 45
2 30
2 46
1 31
1 10
1 32
2 2

Once all the players have uploaded their scores the computer adds up the scores for each
team.

Using pseudocode write a program for a procedural language that works out and outputs
the total score for each team. You may assume that there are always 20 players.
[12]

8(a). Atlas Airlines runs flights across cities in Europe. It stores the prices of different flights in
its computer system.

[6]

7(a). A software company decides to release a duplicate file finder which it has named “De-
Duplicator”. Duplicate files are files that are exactly the same (bit for bit identical). Space
is often wasted on computers by having multiple versions of the same file. Duplicate file
finders are programs that find and identify duplicate files on a hard drive so that they can
be removed.

A duplicate file finder is an example of a utility. Describe what is meant by a utility.


[2]
[5]

ii. Rather than storing cities in an array you could use a linked list.

Describe a difference between an array and a linked list.

[2]

A function tripCost has been written that takes in two cities and returns the price of a
direct flight between them.
.

(b). Each airport has a three letter code. The airline’s system stores the airports and
A journey is represented by an array called cities. An example of a trip from Dublin to
corresponding airport codes:
Rome is shown below:

Code Name
Dublin
Barcelona
London BCN
International
Paris
DUB Dublin
Rome
LIS Lisbon
London
LHR
Heathrow
i. Write a program in the language or pseudocode of your choice that uses the cities
array to calculate and output the cost of a given journey as a monetary value. In the Paris, Charles
CDG
case above this would be £950. De Gaulle
PRG Prague
RKV Reykjavik
FCO Rome, Fiumicino

In a programming language or pseudocode of your choice write a program that takes in


an airport code and finds and displays the airport name. You can assume a 2D array
called airports has already been declared and populated with the data above. There is no
need to validate the input and you can assume that the user will only enter a code that
exists in the array.
[2]

(c). i. Describe what is meant by the term inheritance.


[6]

9(a). Identify an attribute in the Lizard class.


[1]

[3]
(b). Livid Lizards is a computer game in which players get to fire lizards from a cannon to
knock down walls. Players get to pick different types of lizards, each with qualities and ii. Explain one way the game’s developers might use inheritance for Livid Lizards.
special powers.

The game is coded using an object-oriented language. Below is the code for the lizard
class:

[3]

(d). The game uses a 2D graphics library. Explain why a linker would need to be used after
compilation.

[3]
Lizard is a class. Describe what is meant by a class.
(d). Programs can also be written in high level languages. In pseudocode write a procedural
program that takes in two numbers and outputs the higher of them.

10(a). The program, as shown in Fig.2 below, is written in assembly code using the Little Man
Computer instruction set. It is supposed to take in two numbers and output the higher.

[4]

11(a). A gaming company decides to release a new video games console. The console will use a
modified version of an operating system called Linux.

Describe two functions an operating system might be expected to carry out on the
console.

1
State what type of translator program would be needed to convert the code above into
machine code.
[1]

(b). Explain how you would correct the program so it outputs the higher of the two numbers
[4]
entered.

[2] (b). Linux is open-source.

Explain how Linux being open-source would benefit the games company.

(c). The program does not work correctly. Describe what the program actually does, using the
numbers 4 and 9 being entered as an example.
[2]

[2]

(c). Explain two reasons why games designed for other companies’ consoles may not work
on this machine.
1
[3]
2

[4] 13. Beryl has to write a program that explains patterns in crystals, using the following
information.

All the patterns in crystals have two lengths, x and y, and an angle A.

12(a). The owner of a small shop has bought some new stock-handling software and is setting ● If A is 90° you need to check the lengths.
up a computer system in order to run it. o If the lengths are equal it is a square crystal.
o If the lengths are not equal it is a rectangular crystal.
The owner will use a number of pieces of utility software. ● If A is not 90° it may be a hexagonal crystal. These crystals have angles of 60° and
120° and the lengths are always equal.
State the purpose of each of the following types of utility software and describe how the ● If A is not 60° or 90° or 120° it must be a parallelogram crystal if the lengths are not
owner would use them. equal, or a rhombic crystal if the lengths are equal.

File handlers

[3]

(b). Hardware drivers

[3]

Beryl's flow chart contains variables.

i. What is meant by a variable?


(c). Backup utility
[3]

[2]

ii. List the variables in Beryl's flow chart.


15(a). A company organises a word guessing game to be played using text messages. Players
have to guess a six letter word and send it to the company's computer. The program
which processes the message contains several subroutines.

[1] The code for one of these subroutines is shown below.

14. José works for a company that provides loans to its customers. When customers take out
a loan they decide how much money to borrow and for how many years.

The interest rate is currently 10% but it may change in the future.

José writes the following program to calculate the monthly payment for a loan.

The subroutine ReceiveMessage is a procedure.

State whether each of the following subroutines, which are called within ReceiveMessage,
is a function or a procedure.

NotInDictionary
:

CheckAnswer
:

The algorithm uses a constant.


SendMessage:
Identify the constant, and explain why a constant has been used.
[3]
Constant
:

Explanation
:
(b). Line 02 converts the message to uppercase.

Explain why it is necessary for the word to be in uppercase in this program.


[2]

(c). The procedure uses validation.

Describe the validation checks in the procedure. [8]

16(a). Resistors are small components of electronic circuits. The value of a resistor is printed on
the resistor using colour bands. Three bands on the left show the resistance. A gold or
silver band on the right shows the tolerance, as in Fig. 1.

[4]

Mr Johnson teaches Electronics to year 7. He is worried that pupils sometimes use a


resistor with the wrong value. He writes a program that pupils can use to check the value
of a resistor.
(d). The program uses a file containing all the six letter words in the English language. This file
is currently a random file. The company is considering converting it to an indexed
Resistance is measured in Ohms using the symbol . This symbol cannot be entered into
sequential file.
the program using Mr Johnson's keyboard.
Evaluate the use of a random file and an indexed sequential file in this situation.
Describe how Mr Johnson can output the symbol using a string function of the
programming language he is using.
The quality of written communication will be assessed in your answer to this question.

[2]

(b). The three bands on the left of the resistor use a colour code to represent the digits from 0
to 9.
Mr Johnson has written the following function to convert each colour to its value.
(d). The variables ColourBand1, ColourBand2 and ColourBand3 contain the colours of the
three bands on the left of the resistor.

● The value represented by ColourBand1 is the first digit of the resistance.


● The value represented by ColourBand2 is the second digit of the resistance.
● The value represented by ColourBand3 is the number of zeros to be concatenated.
However, if there are three or more zeros, the last three zeros should be replaced
by the letter k.

Write an algorithm that will output the resistance of a resistor as a string in the form
“Resistance = 27Q”

This function uses SELECT CASE instead of IF statements.

Explain why SELECT CASE is more appropriate than IF statements in this function.

[3]

(c). The function above contains a syntax error.

i. State what is meant by a syntax error.

[8]
[1]

ii. Identify the syntax error in the function.

17(a). An operating system uses scheduling. One method of scheduling is first come, first
[1] served.

iii. State the name of a different type of program error, other than a syntax error. i. Explain why the first come, first served scheduling method may not be efficient.

[1]
[2]

ii. Describe one other scheduling method.

[3]

[2]
18(a). When translating computer languages, intermediate code may be produced.
iii. Explain why scheduling is necessary.
Explain the need for intermediate code and its purpose in a virtual machine.

The quality of written communication will be assessed in your answer to this question.
[8]

[4]

(b). Explain why memory management is necessary.

[3]

(c). Paging may be used in memory management.

Describe paging.
(b). State three benefits of using library routines when a program is written. (b). i. Compare a Complex Instruction Set Computer (CISC) architecture with a Reduced
Instruction Set Computer (RISC) architecture.
1

[3] [4]

ii. Explain one advantage, other than cost, of RISC compared with CISC.

19(a). i. Give the name of the computer architecture that uses the fetch-execute cycle with
a single control unit.

[1]
[2]
ii. Registers used during the fetch-execute cycle include the current instruction
register (CIR), memory address register (MAR), memory data register (MDR) and
program counter (PC).

Place ticks in the table to show which statements are correct during processing.
(c). Some computer systems use co-processors.
iii.
CIR MDR PC
Explain the effect of using a co-processor system for each of the following applications.
Holds a binary value
Always holds only an address i. Complex calculations for scientific research.
May change more than once during a single
cycle
May pass a value to the MAR

iv.

[4] [2]

ii. Printing personalised letters to customers for an advertising campaign.


(b). A real binary number may be represented in floating point binary notation using 7 bits for
the mantissa followed by 5 bits for the exponent, both in two's complement binary.
[2]
i. State which of the binary numbers P and Q is normalised. Give a reason for your
answer.

P = 101100110001
Q = 110100110011
20(a). A real binary number may be represented in normalised floating point binary notation
using 4 bits for the mantissa followed by 4 bits for the exponent, both in two's
complement binary.

The following binary numbers are in the format described.

Calculate their denary values.


[2]
You must show your working.
ii. The binary number R is not normalised. Write the normalised form of R.
i. 01010110
You must show your working.

R = 000110100101

[3]

ii. 01001110
[3]

21. Data structures may be described as static or dynamic.

i. State the meaning of the term static.

[3]
thes
e
ii. State one type of data structure that is always considered to be static.
123 is the address of
the data to use
ADD is an operand
The data to use in a
calculation is 123
iii. State the meaning of the term dynamic. The address 123 holds
a value which is the
address of the data to
use

iv. Give one disadvantage of using a dynamic data structure. [4]

(c). Caz is studying low-level languages. She has lost some of her notes on modes of
addressing, but has the following part of an example.
[4]
Address in current instruction register (CIR) is 3
Address to be used is 3+11=14

Name and explain two modes of addressing that this example could show.

22(a). When writing a program, programmers may use low-level or high-level languages.

Explain why a low-level language is more suitable for programming a processor to control
a washing machine.

[4]

[3]

23(a). A particular programming language uses facts and rules. For one problem in a college,
some of the program statements about students and courses are listed.

(b). Place ticks in the table to show which statements apply to the modes of addressing student (ben)
{Ben is a student}
shown for a low-level instruction in the form ADD 123. student (cindy)
science (computing)
Addressing mode {Computing is a science}
science (mathematics)
Direc None language (english)
Immediate Relative {English is a language}
t of language (french)
[2]

studies_science (A,B) if student (A) and science (B)


studies_language (C,D) if student (C) and language (D)

The examples you use in your answers to the questions must be based on the program 24(a). An assembler may be used to produce machine code from assembly language.
statements listed.
Describe machine code and assembly language, making clear the differences between
Give the name for this type of programming language.
them, and describe the tasks done by an assembler.

[1] The quality of written communication will be assessed in your answer to this question.
[8]

(b). Give one example of a rule.

[1]

(c). Explain the term goal by writing an example.

[2]

(d). Explain the term instantiation, showing how it is used.

[2]
(b). Describe what happens during syntax analysis, when code is compiled.

(e). Explain how backtracking is used.


[5]

[6]

25(a). i. A high-level language states what is required but not how to do it. The statements
do not have to be in a specific order.

Identify the type of language described. 26. Low-level languages have features which include opcodes and mnemonics.

i. Explain the term opcode.

[1]

ii. State one typical use for this type of language and give one reason for your choice.

[2]

ii. Explain the term mnemonics, giving an example.

[2]

(b). Some high-level languages are object-oriented.

Describe three features of an object-oriented language.


[3]
1

27(a). A programmer has been asked to produce a procedure that will generate a unique
2 username from a person's first name, surname and date of birth (DoB ‐ dd/mm/yyyy). The
username is a fixed length of 14 characters.

The format of the username is:

● the first three characters of the first name


● two random digits (taken from DoB)
3 ● the last three characters of the surname
● day of birth, month of birth and the last two digits of year of birth.
For example, John Smith born on 12/03/1989, could give Joh29ith120389.

The programmer has written the following function to generate a random digit from the
DoB:

1 FUNCTION RandomDigit(DateOfBirth: STRING) :CHAR


2 INTEGER P 2
03 P=0
04 WHILE ((P < 1 ) OR (P > 10))
P = RANDINT(1,10) { RANDINT produces an INTEGER value between 1
5
and 10 inclusive.}
6 IF ((P = 3) AND (P = 6)) THEN
07 P=0
8 ENDIF
9 END WHILE [4]

10 RETURN MID(DateOfBirth,P,1)
iii. Using the function RandomDigit, complete the following procedure to generate the
11 END FUNCTION user name (UserName).

PROCEDURE Generate(UserName:STRING; FirstName:STRING; Surname:STRING;


i. The function compiles correctly, but when tested the function sometimes returns DoB:STRING)
the symbol / rather than a digit.
UserName=“ ” {Initialise to zero length STRING}
Name this type of error and state how it can be corrected.

Type of error
......................................................................................................................................
.

Correction required
..............................................................................................................................

[2]

ii. Identify two improvements that could be made to the code to make it easier to
maintain.
Provide examples from the code to support your answer.

1
END PROCEDURE 2 Example

[5] .......................................................................................................................................................

iv. The procedure could be rewritten as a function to return the value UserName.
3 Example
Describe two differences between a function and a procedure.
......................................................................................................................................................
1

[6]

(c). A variable can be declared as global or local and is said to have scope.

i. Explain what is meant by the term ‘variable’.

[2]

ii. Explain what is meant by ‘scope’ in relation to global and local variables.

[6] [2]

(b). State the three basic programming constructs used to control the flow of execution, giving 28(a). Operating systems can use many different scheduling algorithms.
your own example of each.
i. State three different scheduling algorithms.
1 Example
1
......................................................................................................................................................
[2]
2
iii. State two similarities between paging and segmentation.

2
[3]

ii. Explain the purpose of scheduling.


[2]

29(a). Early computers were programmed in binary machine code. Today most programmers
use high-level languages.

Explain why the programmer could use intermediate code for the final product.
[3]

[3]
(b). Memory management in a computer for main memory can use either paging or
segmentation.

i. Explain what is meant by ‘paging’.


(b). Identify four benefits to the programmer of using library routines.

[2]
[4]
ii. Explain what is meant by ‘segmentation’.
30. A computer uses a Von Neumann processor.

Describe the fetch-decode-execute cycle that this architecture uses. (b). A numeric PIN code entered into the burglar alarm is compared with the code stored at
the memory location passcode.
Fetch
..................................................................................................................................................... If the codes match, the program jumps to the part of the program labelled deactivate.
.
If the codes do not match, the program jumps to the part of the program labelled alarm.

Decode Write the LMC code to meet the requirements above. (You don't have to write the code
...................................................................................................................................................... for labels deactivate and alarm, as you can assume this has already been written
elsewhere.)

Execute
......................................................................................................................................................

[3]

31. See And Believe is a company that specialises in computer-generated imagery (CGI) for [4]
films.

Producing CGI requires lots of processing power and so the company has a large number
of high-performance computers.
33(a). A programmer spends her spare time contributing to an open source application that
Explain why See And Believe would use a distributed operating system.
converts video files from a range of formats to one which uses lossy compression.

Describe what is meant by the term ‘open source software’.

[2]
[3]

(b). When a video is selected, the program gives an estimate of the file size of the converted
32(a). A burglar alarm runs on a processor with the Little Man Computer (LMC) instruction set.
video. The estimate in kilobytes is calculated by multiplying:
One of the instructions in the set is Branch if Positive (BRP ).
● the number of pixels in the video's resolution by…
● the number of frames per second by…
Describe what the instruction BRP does.
● the length of the video in minutes by…
● the value 0.0013.

[2]
Write a function in pseudocode that estimates the size of a converted video. It should:take
in 3 parameters: pixels, framesPerSec, lengthMins
● calculate the estimated file size
● return a string with the file size, including units
● use megabytes for sizes under 1000 megabytes, otherwise the estimate should be
given in gigabytes.

Examples:

● 480000 pixels at 24 frames per second for 60 minutes will return a size of 898.56
MB
● 480000 pixels at 24 frames per second for 120 minutes will return a size of 1.797
GB.

[9]

34. A DIY store has an offer: ‘Spend £20 or more on decorating products and get 10% off all
gardening products.’

When items are scanned in at the checkout they are stored in a 2-dimensional array called
purchases, which stores the item name, category and price.

[4] A receipt with the appropriate discounts deducted is then produced.

Examples of the array and corresponding receipt are shown in Fig. 2 and Fig. 3.

(c). The coding team are looking at writing a new closed source version of the application that
converts audio and image files in addition to video. They intend to sell copies of the
program when it is complete. They investigate three programming languages they could
use, including:

● C++, which is compiled to machine code


● Java, which compiles to an intermediate code that then runs off a virtual machine
● JavaScript, which runs from an interpreter in a web browser.

* Discuss the benefits and drawbacks of the three options above and justify which option
you would recommend.
Write an algorithm in pseudocode, using the array purchases, to:

● determine which items are given a discount


● calculate the total price to pay
● present this information on a receipt in the format shown in Fig. 3.
[2]

[6]

(b). Sarah needs a computerised system in which to catalogue her photographs.

Give two reasons why you would not recommend that Sarah has this software custom
written.

[2]

36.
A student, Dan, on a limited budget finds his computer is running slowly. He uses his
computer for university work and internet browsing.

Discuss what measures can be taken to improve Dan’s computer’s performance. You
should explain what these measures are, why they improve the performance and justify
whether you would recommend them.

35(a). A professional photographer, Sarah, takes and edits photographs for magazines.

Sarah carries around a digital camera and laptop to use on shoots. She keeps extra
peripherals in her office that she can use when editing and finalising photographs.

The laptop has both system software and application software.

i. Define the term ‘software’.

[1]

ii. Explain why Sarah needs both system and application software.
[9]

37. A delivery company sends parcels across the UK.

The company charges on the following basis:


endfunction
● Parcels that have a volume of less than 0.3 m3 and weigh less than 4 kg cost £5 to
send. [4]
● All other parcels cost £20 per m3 or £2 per kg, whichever is greater.

Examples

Parcel A weighs 2.5 kg, has a volume of 0.1 m3 and costs £5 to send.
Parcel B weighs 6 kg, has a volume of 0.2 m3 and costs £12 to send. 38(a).
Parcel C weighs 6 kg, has a volume of 0.8 m3 and costs £16 to send.
Below is part of a program written using the Little Man Computer instruction set. This
The function getCost takes in the volume and weight of a parcel and returns the cost. section of code can exit by either jumping to the code labelled pass or fail depending
on what value is in the accumulator when the code is run.
getCost(2.5,0.1) returns 5
getCost(6,0.2) returns 12 SUB ten
getCost(6,0.8) returns 16 BRZ pass
test
BRP test
Complete the pseudo-code below so that the function getCost returns the correct cost. BRA fail

function getCost(weight, volume)


ten DAT 10
SUB ten
i. Explain what the line ten DAT 10 does. test
BRZ pass
BRP test
BRA fail

LDA
pass OUT
entry
HLT

entry DAT
ten DAT 10
one DAT 1

i. Give one instruction in the program that when executed, changes the value in the
Accumulator.

[1]

[3] ii. Give one instruction in the program that when executed, changes the value in the
Program Counter.
ii. Complete the table below determining whether the program branches to pass or
fail given the following values in the Accumulator when it is run.

Starting value in Accumulator pass or fail


29
[1]
30
31

iii.

[3]

iii. State the value the code outputs for the input 18.

(b). The complete program is shown below:

INP
STA entry [1]
main BRA test
LDA entry iv. State the value the code outputs for the input 37.
fail ADD one
BRA main
the number of points awarded. e.g. a word with 6 letters would mean 6 points are
awarded.
[1]
The function validateAnswer takes in the randomLetters as an array of letters and
v. Describe the purpose of the program. the player’s answer as a string. It then checks if the word the player has entered only
contains letters from the 10 random letters with each letter being used only once. (At this
stage the program doesn’t check if the answer provided is an actual word.) It then returns
a score, out of 10, for a valid word or 0 for an invalid word.

Example

If the random letters are


OPXCMURETN
The word COMPUTER returns 8

Whereas

The word POST returns 0 (there is no S in the random letters).


[2]

And

The word RETURN returns 0 (there is only one R in the random letters).

Complete the function validateAnswer


39(a). A software development team is writing a word game. function validateAnswer(answer, randomLetters[])

The team is using Rapid Application Development.

Describe the Rapid Application Development process.

[4]

(b). Players are given 10 random letters and asked to find the largest word they can make
from those letters. Each letter can only be used once. The length of the word determines
40. When the fridge receives a message it takes the string and stores it in a queue called
words.

endFunction For example REMEMBER TO TAKE CHARLIE TO THE DENTIST THIS AFTERNOON
[6] becomes a queue:

words=["REMEMBER","TO","TAKE","CHARLIE","TO","THE","DENTIST",
"THIS","AFTERNOON"]

(c). Code is to be added to check if the word is an actual English word. All English words are
stored in a binary search tree.

Give one advantage of storing the words in a binary search tree over an array. words.remove() then returns the next item in the queue
for example temp=words.remove() assigns temp the value "REMEMBER" and leaves
[1] words as
["TO","TAKE","CHARLIE","TO","THE","DENTIST","THIS","AFTERNOON"]

The display has four lines; each can show a maximum of 20 characters including spaces.

(d). The software team use a prebuilt library to create the Graphical User Interface. If a word can’t fit on a line a new line is started.

i. Give two advantages to the software team of using a library. Examples

[2]
The contents of the display are stored in a 2D array of characters called display.
ii. The program is compiled. Explain the process of compilation including how
The procedure updateDisplay receives the queue words which holds the message and
code from the library becomes part of the finished program, justifying why each
writes the message to the display.
stage is necessary.
Write the procedure updateDisplay. Credit will be given for the readability of your
code.
[9]
You can assume:
● Messages contain no punctuation.
● All messages will fit on the display.
● The previous message is removed before the procedure is run. 41. Each computer in a firm with high end computers with high performance CPUs, GPUs and
large amount of RAM has a multi-tasking operating system installed.
global array display [20,4]
… i. State the name of and describe two methods that the operating system can use to
… divide the contents of RAM.

procedure updateDisplay(words) Method 1:

Name

Description

Method 2:
Name

Description

[4]
ii. Explain, giving an example, why the firm’s computers use operating systems
capable of multi-tasking.

[2]

endprocedure
[7]
42(a). A web forum stores all its content in a database.

The forum stores details of its users in the table called Users. An extract of Users is
shown below.

userID username passwordHash locked


1 Zeus 8dfa46a79248037752bba6166fcb34f8 1
2 Hera 74d39d60507eb55e000c6ec5c1265891 0 [2]
3 Poseidon b015d770d0208ddcce2c2c719fe29371 0

Describe what is meant by the term ‘primary key’, giving an example from the table above.
(c).

[2] Write an SQL statement to get just the passwordHash and locked values of the user
Apollo.

(b). The user’s password is passed to a function that generates a hash and the result is stored
in passwordHash.

i. Describe what is meant by the term ‘hash’.

[3]

[1] (d). The forum stores details of its users in the table called Users. An extract of Users is
shown below.
ii. Describe one advantage to storing the password as a hash.
userID username passwordHash locked
1 Zeus 8dfa46a79248037752bba6166fcb34f8 1
2 Hera 74d39d60507eb55e000c6ec5c1265891 0
3 Poseidon b015d770d0208ddcce2c2c719fe29371 0

Sometimes users can have their accounts locked if they behave inappropriately. When
this is the case the locked field is set to 1 rather than 0.
Write an SQL statement that locks the account of the user Hades

[3]

endfunction
(e). The function checkAccess takes in the password the user has entered [4]
(givenPassword) along with the password hash (passwordHash) and locked value
(locked).

passwordHash and locked have already been extracted from the database before
being passed to the function. It should return the value true if a user should be allowed
access to a system and false if they aren’t.
43. A company produces digital photo frames (i.e. photo frames that display digital
photographs).
Your function should make use of the pre-written function hash() which takes in a string
and returns the hash of that string. Identify the type of operating system that the photo frame is most likely to use.

e.g.
Operating
Tick one
hash("Hello") returns f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 system
Distributed
Complete the function checkAccess. Embedded
function checkAccess (givenPassword, passwordHash, locked)
Multi-user
[1]

44(a). An electricity company is looking at ways of getting meter readings from its customers. It
releases an application for smartphones which allows users to submit their meter reading
(a 6 digit number).

JavaScript is used to check that a reasonable value is being entered before a meter
reading is sent to a server. When the user enters a meter reading number, the function
validateReading is called. If the number entered is a valid number between 1 and ii. In order to transfer data, the meter and computer need an established set of rules
999999 inclusive, it returns true otherwise it returns false. for how they will communicate.

You will need to use the JavaScript function isNaN() standing for “is not a number”. This State the term used for a set of rules for communication between two devices.
returns true if the value it is given is not a number and false if it is.
[1]
isNaN(computer4) returns true
isNaN(203) returns false

Complete the function iii. Once downloaded, the user can analyse the data.

function validateReading(reading) State the type of application that the user might use to analyse the data once
{ downloaded.

[1]

45(a). Desktop operating systems are an essential part of modern personal computer systems
} (i.e. desktops and laptops).
[4]
Describe how a desktop operating system is loaded when a personal computer is first
switched on.

(b). The electricity company decides to trial smart meters. These can be connected to a
computer so the user can download and analyse records of their electricity usage.

i. In order to be able to access all the functionality of the meter, the computer needs
a device driver. Describe what is meant by the term ‘device driver’. [2]

(b). Operating systems often come with utilities.

State a utility that might be supplied with a desktop operating system to help with system
maintenance.

[1]

[2]

(c).
* One of the key functions of an operating system in a personal computer is to
manage system resources such as memory and CPU time. Discuss the different
approaches a desktop operating system can take to managing these system
resources and the relative advantages of each approach.
[9]
46. A meteorologist sets up a weather station to monitor temperatures throughout the year.

She classifies temperatures in one of four bands:

Temperature Range (degrees


Band
Celsius)
Band A 10 or below
Band B 11–20
Band C 21–30
Band D 31 or above

The weather station records the temperature every day as an integer. At the end of the
year the temperatures are stored in an array called temperatures.

Write a program in pseudocode that reads through this array and produces an output
which shows the total number of days within each band. An example of such an output is
shown below.

Band A: 93
Band B: 143
Band C: 98
Band D: 31

Ensure your code is efficient.


[9]

48. Write an assembly program (using the Little Man Computer instruction set) which
repeatedly asks for a number until 3 is entered. When 3 is entered, the program should
[6] stop.

47.
A programmer is writing a game to run on a variety of games consoles. Discuss the
different ways in which they might use virtual machines in this process and any
advantages and disadvantages of doing so.

[3]

49. A digital coffee making machine has a CPU that uses the Little Man Computer Instruction
Set.

Part of the coffee making machine’s code asks the user to press a button to select
strength. The code outputs 1 which will switch on a green light to indicate a valid
selection or outputs 0 to indicate an invalid selection.

The code is shown below:


INP
STA entry
LDA max
SUB entry
BRP accept
LDA redLight
BRA printAndEnd
accept LDA greenLight
printAndEnd OUT
HLT
greenLight DAT 1
redLight DAT 0
max DAT 5
entry DAT
Fig. 1

i. Tick the appropriate boxes below to indicate which inputs will result in a green light
(i.e. code outputs 1) and which with a red light.

Input Green Light Red Light


1
2
3
4
5
6
7
8
9
[2] [6]

ii. Explain which registers and buses are used, and the values they store/carry, when iii. Write code in a high-level language or pseudocode that has the same functionality
the line LDA redLight is executed (after it has been fetched and decoded). You as the code in Fig. 1.
should assume the address redLight refers to memory location 11.
2

3
[3] [3

iv. * Discuss the differences between assembly code and high-level languages. You iv. Part of a computer’s memory is represented below (Fig. 2). The operating system
should refer to: divides the memory into equally sized chunks.

the advantages and disadvantages of writing programs in assembly code rather than

a high-level language
• when each approach might be used
• why the coffee machine was programmed in assembly code.

Fig. 2

v. State the name of the type of memory management used in Fig. 2.

[1]

vi. The operating system needs to load program C into memory but there is not
enough space. Describe how the operating system would use virtual memory to
load program C.

[9]

50. A software company decides to build an operating system for OCR smart watches.

Memory management is one of the functions of an operating system.

i. List three functions, other than memory management, of an operating system.


[3]
1
public procedure new(givenMoving, givenDistance,
givenDirection)
51. The developer decides she wants to make the software program open source, that allows
users with severe mobility issues to input data into a computer.
moving=givenMoving
distance=givenDistance
Explain the benefits to the users of the software being open source. direction=givenDirection

endprocedure

public procedure updateDist ance(givenDistance)

distance=givenDistance
[2]

endprocedure

endclass
52(a). A taxi firm is investigating replacing its drivers with self-driving cars.

Explain why the self-driving system will use a real-time operating system.

i. Write a line of code to create an object called bollard of type Obstacle which is
not moving and is 7.8 metres away in a direction of 8 degrees.

[2]

[3] ii. Describe an example of encapsulation in the class definition code above.

(b). The code for the self-driving system has been written using an object-oriented
programming language.

It recognises obstacles in the road and then classifies them.


The class for Obstacle is shown below.
public class Obstacle

private moving /Boolean value


private distance /Real number given in metres [2]
private direction /Integer given as between 1 and 360 degrees
iii. Describe the advantages of using encapsulation. distance=givenDistance

endprocedure

endclass [5]

53(a).
Show the result of running the algorithm on the grid and key below. [2]

[2]
KEY: 3 3 3 3 3 1 1 1 1 1

T O P S E
C R E T M
(c). The self-driving program recognises people as a special type of obstacle and the class E S S A G
Person should inherit the methods and attributes of Obstacle. People are treated like E Y R P L
other obstacles except: U O G G Q
when the updateDistance method is called, if the person is more than 2 metres

away but is 5 metres (or less) away, the method Controls.beepHorn() is called.
when the person is 2 metres away (or closer), the method Grid after only the rows are shifted:

Controls.applyBrakes() is called as well as Controls.beepHorn().

Complete the class Person.

class
Person

public procedure updateDistance(givenDistance)

Grid after columns have also been shifted:


(b). Explain why all closed source software is most likely to be compiled rather than run on an
(b). A student writes a program to apply a symmetric encryption algorithm to work on interpreter.
messages of up to 25 ASCII characters.

Write the procedure shiftRow.


[2]

(c). State the name of a type of translator software other than a compiler or interpreter.

[1]

(d). Linux is a popular open source operating system and Windows is a popular closed source
operating system.

Give three functions of an operating system.


1

3
[4]

[3]

54(a). Open source software has grown in popularity over the last few decades.

Explain the difference between open source and closed source software.
55. A programmer has written the following code designed to take in ten names then print
them in a numbered list.

name1 = input("Enter a name: ")


name2 = input("Enter a name: ")
name3 = input("Enter a name: ")
name4 = input("Enter a name: ")
name5 = input("Enter a name: ")
[4] name6 = input("Enter a name: ")
name7 = input("Enter a name: ")
name8 = input("Enter a name: ")
name9 = input("Enter a name: ")
name10 = input("Enter a name: ")

print("1. " + name1)


print("2. " + name2)
print("3. " + name3)
print("4. " + name4)
print("5. " + name5)
print("6. " + name6)
print("7. " + name7)
print("8. " + name8)
print("9. " + name9)
print("10. " + name10)

It has been suggested that this code could be made more efficient and easier to maintain
using an array or a list.

Write a more efficient version of the programmer’s code using an array or a list.

[5]

56. A theatre has a website showing its productions and allowing people to make bookings.

Part of the site is shown below. The words ‘Book tickets’ link to the page ‘bookings.html’.

Upcoming productions:
1. Macbeth
2. Blood Brothers
3. An Inspector Calls

Book tickets

When a booking is made on the website it is stored in a database.

Describe one of the tables you might expect to see in this database.

[2]

END OF QUESTION PAPER


Mark scheme ● …so that data is not lost if
it is corrupted

Question Answer/Indicative content Marks Part marks and guidance Total 9

● Holds the instruction while The system gives a response within


3 i 1 For 1 mark.
it is being decoded / a guaranteed time frame (1).
executed
1 per bullet max 6. ● If something happens to a
● Contents are split into two
parts… patient, a response must
These need to be fairly precise as it is a technical question be immediate (1).
● Operation code is first part
of instruction… Note: ‘Instruction’ in the first mark point may be referred to as ● Other types of system may Up to 2 marks for a valid explanation that demonstrates
ii have delays in response 2
● …operation code is ‘data’
(1).
application of knowledge and understanding to given context.
decoded (so that CU
knows what to do) Examiner's Comments ● This could result in a
1 6 patient not receiving
● Rest of the content is
treatment in time (1).
address of data to be used This was a very technical question and was limited in its scope to
with the operation / actual the CIR, not to elements of the fetch execute cycle which is not
data to be used (if on the specification for F451. If a candidate gave a wide reaching Total 3
immediate operand is response, which many did, the points that were relevant to the
used)… CIR were picked out by examiners. As with question 2d, this is an
ideal question to be answered using numbered points because
4 a ● It outputs 3 (1). 1 For 1 mark.
● …operand is copied to
the answer is a sequence of stages
MAR if it is an address b i ● Performs subtraction (1). 1 For 1 mark.
● …operand is copied to
MDR if it is data ii ● The accumulator (1). 1 For 1 mark.

Total 6 ● Calculates the remainder For 1 mark.


c i of two numbers when the 1
● The software necessary to second is divided by the Accept finds modulo / modulus.
allow the system to be first (1).
used without an
For 2 marks.
understanding of the
Watch for dropdown boxes or icons or any other indication that
underlying hardware /
this is a GUI or a WIMP. Allow follow through for second mark if output matches answer to
operating system
Probably scores 0 (i).
● A series of choices are Accept MOD, % or any existing alternative.
offered to the user ● Code takes in two values
3 marks maximum for description, 1 mark for example Accept if candidate has calculated modulus using alternative
and provides an output (1).
2 a ● No other options are 4 ii 2 method (e.g. using a loop).
available to the user Any reasonable example. Be generous ● The output is the modulus
of the two inputs (1).
● Different choices lead to Example:
different follow on choices Examiner's Comments
● There are options to go
This was well answered.
back one level or to return
to the home screen
● Suitable example eg online
Total 6
banking application

● A system which shares For 3 marks.


processing (between the
processors on a network) / 1 mark for ∧ used to conjoin g and f to rest of expression.
Examiner's Comments
b shares the data between 1 1 mark for s ∨ c.
different systems (on a 1 mark for brackets around s ∨ c.
This was a definition which many candidates did not know and 5 i t≡g∧s∨c∧f 3
network in order to reduce answered as though it was a simple network.
bottlenecks). Give full marks to any equivalent expression.

● File handling… Accept different notations.


● …allowing Access to, and t ≡ g. s + c .f
manipulation of, files
For 2 marks.
dependent on the identity
of the user
Accept forms.
● Handling
communication… Max 2 facilities ii 2
● …controls the movement Examiner's Comments Accept && and || operators.
c of data around the 4
network (by use of agreed Most candidates are able to state two facilities offered by a NOS, Allow follow through mark from 5a)i).
protocol) but the descriptions are less well done.
● Resource sharing / Total 5
resource management…
● …ensure fair allocation of
resources / volume of ● A programming language
printout allowed / etc 6 a i that runs in a web browser 2 Up to 2 marks for a valid description.
(1) that can be embedded
● Automatic backup…
into HTML (1) with
<script> tag (1) to add opportunities are missed. Evidence / ● Discussion around how the methodologies would
interactivity to a page (1). examples are for the most part impact the order of steps in any procedures and how
implicitly relevant to the explanation. sub-procedures would be implemented
● JavaScript is likely to be The candidate makes a reasonable
● How the methodologies could potentially affect how
run on a variety of attempt to come to a conclusion
decisions and the logic involved are dealt with and how
machines (1) with different showing some recognition of
concurrency is dealt with
processors / architectures influencing factors that would
(1). Compiled code is determine which methodology should ● Discussion of other social factors that affect the use of
ii 2 Up to 2 marks for a valid explanation. the different methodologies.
machine dependent (1) be used.
whereas interpreters run
on high level code (1) There is a line of reasoning presented
which is machine with some structure. The information
independent (1). presented is in the most part relevant AO3.3: Evaluation
and supported by some evidence. Having considered the different sides to the argument candidates
● Team scores are initialised will need to reach a supported judgment based on the evidence
(prior to loop) (1). Up to 6 marks – 1 mark for each correct step in process. Any Mark Band 1–Low Level included in their response.
● Iterates through array program with the specified functionality should receive full marks. (1–4 marks)
correct number of times The candidate demonstrates a basic There should be no bias in marks as to which methodology is
(1). Example: knowledge of methodologies with chosen but especially in the top mark band there must be a clear
limited understanding shown; the link between the points candidates have made and justification.
● Checks the team the material is basic and contains some
player is on (1). inaccuracies. The candidate makes a
b 6 e.g.
● If the player is green adds limited attempt to apply acquired The waterfall lifecycle establishes requirements in early stages and
score to the greenTeam knowledge and understanding to the subsequent stages focus on these. New requirements can be
(1). context provided. adopted throughout XP. The requirements in this project are likely
● If the player is red adds to be static making the Waterfall model a more appropriate
score to the redTeam (1). The candidate provides nothing more approach.
● Outputs result in a than an unsupported assertion.
sensible manner (1). The information is basic and OR
communicated in an unstructured
way. The information is supported by In the waterfall lifecycle the development phase focuses on code
Total 10
limited evidence and the relationship that meets the requirements / design. In XP the quality of the code
to the evidence may not be clear. is an important factor. Paired programming helps focus on this.
● A utility performs a 0 marks
specific task (1) and is No attempt to answer the question or For this utility to be successful it must work more efficiently than
usually related to the response is not worthy of credit. its competitors and code developed through XP is more likely to
7 a upkeep of the system (1). 2 Up to 2 marks for a valid description. achieve this, therefore XP is a more appropriate approach.
● Examples of a utility
include a virus checker (1) Total 14
/ disk defragmenter (1).

Mark Band 3–High Level ● Creates a variable to


(9–12 marks) represent total cost and
If only one methodology considered – MAX 6 marks. For 5 marks – 1 mark for each correct step in process.
The candidate demonstrates a initialises it to 0 (1).
thorough knowledge and AO1: Knowledge and Understanding ● Iterates up to the
Any program that has the functionality specified in the question
understanding of both The following is indicative of possible factors / evidence that penultimate item of array
should receive full marks.
methodologies; the material is candidates may refer to but is not prescriptive or exhaustive: (1).
generally accurate and detailed.
8 a i ● Adds to the total cost … 5 Example:
(1).
The candidate is able to apply their ● The waterfall lifecycle involves linear stages whereas XP
● … Uses the correct
knowledge and understanding takes on an agile, iterative approach.
arguments in the tripCost
directly and consistently to the ● The waterfall lifecycle establishes requirements in early function (1).
context provided. Evidence / stages and subsequent stages focus on these – new
examples will be explicitly relevant to requirements can be adopted throughout XP.
● Outputs the total cost
formatted with a £ prefix
the explanation. ● The waterfall lifecycle focuses on the end user at the (1).
start and then they may be consulted at different points
The candidate is able to weigh up throughout the project whereas an end user is integral
both sides of the argument which ● A linked list is a dynamic
throughout XP. data structure (1) whereas
results in a supported and realistic
b judgment as to which methodology 12
● In the waterfall lifecycle the development phase focuses an array is static (1).
on code that meets the requirements / design. In XP the
should be used. ● An array can have any
quality of the code is an important factor – paired element accessed directly
programming helps focus on this. (i.e. random access) (1)
There is a well-developed line of
reasoning which is clear and logically ● The waterfall lifecycle although adopted for large whereas a linked list needs
structured. The information presented projects it can be inflexible and limits changing ii to be traversed until the 2 Up to 2 marks for a valid description.
is relevant and substantiated. requirements. desired element is found
(1).
Mark Band 2–Mid Level ● Contents of an array are
(5–8 marks) stored contiguously in
The candidate demonstrates AO2.1: Application memory (1) whereas the
reasonable knowledge and The selected knowledge / examples should be directly related to contents of a linked list
understanding of both the specific question. may not be (1).
methodologies; the material is
generally accurate but at times For 6 marks – 1 mark for each correct step in process.
underdeveloped. The candidate is ● Discussion of how the methodologies would impact ● Takes in code of airport
upon the choices made regarding abstraction, any (1).
able to apply their knowledge and b 6 Any program that has the functionality specified in the question
understanding directly to the context preconditions and how they are addressed. ● Iterates through the array should receive full marks.
provided although one or two (1).
● Checks the value of the Array could be 0 or 1 based. For 4 marks – 1 mark for each correct step in process.
● Takes in two numbers (1).
code column at each
Examples include: ● Compare the numbers (1). Example:
iteration (1).
● If first number is biggest
● To see if it is equal to code d outputs first number (1). 4
given (1).
● If second number is
● When it is, it takes the
biggest outputs the
airport name from the
second number (1).
name column (1).
● And prints it to the screen OR
(1). Total 9

● Provide a user interface (1


– AO1.1) for the user to
load games etc. (1 –
AO1.2).
● Control hardware (1 –
AO1.1) such as graphics
Total 13
card, games controllers
1 mark for each correct identification (AO1.1) up to a maximum of
etc. (1 – AO1.2).
2 marks.
9 a ● Speed (1) / mass (1) / size 1 For 1 mark. 11 a ● Act as a platform from 4
(1). which software can be run 1 mark for each valid description (AO1.2) up to a maximum of 2
(1 – AO1.1) such as games marks.
● A template (1) defining and apps (1 – AO1.2).
b methods and attributes (1) 2 Up to 2 marks for a valid description.
● Control access (1 – AO1.1)
used to make objects (1). so that different users can
access the system (1 –
● Inheritance is when a class AO1.2) and have their own
takes on the methods (1) data such as scores and
and attributes (1) of a achievements (1 – AO1.2).
parent class (1).
c i ● The inheriting class may 3 Up to 3 marks for a valid description. ● This means that a lot of
override some of these the core functionality they
methods / attributes (1) need is already available
and may have additional (1) so the company just
b 2 Up to 2 marks for a valid explanation.
extra methods and has to make amendments
attributes of its own (1). / additions specific to their
system (1) saving time and
● The company may wish to money (1).
use inheritance to create Up to 3 marks for a valid explanation.
different types of lizards (1 ● Different console makers
ii – AO1.2) using the lizard 3 Maximum 1 mark for demonstrating understanding (AO1.2). will use Digital Rights
class as the base class (1 Management (DRM) (1 –
– AO2.1) and different Up to 2 marks for applying knowledge and understanding (AO2.1). AO1.2) to protect games
types of lizard inheriting from being able to be run
from it (1 – AO2.1). on anything other than
their machines (1 – AO2.1).
● The user running the ● Different consoles will
program will not have different processors
necessarily have the (1 – AO1.2) each with their
library installed on their own instruction sets (1 –
d machine (1) therefore the 3 Up to 3 marks for a valid explanation. AO2.1) and word sizes (1 –
relevant code needs to be AO2.1).
included within the final Up to two marks for identifications (AO1.2).
● Different consoles have
executable (1) – it is the c 4
different operating
job of the linker to Up to two marks for valid explanations (AO2.1).
systems (1 – AO1.2) and
combine this code (1).
so games may be
dependent on libraries in
Total 12 one operating system that
don’t exist in another (1 –
AO2.1) or may make
10 a ● An assembler (1). 1 For 1 mark.
different system calls (1 –
Award first mark: AO2.1).
● Games might be on a
Changing LDA NUMB to LDA NUMA For 2 marks. different media (1 –
(1). AO1.2), for example, might
b 2 Accept changes annotated on provided code. be on Blu-ray when
Award second mark: console may only have a
Accept any other amendment that fixes program. DVD player (1 – AO2.1).
Changing NOTA LDA NUMA to
NOTA LDA NUMB (1). Total 10

● Program outputs smaller Purpose


c number (1) so in the case 2 Up to 2 marks for a valid description. Maximum of 2 marks from Uses
−Manages data storage / organises
of 4 and 9 outputs 4 (1). 12 a data storage 3
Uses Examiner's Comments
− Used for the deletion / sorting /
moving / copying / creation of files / Most candidates correctly described how file handlers would be different for uppercase and lowercase, or that it was the values
folders used but very few correctly stated the purpose, most stating that which were compared and not the ‘character’.
− Manage the storage of software they ‘organise files’ rather than ‘organise data storage’.
− Manage the storage of stock files
− To access files
● Checks the length of the
message…

Purpose Maximum of 2 marks from Uses ● … to ensure there are


Not enable hardware to communicate exactly 6 characters / …
− Enable peripheral and OS to
communicate otherwise reports an Examiner's Comments
Examiner's Comments c incorrect length 4
Uses ● Checks that the existence Quite a few candidates picked up full marks for this question.
b − To configure hardware 3 However some candidates did not answer in the context of the
Some candidates gained credit for stating appropriate uses of of the word…
− e.g. would be used to install a new hardware drivers but again the purpose was generally too vague. question, and therefore described range or presence checks.
keyboard; mouse; printer
● … in company's dictionary
Many stating that they ‘allow hardware to run’ rather than ‘allow / otherwise reports an
(accept any examples sensible within communication between the operating system and peripheral unknown word
context) device’
Hig
Purpose Can
−Automatically makes a copy of files inde
−Storing them in a different location / Maximum of 2 marks from Purpose, 2 from Uses
rele
medium Points made may include:
Examiner's Comments con
− in case of loss / corruption (of
c 3 clea
original) Random file:
This question was well attempted by most candidates although will
‐ A section of disk is reserved for the
Uses too many responses included the term ‘backup’ to describe the Candidate may recommend keeping the random file (on grounds form
words
−To make Incremental back−ups purpose of the utility without explaining the term. of speed) or converting to indexed sequential (on grounds of gram
‐ Uses a hash algorithm to determine
− Ensure that sales / stock data is speed). Either recommendation is fine, but in a higher level be u
the address of each word
backed up response the recommendation should clearly follow from the Me
‐ Example algorithm
points made. Can
‐ Wasteful on space (no-clash hash
Total 9 inde
algorithm will require space for every
Examiner's Comments rele
combination of six characters)
side
d ‐ Clashing can occur and has be 8
This question was marked as a banded response question. The Rec
● A name / location in dealt with
question asked candidates to evaluate the use of a random file just
memory / identifier Examiner's Comments Indexed sequential file:
and an indexed sequential file in this situation. This on the whole from
13 i 2 ‐ Words will be stored in alphabetical
● Used to store a value was poorly answered, as most candidates explained either out of will
On the whole this question was answered well. However some order
which can change during context/ gave basic definition (middle level response) or may
candidates did not make it clear that it could ‘change during ‐ Separate index kept which allows
execution concentrated purely on one or the other file types (low level and
execution’, but used phrases such as ‘it is not fixed’ etc. you to access groups of words
response). It was also worrying how many candidates gave a corr
‐ e.g. addresses of first letters / other
serial file description for the random file. Low
cao example of indexing
Can
‐ the group has to then be searched
and
Examiner's Comments to find the word
ii ● x, y, A 1 no c
‐ More space efficient
thes
Those candidates that did not achieve the mark used the wrong ther
case. term
spe
Total 3
Total 17
● Constant: InterestRate
● Defined at the start…. cao Accept common names for the code → character functions
● …where it can be changed
Examiner's Comments
if necessary / cannot be Examiner's Comments ● Use the character code for
changed during execution Ω(Unicode, extended
ASCII) Candidates struggled with this question. It is a high level question
14 ● Makes reading the 3 Again, candidates dropped marks due to using the wrong case for 16 a 2
● And the built in code → in that examiners expected the candidates to know that ASCII has
algorithm more InterestRate and/or including all or part of the line “CONST
character function / CHAR a limited number of characters, and that to get characters such as
understandable InterestRate=10”. The candidates also needed to state clearly that
/ CHR Ώ they would either have to use Unicode or a version of extended
a constant cannot be changed during the execution of the
ASCII. We also wanted them to demonstrate that programming
program.
(1 mark for identifying the constant, languages have access to character functions.
plus any other 2)
● There are many cases
Total 3 (based on the value of the
same variable)
● IF statements would have Examiner's Comments
b too many levels (of 3
● NotInDictionary: Function nesting) Most candidates picked up one mark for “makes the code more
Examiner's Comments readable”, but did not expand this point to say IF statements
15 a ● CheckAnswer: Function 3 ● SELECT CASE statement
would have many levels of nesting.
● SendMessage: Procedure A few candidates are still having problems differentiating between makes the code more
a function and a procedure. readable

Don't accept “grammar / rules of the code”


● When comparing Except values instead of character codes
characters, upper and
lowercase characters Examiner's Comments c i ● The code does not follow 1
Examiner's Comments
b 2 the rules of the language
don't match
The candidates answered this well, with exceptions who said in
● Because they have On the whole this was answered poorly. The candidates either did
various ways that it was a programming error.
different character codes not seem to understand that the value for a given character was
Allows programs larger than main
memory to run
ii ● END FUNCTION before 1
Examiner's Comments
END SELECT cao
This question was answered well. Those who did not get the mark
typically did not attempt the question. Examiner's Comments
Partitioning memory
Pages are fixed size
c 3 A lot of candidates had problems with this question and a
Pages are physical divisions
significant few thought that this was concerning saving to
Used for virtual memory
iii ● Logic error / runtime error 1 Examiner's Comments secondary memory. Very few mentioned “partitioning” and it was
thought that this should be fairly standard when referring to
This question was answered well. paging.

Other solutions are possible. Total 14

Mark band 6-8. High level


response.

Candidate has explained both terms


in detail.
Candidate has used appropriate
technical terminology throughout.
There are few, if any, spelling errors
or grammatical errors.
Several solutions possible, but all solutions should address the
d 8 bullet points in some way to be correct.
Mark band 3-5. Medium level
response.
Accept the character Ω or an attempt to produce it using a
function - the ability do this correctly has already been assessed.
Candidate has explained 1 of the
terms in detail or explained both
Examiner's Comments
terms superficially.
Candidate has used some technical
A few students produced excellent working solutions to this
terminology in the response.
question using different approaches. However, some candidates
There may be spelling errors or
did not use the FUNCTION ValueOf to calculate the number of
grammatical errors, but they are not
zeros, which resulted in them struggling to append the correct
obtrusive.
number of zeros to the output string, as well as appending Ώ or

Mark band 0-2. Low level
response.
Total 16
Candidate has listed some relevant
points but failed to explain the terms
in any detail. For descriptions “in detail”, 3 or more relevant points are
Once a job starts it prevents other Examiner's Comments There is a lack of cohesion in the expected.
jobs from being processed response.
17 a i 2 Candidate has failed to use correct Examiner's Comments
A job using a slow resource (eg This question seemed to baffle a lot of candidates who decided to
printer) wastes processor time answer a question about priorities instead. Those who answered 18 a technical terms in the response. 8
the question properly generally managed to get one mark, there Spelling and grammatical errors This was the first of two banded response questions. In general
were relatively few who got full marks for this. affect the readability of the response. candidates showed a good level of competence, however, a few
diverged into talking about interpreters and error checking which
One method only - marks in pairs Points may include: was not what was required.
Accept other examples, including Intermediate code:
Round robin Priorities Is simplified code that…
Time slice to each user in turn Highest priority first …is between high level & machine
ii Or 2 code
Length of job Examiner's Comments …is produced by compiler
Shortest job first …runs on any computer
This question was well answered by most candidates with “round …allows portability between
robin” being the clear favourite response. machines
Allows sections of code to be written
Process as many jobs as possible… in different languages…
…in least possible time / quicker …by different programmers
Ensure all jobs are processed (fairly) …suitable for specific tasks
Maximise number of interactive Examiner's Comments Error free
iii 4
users…
…with fast response times / real time In general, this was well answered with the whole range of Virtual machine:
Efficient use of resources / expected responses from the mark scheme being used. A theoretical computer which
processor time provides…
…an environment in which a
translator is available
Organise the use of (main) memory…
Uses an interpreter to run the
…by converting logical addresses to
Examiner's Comments intermediate code
physical addresses
b 3 Points in the context of
Allows programs to share memory /
Most candidates gave correct responses to this, with the majority A translator is used to convert code
allocate memory…
of those gaining two marks, the most popular answers for this from one language to another…
…& protect programs / data from
were ‘allocates memory’ and ‘protect programs from each other’. …from source code to object code
each other
Mention of types of translator:
compilers, interpreters, assemblers
Relatively error free / has already As expected most candidates (using the usual different methods
been tested of completing the task) correctly answered the question.
Ready to use / saves time/already
Examiner's Comments
been written Accept alternative methods
b 3
Used multiple times / common tasks Exponent 1110 = -2 Accept either fraction or decimal value
Excellently answered, very few candidates had any problem with
/ reduces repeated code Mantissa 0.100, move point 2 places
this question and most candidates gained at least two out of the ii 3
Programmer expertise left becomes 0.001 Examiner's Comments
three marks.
Different source languages Denary value is 1/8 = 0.125
Candidates on the whole correctly answered the question.
Total 11

cao P normalised… Examiner's Comments


b i 2
… as mantissa starts 10
19 a i Von Neumann 1 Examiner's Comments Most of the candidates were able to correctly identify the proper
answer and the reason for it.
A very well answered question, with only one possible answer.
Correct mantissa & exponent with no explanation max 2
One mark per correct row
cao
Examiner's Comments Mantissa 0001101 move point 2
places right & fill with 0s on right
ii 3 Examiner's Comments
ii 4 Again generally well answered, although a small percentage of Decrease exponent by 2
candidates were seemingly unaware that you could put more than 011010000011
For some reason this question was not as well answered as
one tick per row. Doing practice questions should have got them anticipated, perhaps it was because of the slight change in
used to this, candidates should be reminded to read question direction from the previous questions.
stems thoroughly.
Total 11
CISC:
Each instruction may take multiple
cycles
Single register set
Max 3 marks for either CISC or RISC, total max 4
Instructions have variable format Examiner's Comments
Size is fixed when structure created /
Many instructions are available
Examiner's Comments 21 i size cannot change during 1
Many addressing modes are These four questions were marked as a group. These questions
processing
available were good differentiators and allowed for a clear distinction
There were a wide variety of answers to this question, ranging
Complicated processor design between candidates. The more able got four marks the majority
b i 4 from the very accurate to the very vague. A significant number of
Integrated circuit is expensive managed two marks.
candidates said that RISC is used in mobile phones, if the
RISC:
question had asked for an example this would probably have
An instruction performs a simple task ii array 1
been a good one. Those that missed marks here generally talked
Limited number of instructions
about the programming and its relative difficulty on either type of
available iii Size can change during processing 1
processor rather than the processor itself.
Complex tasks can only be
performed by combining multiple
instructions
Simple processor design
Examiner's Comments
Storage required is unknown initially
iv 1
/ more difficult to program These four questions were marked as a group. These questions
were good differentiators and allowed for a clear distinction
Examiner's Comments
between candidates. The more able got four marks the majority
Programs run faster…
ii 2 managed two marks.
…due to simpler instructions Most candidates got the first mark, the more able candidates
managed to get the second, again, here the most common
erroneous answer was about the merits/drawbacks of Total 4
programming.

Calculations are done by the maths


co-processor… Examiner's Comments
Examiner's Comments Reflects design of processor
c i …so processing is faster 2 Direct access to memory locations
…when using floating point 22 a 3 Not a well answered question. Candidates seemed more
Both this and the next question were well answered by candidates Limited memory in processor
arithmetic concerned with the washing machine and its functions rather than
who knew that a co-processor is for floating point calculations. Direct coding of operations
the processor controlling it, a clear division was shown with those
showing higher ability more likely to get full marks on this
question.

No increase in speed… Examiner's Comments


ii …as co-processor not suitable for 2
task / as there are no calculations For this part there was a wide variety of inventions as to how a co-
One mark per correct row in table
processor could control a print queue, not answered well by those
who did not grasp the first part of the question.
Examiner's Comments
b 4
Total 15 Most candidates were able to get some marks on this although
disturbingly there was a large proportion of candidates who put
Exponent 0110 = 6 the last tick in the empty cell, presumably because it didn't have
Accept alternative methods anything in it yet.
Mantissa 0.101, move point 6 places
20 a i right becomes 3
Examiner's Comments
0101000.
Denary value is 40
Candidate has failed to use correct
technical terms in the response.
Relative addressing…
Examiner's Comments Spelling and grammatical errors
…uses offset 3 to calculate real
affect the readability of the response.
address from base address 11
c 4 Another question that was expected to differentiate between Machine code:
Indexed addressing…
candidates. Those of higher ability generally managed to get three
…modifies address 3 by adding
or four marks on this question, most candidates could get one or
number 11 from index register
two marks by addressing modes but the difference was in the ● Binary notation
ability to describe what it did. ● Instructions operate on
bytes of data
Total 11 ● Dependent on architecture
● Harder to program
Throughout question, accept any appropriate example using the
statements given in question
Assembly language:
23 a declarative 1 Examiner's Comments

Most could name the type of language as there was only one ● Low level language…
Nothing about lexical analysis or code generation
possible answer. ● …but higher level than
machine code / Examiner's Comments
mnemonics / hexadecimal

e.g. studies_science (A,B) if student


● Uses mnemonics This question covered the full range of abilities for candidates and
b 1 Examiner's Comments ● Machine-specific / close it was a good discriminator of levels of ability. A small but
(A) and science (B)
to computer significant amount of candidates answered about high level
Most candidates achieved this mark. language compilers or interpreters rather than an assembler.
● Each instruction generally
translated to 1 machine
Accept e.g. “searching for a list of students” with either of
code instruction
answers here

A problem that needs to be solved Examiner's Comments


c 2
e.g. student (X) ? Assembler tasks:
Those candidates that did not gain the full two marks here did so
because their answers were either too vague or lacked an
example.
● Reserves storage for
instructions & data
● Replaces mnemonic
opcodes by machine
Setting an initial value to replace a codes
Examiner's Comments
variable
d
e.g. find X=ben, set X=ben to test
2 ● Replaces symbolic
Another question that was set for the higher ability candidates and addresses by numeric
science(Y)
results on this were as expected with only a few candidates addresses
getting the full two marks on this. ● Creates symbol table
● Checks syntax
Accept example that demonstrates this
After finding a solution / failing to ● Error diagnostics
find a solution… Examiner's Comments
e 2 2 Marks from this section
…go back to an earlier step to test
an alternative Mostly well answered by those who knew what the program was
meant to achieve, a few wild guesses from candidates otherwise. ● Statements / tokens are
checked…
Total 8 ● … against the rules /
grammar of the language
Mark band 6-8. High level ● valid example given
No syntax check
response.
Candidate has described all 3 terms Examiner's Comments
highlighting the differences between 3 Marks from this section
machine code and assembly b 5
Again the Principal Examiner was looking for more technical
language. knowledge with this question and it was apparent from the range
Candidate has used appropriate ● Errors reported as a list of answers given that this was one question that showed true
technical terminology throughout. ● Error diagnostics given understanding of the subject.
There are few, if any, spelling errors
or grammatical errors.
● Detail added to symbol
table…
Mark band 3-5. Medium level
response. ● …eg data type / scope /
24 a Candidate has described two terms 8 address
adequately. ● Receives output from
Candidate has used some technical lexical analysis / passes
terminology in the response. code to code generation
There may be spelling errors or
grammatical errors, but they are not Total 13
obtrusive.
Mark band 0-2. Low level
response.
Candidate has listed some relevant
points but failed to give any detail. 25 a i ● Declarative 1 Examiner's Comments
There is a lack of cohesion in the
response. Most candidates answered this correctly.
eg
Use: ● Correct first 3 characters
● Correct 4th & 5th
characters
● Medical diagnosis
Max one mark for use and max one mark for reason. Accept other ● Correct 6th, 7th & 8th
● Expert systems
characters
example uses with reasons
ii 2
● Correct 9th to 14th
Examiner's Comments characters
Reason:
● Correct use of Accept python format if correct eg. FirstName[0:2]
Nearly all candidates achieved at least one mark in this question. concatenation
● Answer to one question
affects the next question / iii 5
Can find alternative In this case accept MID(DoB,3,2)
solutions Example answer:
Examiner's Comments
● Self-contained object / Username=Username+LEFT(FirstNa
(instance of a) class / me,3) String handling was a problem in this question, although most
entity / real world object UserName=Username+RandomDigit( candidates gained the concatenation mark. The use of LEFT, MID
… DoB)+RandomDigit(DoB); and RIGHT (or other language string function) was very limited. A
● … contains routines / UserName=UserName+ large minority tried to use iteration to get individual characters
methods / attributes / data RIGHT(Surname,3) from the strings. Also some were unsure of how to call the
UserName=Username+LEFT(DoB,2)+ function (RandomDigit). Also there are still quite a few candidates
● Program split into small Marks in pairs, max 3 pairs that get the assignment statement the wrong way round e.g.
units/object… MID(DoB,4,2)+RIGHT(DoB,2)
username+LEFT(FirstName,3) = username
● … which are used (by Examiner's Comments
b other objects) to build a 6
complex system Those who knew what object oriented language was did quite ● A function returns a single
well, with the average response able to gain four marks and a fair data type (value)
● Uses encapsulation…
● …to hide data within
proportion gaining maximum marks on this. ● Whereas a procedure can Do not accept ‘return‘
pass (back) many values
objects / object only

accessed through
methods ● … by parameter
● Inheritance…
● … / superclass / subclass Function has a declared type/can be used “as variable”
/ derived classes iv 6

● A function can be used in Examiner's Comments


Total 9 line (as part of a
statement) This was a low scoring question. Most candidates wrote “return a
single value” but nothing else. A large minority seemed to think the
● Part of the instruction / Examiner's Comments ● A function can be used as
difference was recursion, but varied as to which one could do it. It
26 i code 2 a variable
was good to see that a few understood the concept that
● Indicates what to do Nearly all candidates achieved at least one mark in this question. ● A procedure is used as procedurespass back values and functions return a value. A small
any other program number of candidates did realise that a function can be used in an
instruction (statement) expression.
● Sequence of letters
● Easy for a person to ● Iteration …
remember
● … Example should be
either a FOR, WHILE or Do not accept ‘loop’
ii 3
Accept other relevant examples REPEAT … UNTIL
Example: All examples must be code, do not credit explanations.
● Selection …
Allow examples from given code
Examiner's Comments
b ● … Example should be 6
● ADD for addition either an IF, SWITCH, Examiner's Comments
Nearly all candidates achieved at least two marks in this question. CASE or SELECT
● Sequence … This was largely well answered, though some of the code
Total 5 ● … Example should be at examples for iteration were for infinite loops.
least two consecutive lines
Examiner's Comments of code
● Logical
27 a i ● Line 06 change AND to 2 Logic error was well known and the stronger candidates spotted ● Identifier/name of a … Examiner's Comments
OR the error in the code, but many candidates struggled looking for c i ● Memory location used to 2
the error in the format of DateOfBirth. store data Generally well answered.

● A range of
● Use of comments … statements/procedure/fun
● …(an example within ction/method that a Accept block of code
context) Allow constants instead of meaningful names as long as relevant variableis valid for
example from code given i.e. such as firstSlash= 3 or ● A local variable takes Examiner's Comments
● More meaningful variable
secondSlash=6 inline 06
ii names … 4 ii precedence over a global 2
variable of thesame Most gained a mark, although many vague references to code
● … such as Examiner's Comments were given which were rescued by definitions of global and local
Pointer/Position name/allow the same
identifier to be used for variables.
● Use of indentation … Comments and meaningful identifiers were both very well known. different purposes without
● … such as lines 2 to 104 A small number of candidates, however, didn't go on to give an conflict
actual example.
Total 27
● Fetch- The next instruction
is fetched from main
memory/address
● First Come First Served ● Decode- The instruction is Fetch they may describe the whole cycle
interpreted / translated / Not translated in MDR
● Round Robin Accept any other processor scheduling algorithm. 30 split into opcode and 3
28 a i ● Shortest Job First 3 operand (in the CIR) Examiner's Comments
● Shortest Remaining Time Examiner's Comments
● Execute- The appropriate
● Multilevel Feedback instruction/opcode is A lot of candidates are unsure as to what actually happens in the
Generally well answered but there were a small number of fetch decode execute cycle and some very vague answers were
Queues carried out on the
candidates who seem to have got mixed up with stack and queue provided. However, there were a few excellent responses that did
operand.
operations. show a good understanding of the processes.

● To make the most efficient


Total 3
use of the processor /
resources
Examiner's Comments Any 2 from:
● Be fair to all users /
applications
ii 3 A number of candidates seemed to have taken an earlier answer
● Provide a reasonable to a similar question slightly out of context and implied that the ● Allow multiple computers /
response time processor made sure that it got as many users as possible. resources… (AO1.1)
● Prevent processes from “Maximise the number of users” on its own was not considered ● To be treated as one /
failing to run / Process enough for a mark. work on the same problem
starvation / Deadlock (AO1.1) Examiner's Comments
31 3
Few candidates gained full marks on this question. Many
● Parts of a program divided candidates described general characteristics of a network
Examiner's Comments operating system rather than a distributed operating system.
b i into equal size pieces 2 1 from:
Fewer appropriately related their explanation to the scenario.
● Uses physical divisions This was answered as expected with most candidates getting 1
mark, a fair amount got 2. ● Meaning all the computers
can work on producing the
same special effect.
● Parts of a program divided (AO2.1)
Examiner's Comments
ii into unequal sizes 2
● Uses logical divisions As would be expected of this question, it was the second part to Total 3
the previous and the spread of marks was the same.
Do not to accept ‘…branch…’ for BP 1

● Both ways of partitioning / Examiner's Comments


splitting up memory ● The program flow jumps to
a (designated) label /
● Use virtual memory / Many candidates failed to gain credit on this question due to the
another point in the
backing store to swap 32 a 2 lack of attention to detail in their response, which is essential at
program
parts of programs Virtual Memory / Backing store not enough on its own. this level of study. Some candidates responded with answers
iii ● Allow programs larger 2 ● If the value in the such as: ‘the code branches if the result is positive’. Many
Examiner's Comments accumulator is positive. candidates did not demonstrate understanding that it is the value
than memory to run /
insufficient memory in the accumulator which is being tested for whether it is positive
Most candidates were quite unspecific in their responses to this or not.
● Allows programs to be
part of the question, this was aimed at higher grade candidates
stored in memory
and it did define the differences between an average response and Example code:
noncontiguously
a good one. INP
SUB passcode
● Inputs the PIN BRZ deactivate
Total 12
● compares it with the BRA alarm
passcode stored in
● Can be used in a virtual memory using SUB Examiner's Comments
b 4
machine ● the correct PIN results in a
Examiner's Comments The specification clearly outlines the LMC mnemonics which are
29 a ● Portable/ can be used on 3
jump to deactivate
acceptable in learners' responses. Some candidates used LMC
any machine Most candidates responded with “can be used on any machine”, a ● incorrect PIN resulting in a
mnemonics correctly, gaining some credit. Other candidates
● Protects the source code good percentage got the “virtual machine”, not many got “protects jump to alarm
answered using procedural pseudocode gaining no credit.
from being copied source code”. Centres are advised to ensure candidates have the range of LMC
mnemonics at their disposal prior to sitting the examination.

● Pre-tested Total 6
● Saves time / ready for use Allow error free as BOD instead of pre-tested
/ pre-written
b 4
● Written by an expert Examiner's Comments
● Source code is freely
Examiner's Comments
● Written in a different available…
Well answered although there was a tendency for some 33 a 2
language ● …for others to amend /
candidates to repeat the response to the question above worded This question was generally well answered. However, candidates
slightly differently. examine / recompile who referred to the ‘software’ being freely available rather than the
‘source code’ did not gain credit.
Total 7
supported. The candidate makes a
limited attempt to apply acquired Examiner's Comments
knowledge and understanding to the
context provided. Candidates were assessed on the quality of their extended
● function takes in all three The candidate provides a limited response in this question. Some candidates did not extend their
parameters and returns a discussion which is narrow in focus. discussion beyond the benefits and drawbacks associated with
string. Judgments if made are weak and writing code in each of these programming languages, therefore
● Calculates file size unsubstantiated. The information is limiting credit awarded to low / mid band. Those candidates who
b correctly. 4 basic and lacks supporting evidence. discussed the benefits and drawbacks of selling a closed source
● Files under 1000MB application written in each of the languages with a justified
quoted in MB Examiner's Comments recommendation were credited in the mid / high band. Centres
should encourage candidates to structure their response to clearly
● Files 1000MB or over
Most candidates gained credit for correctly writing pseudocode to address all parts of the question.
quoted in GB
calculate the estimated file size. However, too many candidates
found converting between KB, MB and GB challenging. In
Total 15
addition, many did not write their pseudocode as a function and
most output rather than returned the result.
Example
Mark Band 3–High Level (7-9 AO1: Knowledge and Understanding
marks) The following is indicative of possible that candidates may refer to
The candidate demonstrates a but is not prescriptive or exhaustive:
thorough knowledge and Java
understanding of a wide range of the One version needs be written and can be used on any device / OS
technical issues the coding team combination that has the Java Virtual Machine rather than having
might have considered; the material to write multiple versions. ● Prints receipt with item
is generally accurate and detailed. Code running on a VM tends to be slower than compiled. name and price on each
The candidate is able to apply their C++ line. (AO3.2)
knowledge and understanding Multiple versions of the code will need to be maintained for ● Applies a 10% discount to
directly and consistently to the different architectures… gardening purchases.
context provided and come to a well …however there may be minimal differences between them, and (AO3.2)
argued conclusion. Evidence / then just need compiling with different compilers.
34
● If decorating spend is £20
6
examples will be explicitly relevant to or more. (AO3.2)
the explanation. The candidate Program will run quicker than alternatives. ● Displays each discount on
provides a thorough discussion the receipt. (AO3.2)
which is well-balanced. Evaluative JavaScript Examiner's Comments
comments are consistently relevant As interpreted likely to be by far the slowest option.
● Displays the correct total.
(AO3.2)
and well-considered. Will run in any browser. This question required candidates to write an algorithm in
● Correct addressing of a
2D array (A02.1) pseudocode. Candidates are not required to write pseudocode in
There is a well-developed line of AO2: Application the form outlined in the specification Appendix 5e, any reasonable
reasoning which is clear and logically The selected knowledge / examples should be directly related to form of pseudocode was given credit, where appropriate.
structured. The information presented the specific question. The following is indicative of possible However, some candidate responses were written in structured
is relevant and substantiated. factors / evidence that candidates may refer to but is not English which is not an acceptable alternative to pseudocode at
prescriptive or exhaustive: this level of study. Few candidates scored full marks on this
Mark Band 2 –Mid Level (4-6 question. Many candidates did not demonstrate the ability to
marks) Java correctly address a 2D array.
The candidate demonstrates Multiple devices can include devices other than PCs (i.e. phones,
reasonable knowledge and tablets).
understanding of the technical issues People with unusual operating systems or architectures would Total 6
c the coding team might have 9 have access to the application.
considered; the material is generally It makes commercial sense to sell to as wide an audience as The programs / sets of instructions
accurate but at times possible. 35 a i 1
that run on a computer system.
underdeveloped. The candidate is The speed reduction compared to compiled code will likely be
able to apply their knowledge and noticeable with such a processor intensive task. Accept other system software functions e.g.
understanding directly to the context As running on a VM coders will have limited (if any) access to
provided although one or two some of the low level features (e.g. access to the GPU) which can
opportunities are missed. A reasoned optimise the program. Intermediate code is used helping protect ● Provides a platform for applications software
conclusion is drawn. Evidence / intellectual property.
● □ Systems software
● Manages memory
examples are for the most part ● Provides a user interface
controls the hardware [1]
implicitly relevant to the explanation C++
ii ● □ Applications software will 2
The candidate provides a reasonable Some less used architectures may not be developed for as not
allow the photographer to
discussion, the majority of which is commercially viable.
do something useful. [1]
focused. Evaluative comments are Compiled code will run quicker than the other options. This is
for the most part appropriate, likely to be noticeable given the nature of the task. Examiner's Comments
although one or two opportunities for Easier to get access to lower level features (such as GPU access).
development are missed. Compiled code is not human readable helping to preserve These questions were well answered, with most candidates
There is a line of reasoning presented intellectual property achieving full marks.
with some structure. The information
presented is in the most part relevant JavaScript Two of:
and supported by some evidence. Most people have web browsers so by far most compatible option
(don't even need VM). ● □ She will have to wait for
Mark Band 1-Low Level (1-3 The slow speed may be frustrating… the product to be made [1]
marks) …though as no user interaction is needed this may be a trade off Examiner's Comments
b ● □ it will cost a large 2
The candidate demonstrates a basic worth making. amount of money to
knowledge of the technical issues the Source code is visible (though can be obfuscated) meaning it can produce [1] This question was well answered with most candidates correctly
coding team might have considered easily be copied and amended. identifying that ‘off the shelf’ software is already available.
● □ help will not be easily
with limited understanding shown; available as there is no
the material is basic and contains AO3: Evaluation user community [1]
some inaccuracies. A conclusion is Candidate has used the points above to justify their choice of
made though it may not be well language.
● context provided. The candidate
□ Has not been ‘tried and
tested’ [1] provides a limited discussion which
RAM can be accessed
● □ there are likely off the is narrow in focus. Judgments if less frequently.
shelf alternatives [1] made are weak and unsubstantiated.
The information is basic and More RAM means
Total 5
communicated in an unstructured
way.
more programs can be
The information is supported by open simultaneously
Mark Band 3 – High Level AO1: Knowledge and Understanding limited evidence and the relationship -
(7–9 marks) to the evidence may not be clear. without the need to
The candidate demonstrates a
thorough knowledge and
The following is indicative of possible factors/evidence that 0 marks use much slower
candidates may refer to but is not prescriptive or exhaustive: No attempt to answer the question or
understanding of a wide range of response is not worthy of credit. virtual memory.
ways a computer’s performance can Methods of improving performance
be improved and justifies how these
measures improve performance; the
material is generally accurate and - Replace CPU with
detailed. The candidate is able to
apply their knowledge and faster CPU
understanding directly and
Adding a graphics
consistently to the context provided. card will speed up the
Evidence / examples will be explicitly - Add more/Faster
relevant to the explanation. The rendering of 3D
RAM
candidate provides a thorough graphics as GPU has
discussion which is well-balanced.
Evaluative comments are consistently - specialist instructions
relevant and well-considered. - Add a graphics card
There is a well-developed line of
and can apply the
reasoning which is clear and logically same instruction to
structured. - Upgrade to faster
The information presented is relevant multiple pieces of data
secondary storage
and substantiated. simultaneously.
Mark Band 2 – Mid Level
- Update OS The slower the
(4–6 marks)
The candidate demonstrates
9 secondary storage the
reasonable knowledge and
AO1.1
- Install a lighter weight longer it takes to load
understanding of a range of methods
of improving a computer’s
OS files/program/data. A
performance and justifies how many
of these improve performance; the
(2) - faster secondary
material is generally accurate but at
AO1.2 - Defragment the hard storage device can
times underdeveloped. The
36 candidate is able to apply their disk improve this. May
(2)
knowledge and understanding choose to use flash
directly to the context provided
although one or two opportunities are
AO2.1
- Check for viruses and memory (i.e. SSD)
missed. Evidence / examples are for
the most part implicitly relevant to the
(2)
spyware. OS makers often
explanation.
AO3.3 release updates and
The candidate provides a reasonable -
discussion, the majority of which is
(3)
some of these will
AO2.1: Application
focused. Evaluative comments are
for the most part appropriate,
improve performance.
The selected knowledge/examples should be directly related to
although one or two opportunities for
the specific question. The example below is not prescriptive or Some lighter weight
development are missed.
There is a line of reasoning presented
exhaustive: operating systems use
with some structure. The information
fewer system
presented is in the most part relevant
and supported by some evidence.
A newer CPU may - resources allowing the
have a faster clock system to devote
speed and so execute more to running the
more instructions per user’s applications.
second. It may have
A fragmented HDD
Mark Band 1 – Low Level
multiple cores and so
(1–3 marks) runs slowly as time is
The candidate demonstrates a basic - be able to execute
knowledge of how a computer’s spent finding parts of
several programs
performance can be improved. the files. This is
Limited understanding is shown of simultaneously (or one -
how these measures improve reduced by
performance; in parallel).
defragmenting and
the material is basic and contains
It may have more
some inaccuracies. The candidate storing the parts of the
makes cache meaning
a limited attempt to apply acquired file contiguously.
knowledge and understanding to the comparatively slower
Surprisingly few candidates gained full marks on this question.
Malware can slow – In a memory Many responses did not use appropriate assembly language
down a computer. location (1) terminology e.g. label, memory location.
-
Removing it will
improve performance. – Given the label /
symbolic address
AO3.3: Evaluation ten (1)
The following is indicative of possible evaluation points that
candidates may refer to but is not prescriptive or exhaustive:
Starting value in
Pass or Fail
Hardware improvements (i.e. CPU, RAM, secondary storage and Accumulator
GPU) have costs attached but likely to have most impact. 29 Fail 3
The higher performance the hardware, ii 30 Pass
the more cost incurred. (AO2.1)
31 Fail
(NB candidates aren't expected to know relative costs of Examiner’s Comments
components.) Very few candidates did not gain full marks on this question.
1 Mark per row
GPU unlikely to benefit student in this scenario (unless their course
requires graphics processing).

Defragmenting HDD is free and so should be performed.

Running anti-malware programs is free/low cost and should be LDA (1)


done as a precaution against losing data anyway.
1
SUB (1)
Moving to lighter weight software can potentially be free if the user b i
considers open source software.
ADD (1) (AO1.2)
Examiner’s Comments
Examiner’s Comment Most candidates identified correctly, an instruction which changed
Candidates were assessed on the quality of their extended INP (1) the value in the Accumulator but fewer correctly identified an
response in this question. Most candidates could cite some instruction which changed the value in the Program Counter.
methods for improving performance but not all managed to then
appropriately apply these to the question. Many candidates did (Max 1)
recommend one or more measures although some cases needed
to include justification. This resulted in some very good responses
and marks awarded spanning the range of marks available.

Total 9
BRA (1)
1
Example
ii
BRP (1)
BRZ (1) (AO1.2) Examiner’s Comments
Most candidates identified correctly, an instruction which changed
- Where weight is less than 4 and the value in the Accumulator but fewer correctly identified an
volume is less than 0.3m3 returns 5… instruction which changed the value in the Program Counter.
(1)
(Max 1)
- …And only when both weight<4
and volume is<0.3 (1)
4
1
37
- Where weight is >= 4 and volume iii 20
AO3.2
>= 0.3 it returns the larger of weight * (AO2.1) Examiner’s Comments
2 if that is larger (than volume*20)… Candidates invariably gave both correct output values.
(1)

- …and volume * 20 if that is larger Examiner’s Comment


(than weight * 2). (1) 1
Candidates were asked to complete a function in this question. iv 40
Although many students demonstrated reasonable logic in solving (AO2.1)
this problem, some functions designed resulted in output, rather Examiner’s Comments
than returned values from the function and therefore did not gain Candidates invariably gave both correct output values.
full marks.
Rounds up (the number input)… (1)
2
Total 4 v Rounds to multiple of ten gets one mark.
…To the nearest multiple of ten
(AO2.2)
(and outputs it) (1)
MP3 Accept identifier
Total 12
– Stores the value 3
38 a i
10 (1) (AO1.2) 4
39 a
Examiner’s Comments (AO1.1)
– Prototype is length for a valid
created (1) word.(1)
Accept O(log n) search time rather than O(n)
– (Evaluated and)
feedback used to BS Tree can be 1
c
inform next iteration searched quicker (AO1.2)
Examiner’s Comments
(1) than an array. Very few candidates did not achieve this mark, most correctly
Examiner’s Comments stating the advantage ‘faster to search’.
Most candidates gained some marks on this question but few
– Any changes are achieved full marks. In general responses lacked attention to detail
and clarity of expression. Centres should advise candidates that
made (1) the number of marks awarded for questions gives an indication of Saves time / money
the number of points required in the response.
as prewritten (1)
– Process repeated
until…(1) Draws on expertise
of other
…prototype programmers (1)
becomes final
product. (1) Pre-tested (so likely 2
d i
to work) (1) (AO1.2)

Can have been Examiner’s Comments


Those candidates who cited generic advantages of using
(Max 4) written in a different subroutines as opposed to library routines did not gain credit. The
language (1) question asked for advantages to the team of using a library.

– Function traverses
every letter of
answer (1)
(Max 2)

– Function traverses Points may include but are not limited to:

every randomLetters
Mark Band 3–High AO1 Knowledge and Understanding
(1)
Level The compiler is effectively a group of programs.

(7–9 marks)
– Correctly checks The stages of compilation are: lexical analysis, syntax analysis,
The candidate code generation and optimisation.
each letter of AO1.1
demonstrates a A linker is then used to combine the object code with the library
answer against each
6 thorough knowledge (2) code to make the final executable.
of randomLetters (1)
b and understanding AO1.2 AO2.1 Application
(AO3.2) of how source code
– Returns 0 if Source code is input into a compiler program.
is compiled and (2)
answer contains a The first stage is lexical analysis in which..
library code
letter that doesn’t ii Comments and
incorporated. The AO2.1
occur in Examiner’s Comments whitespace are
Many candidates achieved some of the available marks on this material is generally (2)
randomLetters (1) question for attempting to traverse each letter in the word and removed
each letter in the random word - a loop with a nested loop. Some accurate and AO3.3
achieved more marks for comparing the current letters and detailed.
– Returns 0 if letter outputting the length of the valid word. Fewer candidates achieved (3) Variables, and
the final marks for checking if the letter was in the word or
occurs more times duplicated. subroutines stored in
The candidate is
in answer than 9 symbol table
able to apply their
randomLetters (1)
knowledge and
Which also holds data
understanding
– Returns answer such as scope and data
directly and
type
consistently to the
justified why each stage was necessary. Many candidates scored
context provided. Code is converted to a context provided well on this question.
Evidence / examples series of tokens although one or two
will be explicitly opportunities are
relevant to the missed. Evidence /
explanation. The series of tokens and symbol table is passed onto the next examples are for the
stage, syntax analysis: most part implicitly
The candidate Here the code is relevant to the
provides a thorough checked to ensure it explanation.
discussion which is follows the rules of the
well balanced. language. The candidate
Evaluative provides a sound
comments are This is often accomplished by placing the tokens into a (abstract discussion, the
syntax) tree.
consistently relevant majority of which is
Where it breaks the rules of the language errors are generated.
and well- focused. Evaluative
considered. If no rules are broken then it’s passed on to the next stage… comments are for
..Which is code generation. the most part
There is a well- appropriate,
Here the object code (accept machine code) is created.
developed line of although one or two
(i.e. the binary that is executed by the processor)
reasoning which is opportunities for
clear and logically This code may be inefficient.. development are
structured. The .. it may contain unnecessary instructions or groups of instructions missed.
information that can be replaced by simpler ones.

presented is relevant Code from the library is likely already compiled. There is a line of
and substantiated. And may well have been written in a different language to the main
reasoning presented
program. with some structure.
The main program source code will have contained lines importing The information
the library code. presented is in the
A program called a linker can incorporate the code from the library most part relevant
with the main program…
…into a single executable file.
and supported by
Mark Band 2–Mid An alternative approach is for the main executable to link to the some evidence.
compiled library code (i.e. dynamic linking).
Level (4–6 marks)
The candidate Mark Band 1–Low
demonstrates Level (1–3 marks)
reasonable AO3.3 Evaluation
The candidate
knowledge and Lexical analysis is necessary to put the code into a format which demonstrates a
can be read and processed (i.e. parsed) by the syntax analyser.
understanding of basic knowledge of
how source code is Syntax Analysis is necessary to ensure the code is valid in as how source code is
much as it meets all the structural rules of the language. This
compiled and library guarantees it will run (though it might not do as expected and may compiled and / or
still have occurrences of runtime errors).
code incorporated; library code
the material is Code generation is necessary to turn the code into a format that incorporated; the
the processor can understand (i.e. binary machine code).
generally accurate material is basic and
but at times The code optimisation whilst not necessary, does ensure the code contains some
runs quicker or using less memory.
underdeveloped. inaccuracies. The
Linking is necessary to ensure the library code is incorporated into
the final program.
candidate makes a
The candidate is limited attempt to
able to apply their Examiner’s Comments apply acquired
knowledge and Candidates were assessed on the quality of their extended knowledge and
response in this question. Many candidates explained the stages
understanding of compilation very well. Some went on to describe how code from understanding to the
the library becomes part of the finished program equally well. Few
directly to the context provided.
The candidate Paging…(1)
provides a limited Memory is divided Accept same size units for MP1

discussion which is … into fixed / physical


4
narrow in focus. units (1)
41 i
Judgments if made Segmentation… (1) (AO1.1) Examiner’s Comments
are weak and Memory is divided Candidates who correctly cited paging and segmentation as the
unsubstantiated. logically / variable
methods of dividing memory, invariably went on to achieve full
marks.
The information is …
size according to its
basic and contents. (1)
communicated in an
unstructured way. Accept any reasonable work related answer
The information is Multitasking allows
2
supported by limited the user to run more
evidence and the than one program at (AO1.1 – 1
ii
relationship to the the same time. (1) mark
Examiner’s Comments
evidence may not be E.g. running CAD AO1.2 – 1
Most candidates achieved both marks on this question. Those
mark )
clear. software whilst who did not, either explained multi-tasking or gave appropriate
examples. The question asked for both.
checking emails. (1)
0 marks
Total 6
No attempt to
answer the question
or response is not
A field which has a unique value for 2
worthy of credit. every record / A unique identifier. (1)
42 a (AO1.1 –
Total 22
E.g. userID (1) 1, AO2.1 -1)
Examiner’s Comments
Well received and answered by most candidates.

A result generated by applying an 1


b i algorithm / numeric process to a
value. (1) (AO1.1)
- Program iterates through the queue
words (1)

- First word is added to display (1) Hash functions are


- Subsequent words added on the one way / can’t be 2
7
same reverse (1)
line (1)
(AO1.2 1
AO3.2 ii mark, Examiner’s Comments
- Unless a word won’t fit, in which
case it is
If someone gains Many candidates achieved the mark in
40 (5)
moved to the next line (1) access to the AO2.1 part i) few achieved both marks in part ii) mostly stating as
opposed to describing the advantage e.g. ‘those who gain
- Words have spaces between them. database they 1 mark) unauthorised access cannot access passwords’ without going on
AO3.1 to say ‘hash functions are one way’.
(1) cannot access
- Use of sensible variable names
(2) user’s password. (1)
(allow Accept ‘row major’ array in pseudocode provided it is consistent
single letter variables for for loop throughout. Do not award first mark for SELECT *
counters. (1)
Examiner’s Comment
- Use of indentation (1) Candidates found this question challenging although there were
many excellent solutions. Not all candidates noted in the question SELECT passwordHash, locked
3
that ‘Credit will be given for the readability of your code’. In many (1)
c Examiner’s Comments
cases where candidates had attempted a solution which FROM Users (1)
(AO 3.2) In most cases, candidates who achieved marks in c) went on to
contained errors they were still able to gain marks for appropriate WHERE username=‘Apollo’ (1)
achieve marks in d) with few candidates achieving all marks in
indentation and the use of sensible variable names. either. Many candidates did not use correct SQL statement
structure or syntax e.g. confusing attribute names with string
Total 7 literals.
Allow other updating method return false;
Returns true if }
e.g. a DELETE statement followed by an INSERT statement, for -
full marks e.g. reading is >=1 Do not penalise for lack of ;
{ } are not needed in this case.
and ⇐999999 (but no
- NB: credit should be given for validating length
other values)
UPDATE Users (1) Examiner’s Comments
SET locked=1 (1)
3 Returns false for a
d - number not between Some candidates used incorrect logic in this question. Common
issues included; incorrect use of the Boolean operator i.e. IF
WHERE username=‘Hades’ (1)
(AO 3.2) these values. reading >=1 OR reading <=999999; inverse use of the returned
Examiner’s Comments value from the isNaN() function. Some candidates, even though
In most cases, candidates who achieved marks in c) went on to the question specified that this was a function, did not return any
achieve marks in d) with few candidates achieving all marks in value(s). Candidates were not penalised for slight errors in syntax.
(1 per -, max 4)
either. Many candidates did not use correct SQL statement
structure or syntax e.g. confusing attribute names with string
literals.
- A program/software
That controls a piece
-
Takes a hash of of hardware
givenPassword Providing
2 an
b i AO1.1
(NB this may be interface/bridge
(2)
Examiner’s Comments

done inline e.g. - between the


Manydevice
candidates stated a valid definition for a device driver but
if hash some definitions were too vague to gain credit at this level of
and (operating)
Example code: study.
(givenPassword)
system
==passwordHash
and locked==0 (1 per -, max 2)
then (1) cao
1
4 Candidates may have taken a different approach - any solution
ii Protocol(s) AO1.1 Examiner’s Comments
e Returns true if that fulfils the criteria on the left should get them marks.
(1)
(AO 3.2)
Most candidates correctly stated protocol(s) here.
password is correct
and account is Examiner’s Comments
Accept any suitable application.
No proprietary names
unlocked. (1) Candidates were asked to complete a function in this question.
Although many students demonstrated reasonable logic in solving - Spreadsheet
1 package
Examiner’s Comments
this problem, some used output statements rather than returned iii AO1.2
Returns false if values from the function, therefore, not gaining full marks. - DBMS/database
(1)
Surprisingly fewer than anticipated candidates achieved this mark.
account is locked (1) (1 per -, max 1) Candidates should be reminded that the use of proprietary names
is not acceptable and will not gain credit.

Returns false if Total 8

password is
incorrect (1)
The BIOS is loaded/
-
Total 15 carries
2 out its checks
45 a AO2.1
the(2)BIOS/bootstrap
Examiner’s Comments
-
loads up the
ManyOS.
candidates correctly referred to the BIOS/bootstrap but then
failed to clearly describe the process.
(1 per -, max 2)
Operating sys 1
Tick One
43 tem AO2.1
Examiner’s Comments
(1)
Distributed
Most candidates achieved the single mark available in this - Disk Defragmenter
Accept any sensible utility.
Embedded ✔ No proprietary names
question.
Multi-user - Compression Utility
1
b - Disk
AO1.2Checker
Total 1 (1) Examiner’s Comments
- Virus checker
Example solution: Most candidates could correctly state an appropriate utility
if(!isNaN(reading) && reading>=1 && - File manager
program.
4 reading<=999999)
Returns false if { (1 per -, max 1)
44 a
AO3.2 return true;
- reading is not a (4) }
c
Mark Band 3-High Level (7-9 9 AO1
else
number. {
marks) Memory management divides memory either by paging or
The candidate demonstrates a AO1.1 segmentation. AO3.2
thorough knowledge and (2) Virtual memory is where part of secondary storage is treated as Initialise all 4 totals Example:
- (6)
bandA = 0
understanding of how OSs manage AO1.2 extra memory space. It is used when physical memory space is variables
resources (for this band these should (2) limited.
bandB = 0
be reference to CPU time and AO2.1 CPU time is allocated to processing using scheduling. Checks through all
memory); Strong evaluation of (2) Schedulers use different algorithms. bandC = 0
different approaches. The candidate AO3.3 When CPU attention is needed interrupts are generated. - items in the array via bandD = 0
provides a thorough discussion (3) suitable loop. for i=0 to temperatures[].length -
which is well-balanced. AO2
Evaluative comments are consistently Paging divides memory by fixed size physical divisions. Add temperatures if temperatures
relevant and well-considered. Whilst all pages are the same size, what that size is can vary. -
There is a well-developed line of Segmentation is dividing memory according to variable size logical <=10 to Band A
reasoning which is clear and logically divisions.
structured. The information Scheduling algorithms include Round Robin (Each job gets a fixed Adds temperatures
-
presented is relevant and
substantiated.
time slice), First Come First Served (The first job to arrive is
processed until completion, then the next…), Shortest Job First
>=31 to Band D elseif temperat
Candidate has used appropriate (The quickest to complete job is finished first), Shortest Remaining Correctly assigns
technical terminology throughout. Time (quickest job is completed first but stops and re-evaluates
There are few if any spelling errors or when a new job arrives), Multi-Level Feedback Queue (Jobs are temperatures
errors of grammar. put in different queues depending on their importance).
between 11 and 20
Interrupts are signals sent to the processor asking for attention. elseif temperat
Mark Band 2 -Mid Level (4-6 - inclusive to Band B
marks) AO3
The candidate demonstrates With segmentation only the exact space needed is used per and those between
reasonable knowledge and program, however as programs are loaded and removed from 21-30 inclusive to
understanding of how OSs manage memory there may be wasted space between programs.
system resources (for 5+ Marks there Programmers often need to specify segments. Band C else
should be reference to both CPU
time and memory). The candidate The fixed size of pages make it easier to allocate pages and work Uses else if (or
provides a reasonable discussion,
the majority of which is focused.
out their position. Space inside a page may be ‘wasted’ as
program is unlikely to take up exact number of pages, however all
equivalent) for
Evaluative comments are for the pages can be used with no wasted space between them. efficiency rather than endif
most part appropriate, although one Programmer need not worry about the pages.
or two opportunities for development multiple ifs OR uses next i
are missed. In practice both are used in conjunction (e.g. segmentation on top select/case OR any print(“Band A: ” + bandA)
of paging). - print(“Band B: ” + bandB)
There is a line of reasoning presented other solution that print(“Band C: ” + bandC)
print(“Band D: ” + bandD)
with some structure. The information
presented is in the most part relevant
Some scheduling algorithms (e.g. SJF, STR) can cause starvation
(i.e. certain jobs never get processed).
stops trying to
and supported by some evidence. More complicated scheduling algorithms take up lots of processor categorise a Some solutions may use Select/Case.
There may be spelling errors or errors time for the scheduling itself, taking away processing time from
of grammar in the response but they the actual jobs that need processing. temperature once its E.g.
are not obtrusive. Interrupts mean that the processor only has to worry about being band is found. Select Case temperatures[i]
needed when told (as opposed to having to constantly check i.e.
polling). Displays results in Case Is<=10
bandA=bandA+1
Examiner’s Comments - similar format to
Look out for alternative methods of iteration such as using
Mark Band 1-Low Level (1-3 shown in question. iterators
marks) Candidates were assessed on the quality of their extended
The candidate demonstrates a basic response in this question. Many candidates explained the
knowledge of how OSs manage difference between paging and segmentation, the use of virtual (1 per -, max 6) Examiner’s Comments
system resources The candidate memory and scheduling very well. Some went on to describe the
makes a limited attempt to apply different scheduling algorithm techniques equally well and Candidates were required to write an algorithm and it was pleasing
acquired knowledge and discussed the relative advantages of each function. Many to see that most candidates responded reasonably well to this
understanding to the context candidates scored well on this question. question. Common mistakes were: failing to initialise the counter
provided variables; incorrect concatenation in the output; using separate IF
The candidate provides a limited statements when efficiency was required i.e. (nested IF’s or
discussion which is narrow in focus. SELECT CASE).
Judgments if made are weak and
unsubstantiated. The information is Total 6
basic and communicated in an
unstructured way. The information is
Mark Band 3-High Level (7-9 Points May Include:
supported by limited evidence and
marks)
the relationship to the evidence may
not be clear.
AO1
The candidate demonstrates a 9
There are likely to be spelling errors
and/or errors of grammar, which will
thorough knowledge and A virtual machine is a
understanding of how VMs can be
disrupt the flow of the response
used (for full marks they have AO1.1 piece of software that
0 marks
identified 2 realistic uses of VMs); (2) - behaves in the same
47 Thorough discussion of pros and AO1.2
No attempt to answer the question or
cons of VMs. The candidate is able to (2) way as an actual
response is not worthy of credit.
apply their knowledge and
understanding directly and
AO2.1
(2)
computer.
Total 12 consistently to the context provided. AO3.3 In this case the VM
Evidence/examples will be explicitly (3)
6 relevant to the explanation. The - on the computer
46 candidate provides a thorough
discussion which is well-balanced.
would behave as
Evaluative comments are consistently
relevant and well-considered.
though it were a AO3
There is a well-developed line of games console. Using Virtual
reasoning which is clear and logically
structured. The information Some VMs are used Machines may be a
presented is relevant and -
substantiated. - to interpret useful tool during
Candidate has used appropriate intermediate code. testing, saving time.
technical terminology throughout.
There are few if any spelling errors or Realistically physical
errors of grammar.
machines will have to
Mark Band 2 -Mid Level (4-6
AO2
be used at some
marks)
VMs of different -
The candidate demonstrates point to be 100%
reasonable knowledge and consoles allow the sure everything works
understanding of how a VM could be
used and their pros and cons. program to be tested as it should.
Evidence/examples are for the most - for different machines
part implicitly relevant to the Using a VM to run
explanation The candidate provides a from the
reasonable discussion, the majority intermediate code
programmer’s
of which is focused. Evaluative
- makes it easy to
comments are for the most part computer.
appropriate, although one or two release for a variety of
opportunities for development are Saves space and the platforms.
missed.
time and cost of
There is a line of reasoning presented - But will be at the
with some structure. setting up multiple
The information presented is in the - expense of game
most part relevant and supported by systems.
some evidence. performance.
There may be spelling errors or errors Requires a powerful
of grammar in the response but they computer (as must
are not obtrusive. -
run its own OS and
the VM).
The VMs need to be
accurate
representations of the
Mark Band 1-Low Level (1-3
-
marks) physical machine or
The candidate demonstrates a basic Examiner’s Comments
knowledge of how VMs could be the final code will not
used and an understanding of pros or
cons of their use. The candidate
work on them. Candidates were assessed on the quality of their extended
response in this question. Many candidates offered a balanced
makes a limited attempt to apply Game could be discussion outlining the advantages and disadvantages of using
acquired knowledge and virtual machines in games development and testing. Some
understanding to the context written in a language candidates went on to also discuss how virtual machines could be
provided used to run intermediate code. Some conclusions were
The candidate provides a limited
- that is interpreted to appropriately justified/reasoned. Many candidates scored in the
discussion which is narrow in focus. intermediate code mid-level band on this question.
Judgments if made are weak and
unsubstantiated. The information is and is run off a VM.
Total 9
basic and communicated in an
unstructured way. The information is This means only one
supported by limited evidence and version of the code
the relationship to the evidence may
not be clear. - needs be written and loop INP
There are likely to be spelling errors
it will run on all SUB num
and/or errors of grammar, which will
disrupt the flow of the response systems. BRZ end
0 marks This saves time and BRA loop
No attempt to answer the question or - - Asks for a number.
response is not worthy of credit.
maximizes profits. 3 end HLT
48 - repeatedly… AO3.2
However the game (3) num DAT 3
will run more slowly - until 3 is entered.
- than if it had been (1 per -, max 3) Accept answers that use immediate addressing
compiled to native ie., SUB #3

code. Examiner’s Comments

It was evident from responses to this question that candidates are


more practised in writing LMC code than in previous series. Most
candidates achieved two marks for correctly inputting the value the incorrect condition e.g. IF value < 5 and/or not outputting the
repeatedly. Many candidates did not achieve the third mark result.
because they incorrectly used SUB 3 instead of referencing a
memory location or correctly using immediate addressing i.e. SUB Mark Band 3-High Level (7-9
#3. marks)1
The candidate demonstrates a
Total 3 thorough knowledge and
understanding of assembly code and
high level languages. The material is
generally accurate and detailed.
Input Green Light Red Light
The candidate is able to apply their
1 ✓
knowledge and understanding
2 ✓ directly and consistently to the
3 ✓ context provided. Evidence/examples
will be explicitly relevant to the
4 ✓ explanation.
Accept T for a tick. Penalise if blank table elements have content. AO1
5 ✓ Assembly code uses mnemonics to represent machine code
The candidate provides a thorough
6 ✓ Examiner’s Comments instructions/opcodes.
discussion which is well balanced.
49 i 7 ✓ 2 (AO3.3) High level languages use more natural/mathematical notation.
Evaluative comments are consistently
Most candidates achieved the first mark on this question. The Assembly code consists of simple instructions
8 ✓ relevant and well-considered.
second mark was lost by those who ticked ‘red light’ for an input As such many more lines of assembly code are required to
9 ✓ of 5. perform the same task as a few lines of a high level language.
There is a well-developed line of
Assembly code is specific to the instruction set of a given
reasoning which is clear and logically
processor. High Level languages are not architecture specific.
structured. The information
Rows 1-4 correct 1 Mark presented is relevant and
AO2
substantiated.
Rows 5-9 Mark Band 2-Mid Level (4-6 marks)
Assembly code allows the programmer to choose the exact
instructions so they can write code that is highly efficient.
correct 1 Mark The candidate demonstrates
reasonable knowledge and
It also allows them to have direct control of how memory is used
understanding assembly code and
via addressing modes.
high level languages; the material is
Direct control of hardware.
generally accurate but at times
High level language compilers have optimisers that can also try
The value 11 is stored underdeveloped.
and do this (and in some cases may outperform a human writing in
- assembly code).
in the MAR. The candidate is able to apply their
knowledge and understanding
As high level code is more intuitive and easier to read it is easier to
11 is sent down the directly to the context provided
- although one or two opportunities are
9 AO1.1 (2) follow, debug and build as part of a team. It can also be written in
address bus. iv missed. Evidence/examples are for
AO1.2 (2) a much shorter time frame.
AO2.1 (2) The high level code can be recompiled for different architectures.
the most part implicitly relevant to the
A read signal is sent AO3.3 (3) High level languages come in a variety of paradigms so
- explanation.
programmers can choose according to the problem/their
down the control bus. preference.
The candidate provides a sound
ii 0 is sent (back from 6 (AO1.2) discussion, the majority of which is
AO3
focused. Evaluative comments are
- memory) down the Examiner’s Comments
for the most part appropriate,
Assembly language is best suited to situations such as:
-compilers or interpreters don’t exist for the target CPU i.e.
data bus. Many candidates gave a comprehensive description of the fetch although one or two opportunities for
embedded systems
execute cycle but did not apply their response to the assembly development are missed.
-highest possible performance is critical
0 is stored in the code instruction given in the question therefore losing marks.
- There is a line of reasoning presented
-memory is very limited.
MDR… with some structure. The information
For larger projects which don’t fall under the constraints above
high level languages are likely to be preferable.
presented is in the most part relevant
…and then copied to
- and supported by some evidence.
Examiner’s Comments
the ACC
Mark Band 1-Low Level (1-3
Candidates were assessed on the quality of their extended
marks)
(1 Mark per -, max 6) response in this question. Most candidates could describe the
The candidate demonstrates a basic
basic differences between assembly code and high level
knowledge assembly code and high
Do not credit structured English languages, with many giving examples of where each would be
level languages; the material is basic
Example best used. Some candidates gave clear and appropriate
and contains some inaccuracies. The
justification for the coffee machine being programmed in assembly
candidate makes a limited attempt to
Takes in a value from value = input("Enter a Value")
apply acquired knowledge and
code. In general, most candidates scored reasonably well on this
- if value <=5 then question.
user. print("GREEN")
understanding to the context
else provided.
If value is 5 or less it print(“RED”)
- endif The candidate provides a limited
iii shows green 3 (AO 3.2) discussion which is narrow in focus.
Accept equivalents to <=5 (e.g. < 6)For Green/Red (or 1/0) accept Judgments if made are weak and
Otherwise it shows unsubstantiated. The information is
- any pseudocode equivalent (GreenLightOn(), Output 1, print(1)
Red Output Green etc.) as long as the logic is correct. basic and communicated in an
unstructured way. The information is
Examiner’s Comments supported by limited evidence and
the relationship to the evidence may
(1 Mark per -, max 3) not be clear.
Most candidates gained credit for writing code to read the value
from the user with some then losing marks for either specifying
0 marks
No attempt to answer the question or
response is not worthy of credit.
(1 Mark per -, Max 2)
Total 20
Total 2

Provide a (user)
- Needs to be able to
interface
- respond instantly to
Manage
- If candidate names utility software, allow BP6 changes…
hardware/peripherals
…such as someone
Manage CPU usage /
- stepping in front of
handles interrupts Examiner’s Comments -
50 i 3 (AO1.1) car (or other sensible
- Provide security This question enabled candidates to demonstrate basic example)
knowledge of the functions of an operating system, many scored
Provide platform to well but some candidates responses were too generic for this RTOS offers a
Examiner’s Comments
- 52 a 3 (AO1.2)
run other software level of study e.g. ‘manage resources’.
- guaranteed response There were three marks available for this question. Candidates
should be reminded that they need to specify a clear and specific
Provide utilities for time. point for each mark awarded. Many candidates did not extend
- their responses to three points. In addition, there were many
system maintenance A non RTOS might be definitions of the form ‘the car needs to be able to respond in real
time’ which gained no credit.
(1 Mark per -, Max 3) busy dealing with
- other tasks and not
respond until it is too
ii Paging 1 (AO1.1) Examiner’s Comments
late.
Most candidates correctly identified paging.

(1 Mark per -, Max 3)

Operating system Examples


bollard=new Obstacle(false, 7.8, 8)
uses area of
- Obstacle bollard = Obstacle(false, 7.8, 8);
secondary storage as Created Obstacle bollard=Obstacle(False, 7.8, 8)
-
virtual memory. object called bollard Do not penalise for use of self parameter as used by languages
such as Python.
Move unused b i Has put the correct 2 (AO3.2)
iii 3 (AO2.1) Examiner’s Comments
pages/parts (of Examiner’s Comments - arguments in, in the
-
program A and/or B) Most candidates clearly described virtual memory but some did correct order. In this question, it was evident that more candidates have had
practical experience of programming in an Object Oriented
into virtual memory not go on to discuss the movement of pages between memory
Programming languages than previous series but there were still
and virtual memory. More so discussing the movement of whole (1 Mark per -, Max 2)
many who clearly have not. Those candidates who are practised
Load program C into programs in and out of virtual memory.
- in programming using OOP answered well here.
(physical) memory.
(1 Mark per -, Max 3) The attribute
Total 7
- distance is
private…
ii 2 (AO3.2)
Examiner’s Comments
-…and therefore
- Free of cost updated with the Many candidates clearly described encapsulation but not in
- context, as the question asked, therefore not gaining credit.
Right to method update
- inspect/amend/recom distance
pile source code
Examiner’s Comments Read ‘securing’ as ‘protecting’
51 Can tailor the 2 (AO1.2) Reduces the chance
- program to their Most candidates stated that open source software was free but
- of
some went on to explain that users can amend/inspect the code
specific needs rather than source code. Again, attention to detail is required at iii errors/inconsistences 2 (AO1.2) Examiner’s Comments
this level of study.
Code open for bugs Ensures objects can Most candidates stated an advantage of using encapsulation with
- to be spotted and - only be changed in many then repeating their first statement. Therefore achieving one
mark.
fixed. the way intended/
Ensuring changes are then
consistent with how Controls.appl
yBrakes()
the object should endif
behave
Protecting data/ Can’t if
givenDistance<=2
- be changed then
accidentally Controls.beep
Horn()
(1 Mark per -, Max 2)
Controls.appl
yBrakes()
class Person inherits elseif
Obstacle givenDistance<=5
then
public procedure Controls.beep
Horn()
endif
updateDistance(givenDi
First line Clear use of stance)
Examiner’s Comments
inheritance of
Obstacle. if It was evident in responses to this question that some candidates
givenDistance<=5 did not read the question carefully. The methods to be called in
E.g.: then their response were given in the question. The variable to be
checked was passed as a parameter. Candidates who used this
information correctly scored well on this question.

Person inherits Controls.beepHor


Total 14
Obstacle / n()
- if Row shift as below (1 Mark)
givenDistance<=2
Person extends then P S E T O
Obstacle / E T M C R
S A G E S cao
Controls.applyB
rakes() R P L E Y
Person : Obstacle G G Q U O

c / 5 (AO3.2) 53 a 2 (AO1.2)
endif Column Shift as below (1 Mark)
Person(Obstacle) Examiner’s Comments

Most candidates scored well on the first two parts of this


endif G G Q U O
question.
In the method P S E T O
Less than 2 metres E T M C R
- distance =
triggers brake givenDistance S A G E S
R P L E Y
Equal to but not
- greater than 2 metres endprocedure When checking to see if out of bounds exception keep in mind
that in some languages the loop boundaries are exclusive. When
triggers brake. Procedure correctly unsure give the benefit of the doubt. The final mark is meant to

Less than or equal to


endclass - defined with offer stretch and challenge. Be cautious of wrong answers on face
- parameters.
value seems to work. For example, the following will not work:
2 metres triggers horn
NB a number of ways exist of writing the method – be careful of procedure shiftRow(rowNumber, places)
Less than or equal to the logic. Two such correct examples are below.NB a number of
Procedure for i = 0 to places
- ways exist of writing the method – be careful of the logic. Two - manipulates the grid[rowNumber,i+1]= grid[rowNumber,i]
5 metres triggers horn such correct examples are below. next i
if
b correct row of grid. 4 (AO3.1) endprocedure
(1 Mark per -, Max 5)
givenDistance<=5 Sensible use of for Possible solutions include…
then loop to iterate procedure shiftRow(rowNumber, places)
Controls.beep
through the array array temp[5]
Horn() - for i=0 to 4
endif without generating temp[i]=grid[rowNumber,i]
if out of bounds next i
for i=0 to 4
givenDistance<=2 exception. newPos=(i+places)MOD 5 /% is the same as
MOD
Correctly shifts each program much more
- grid[rowNumber,newPos]=temp[i]
row. next i difficult).
endprocedure

(1 Mark per -, Max 4) And..


– Interpreters translate
source code every
procedure shiftRow(rowNumber, places)
for i=1 to places time the program is
temp1=grid[rowNumber, 4] run
temp2=0
for j =0 to 4 – meaning the user
temp2=grid[rowNumber,j]
grid[rowNumber,j]=temp1 needs the source code
temp1=temp2 to run the program
next j
next i – (1 per - , max 2)
end procedure

Note: within solutions, allow for columns to be referenced first c An Assembler 1(AO1.1)
eg grid[i,rowNumber]

Examiner’s Comments
– Provide a user
Few candidates scored more than two marks on this question. In interface
most cases, this was due to the fact that the code overwrote the
original array value when shifting. Only the top scoring candidates – Provide System
appreciated that an intermediate temporary variable/array was
required to hold the original value(s). Security
– Manage hardware Examiner’s Comments
Total 6
– Provide utilities Candidates need to be reminded that they need to be specific
d 3 (AO1.1) when giving the functions of an operating system. Ideally referring
– Provide a platform to those outlined in the specification. Responses like ‘manage
– Open source has the from which software resources’ is not specific enough at this level of study, the
source code freely can be installed/run
resources referred to must be specified.

available…
– Schedule jobs
– … to
– Handle interrupts
amend/copy/redistribu
te/recompile – Manage memory
– Whereas closed Examiner’s Comments (1 per - , max 3)

source is distributed in Candidates who did not refer to the ability to access and modify or Total 10
54 a binary form only/the 4 (AO1.1) distribute the ‘source code’ in relation to open source and closed
source software did not generally score well on this question.
source code is not Centres need to make sure candidates use the correct technical Array Version
array names[9]
made available… terminology at this level of study.
for i = 0 to 9
– Declaration of
– There are licensing names[i]=input("E
list/array. nter a name: ")
conditions restricting
– for loop which runs ten next i
the redistribution/there for i= 0 to 9
times.
is no permission to
amend the (program) – inputting name to print((i+1)+".
correct location each "+names[i])
code next i
(1 per - , max 4) iteration. List Version
names = []
55
– for loop/while loop 5 (AO3.2)
for i = 0 to 9
which outputs each
– Compilers translate names.append(inpu
name.
the source code prior Examiner’s Comments
t("Enter a name:
to distribution Many candidate responses explained the difference between – names are formatted "))
b 2 (AO2.1) compilation and interpretation rather than explaining why with numbers 1-10 next i
– Meaning the user gets compilation would be more appropriate in this situation.
Candidates should be reminded that their response must relate to and a dot preceding for i= 0 to 9
an executable program the context of the question.
each one. print((i+1)+".
(which makes
amending of the "+names[i])
(1 per - , max 5) next i
Allow 0 or 1 based array, provided code is consistent.
Examiner’s Comments

Many candidates scored well on this question. Although, some


candidate responses demonstrated confusion when using
language specific iterative statements, resulting in the loop
iterating more or less than 10 times. Other candidates placed the
input and output statements within the same loop which does not
meet the requirements of the question.

Total 5

– CUSTOMER…
– …Details about the
customers( making the
booking)
– BOOKING…
– …Stores a reference
to customer unique ID
and production unique
ID. Examiner’s Comments
56 – PRODUCTION… 2 (AO2.2)
Most candidates gave an appropriate table but did not describe
relevant attributes of their specified table.
– …Details of the
productions (being
booked)
– PAYMENTDETAILS…
– …Details of payment
method used (to make
the booking)

1 Mark for each table name (max 1)


1 mark for each description (max 1)
Total (max 2)

Total 2

You might also like