Instructions To Candidates: Duration
Instructions To Candidates: Duration
Mr Barwick
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.
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.
[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]
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.
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.
ii. Rather than storing cities in an array you could use 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
[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.
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]
[3]
[2]
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.
State whether each of the following subroutines, which are called within ReceiveMessage,
is a function or a procedure.
NotInDictionary
:
CheckAnswer
:
Explanation
:
(b). Line 02 converts the message to uppercase.
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]
[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.
Write an algorithm that will output the resistance of a resistor as a string in the form
“Resistance = 27Q”
Explain why SELECT CASE is more appropriate than IF statements in this function.
[3]
[8]
[1]
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]
[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]
[3]
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]
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.
R = 000110100101
[3]
ii. 01001110
[3]
[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
(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]
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]
[1]
[2]
[2]
(b). Describe what happens during syntax analysis, when code is compiled.
[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.
[1]
ii. State one typical use for this type of language and give one reason for your choice.
[2]
[2]
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 programmer has written the following function to generate a random digit from the
DoB:
10 RETURN MID(DateOfBirth,P,1)
iii. Using the function RandomDigit, complete the following procedure to generate the
11 END FUNCTION user name (UserName).
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.
[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]
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.
[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.
[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.
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:
* 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:
[6]
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.
[1]
ii. Explain why Sarah needs both system and application software.
[9]
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
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.
iii.
[3]
iii. State the value the code outputs for the input 18.
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
Whereas
And
The word RETURN returns 0 (there is only one R in the random letters).
[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.
[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.
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.
[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]
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.
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
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.
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.
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
[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.
endprocedure
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.
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().
class
Person
(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.
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.
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
Describe one of the tables you might expect to see in this database.
[2]
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
● 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.
● 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).
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)
– 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
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
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.
c / 5 (AO3.2) 53 a 2 (AO1.2)
endif Column Shift as below (1 Mark)
Person(Obstacle) Examiner’s Comments
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
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)
Total 2