Professional Documents
Culture Documents
Feb Revision2 MS
Feb Revision2 MS
Total 4
Example:
bandA = 0
bandB = 0
bandC = 0
bandD = 0
for i=0 to
temperatures[].length - 1
if temperatures[i]<=10 then
bandA = bandA + 1
elseif temperatures[i]<=20
then
bandB = bandB + 1
elseif temperatures[i]<=30
- Initialise all 4 totals variables then
- Checks through all items in the array via suitable loop. bandC = bandC + 1
- Add temperatures <=10 to Band A else
- Adds temperatures >=31 to Band D 6 bandD = bandD + 1
2 Correctly assigns temperatures between 11 and 20 inclusive endif
-
to Band B and those between 21-30 inclusive to Band C
2 AO3.2
Uses else if (or equivalent) for efficiency rather than multiple
- ifs OR uses select/case OR any other solution that stops (6) next i
trying to categorise a temperature once its band is found. print(“Band A: ” + bandA)
- Displays results in similar format to shown in question. print(“Band B: ” + bandB)
print(“Band C: ” + bandC)
(1 per -, max 6) print(“Band D: ” + bandD)
E.g.
Total 6
Graph
Tree
1 mark per bullet to max 1 Linked list
1
ii • Queue
AO1.1
i • List
(1)
• MaTuple Examiner’s Comments
Total 4
• Target temperature (1 – AO 2.1) integer / floating point (1 – Up to 4 marks (AO 2.1) one mark for each
AO 3.1). correct identification of input.
2 • Wheel movement (1 – AO 2.1) Boolean (1 – AO 3.1).
8
4 • Engine running (1 – AO 2.1) Boolean (1 – AO 3.1). Up to 4 marks (AO 3.1) one mark for
• Internal temperature (1 – AO 2.1) integer / floating point (1 – identifying the correct data type.
AO 3.1).
Total 8
Examples:
Total 10
Total 4
3
• Decision is based on the value of inputKey… [1]
• …and the values of characterx or charactery are
AO1.2
ii changed [1]
(1)
• Description of a condition and what it will do e.g. If the input
AO2.1
key equals
(2)
value 37 [1], then the x coordinate is increased [1]
Examiner's Comment:
Many candidates answered vaguely and
could not describe in detail the condition
that was implemented.
Max 2 for description of abstraction, max 3 for examples. Allow any reasonable example that could
be applied to the game
Description, max 2
b
AO1.2
Examples, max 3, 1 mark per example
(4)
e.g.
Examiner's Comment:
Most candidates knew what abstraction
was and could give relevant examples of
how it could be applied. Fewer could
answer in depth to achieve full credit.
Total 13
• Choice of pet
3
2 • Pet name
a AO2.1
8 • Feed
(3)
• Play
• Read
Examiner’s Comment:
Nearly all candidates achieved full marks
after analysing the requirements in the
stem of the question.
2
b i AO1.1
Examiner’s Comment: (2) Examiner’s Comment:
Nearly all candidates scored full marks for factual recall of the Nearly all candidates scored full marks for
required definition. factual recall of the required definition.
6
ii AO2.2
(6)
Examiner’s Comment:
Nearly all candidates achieved three or
more marks after analysing the
requirements in the stem of the question.
A number gave incorrect multiplying
factors for some of the required elements
• Removal of unnecessary
elements
The candidate demonstrates a thorough knowledge and
• Uses symbols to represent
understanding of abstraction; the material is generally accurate and
elements of the problem
detailed.
• Increase chance of creating the
The candidate is able to apply their knowledge and understanding
program successfully
directly and consistently to the context provided. Evidence /
• Reduces programming time and
examples will be explicitly relevant to the explanation.
factors that can detract from the
There is a well- developed line of reasoning which is clear and
program
logically structured.
The information presented is relevant and substantiated.
AO2: Application
0 marks
No attempt to answer the question or response is not worthy of
credit.
Total 20
1
2 Examiner’s Comments
i Removing characteristics/elements/detail from a problem AO1.1
9
(1)
The term abstraction was well understood
and clearly defined by most candidates.
• Removal of feature
2
• e.g. no stations/signals
AO2.1
ii
(1)
i • Symbols/keys are used to represent elements
AO2.2 Examiner’s Comments
• E.g. the train
(1)
Many candidates could offer contextualised
• May not be to scale
examples of differences between the real
• Relative distances may not be true
and the abstracted version of the system.
Total 5
Recognition
1
b i Simulate/test the behaviour of the system before it is used AO1.1
(1)
Examiner’s Comments
e.g.
Total 7
Examiner’s Comments
3
a i Abstraction 1AO1.1 The concept of abstraction was widely
1
understood and the vast majority of
candidates answered correctly.
Examiner’s Comments
Total 10
Examiner’s Comments
Examiner’s Comments
1 mark per bullet to max 3
Candidates often described the lines of
• Compare the size/number of elements in the two arrays code literally rather than demonstrating a
data and nextData 3 AO2.1 real understanding of the underlying
• To set the number of times the loop will run / set the value of (1) purpose of the code. Stronger candidates
ii
loopCount AO2.2 demonstrated that they understood that the
• … as many times as the array with the fewest items (2) data and nextData were arrays whose size
• Otherwise it will attempt to add an empty value was being compared to ascertain which
• … which could cause a logic error was the smaller sized array. Weaker
candidates did not explain the underlying
context that was required.
Examiner’s Comments
2AO2.1
b i data, nextData
(2)
AfL
Examiner’s Comments
Total 7
3
• Classroom displays have been removed
3 Allow other suitable responses that are
i • People have been removed / simplified with symbols
3 A02.1 applied to the scenario in the question.
• Wall/carpet colours/details have been removed
(3)
• Diagram is not to scale.
Total 7
1
3 • 30
a
4 A03.2
(1)
1
• 10
b
A03.2
(1)
1
• 10
c
A03.2
(1)
Total 3
Example Solution:
Total 5
Example answer
Total 8
• Descending order
3
• Line 07 (dataArray[tempos]<temp) has the
AO1.2
3 comparison…
(1)
7 • …that checks if current position is less than item to insert
AO2.2
and…
(2)
• …breaks out of loop when current position is less than or
equal to item to insert
Total 3
Total 2
Total 6
Examiner’s Comments
Total 2
Total 2
Total 4
E.g.
function longest(sequence)
currentRun = 0
biggestRun = 0
for i = 0 To sequence.length - 1
if sequence.substring(i, 1) = = "C"
then
currentRun = currentRun + 1
else
if currentRun > biggestRun then
biggestRun = currentRun
end if
currentRun = 0
endif
Correct function name and parameter AND the function returns next i
– return biggestRun
a value.
– Use of a loop to correctly iterate through the sequence endfunction
5
4 – Adds one to a running total when a C is encountered
3 when character changes from a C if running total is > Examiner’s Comments
–
maximum, overwrites maximum… AO3.2
– …correctly reset running total
It was pleasing to see more candidates
than in previous series offering a response
1 mark per -, max 5
to this type of question. Many candidates
scored well. There were two common
errors. Firstly, some candidates correctly
declared a function as required but then
did not return a value from that function,
this is a fundamental knowledge
requirement at this level of study.
Secondly, some candidates wrote fully
functioning code to return the longest
sequence of any character rather than the
longest sequence of Cs. Hence, not
addressing the question. Candidates
should be reminded to read the question
carefully, particularly where questions
Exemplar 1
Total 5
Mark Band 3 – High level (7-9 marks) AO1: Knowledge and Understanding
The candidate demonstrates a thorough knowledge and Indicative contente.g.
understanding of IDEs; the material is generally accurate and
detailed. • IDE is software that includes an
The candidate is able to apply their knowledge and understanding editor, compiler, run-time
directly and consistently to the context provided. environment
Evidence/examples will be explicitly relevant to the explanation.
The candidate is able to weigh up the use of IDEs which results in a Creating
supported and realistic judgment as to whether it is possible to use
them in this context. • Autocorrect
There is a well-developed line of reasoning which is clear and • Autocomplete
logically structured. The information presented is relevant and • Pretty printing
substantiated.
Testing
Mark Band 2 – Mid level (4-6 marks)
9AO1.1
The candidate demonstrates reasonable knowledge and • Breakpoints
(2)AO1.
understanding of IDEs; the material is generally accurate but at times • Stepping
2
4 underdeveloped. • Variable watch window
(2)AO2.
4 The candidate is able to apply their knowledge and understanding
1
directly to the context provided although one or two opportunities are AO2: Application
(2)AO3.
missed. Evidence/examples are for the most part implicitly relevant e.g.
3 (3)
to the explanation.
The candidate makes a reasonable attempt to come to a conclusion • Tell you when you make a syntax
showing some recognition of influencing factors that would determine error
whether it is possible to use IDEs in this context. • Allows you to write and run the
There is a line of reasoning presented with some structure. The code in one piece of software
information presented is in the most part relevant and supported by • Suggests code so you don’t have
some evidence to remember code, or autocorrect
spelling mistakes
Mark Band 1 – Low Level (1-3 marks) • Helps you trace the program so
The candidate demonstrates a basic knowledge of IDEs with limited you can see what happens when
understanding shown; the material is basic and contains some values change without having to
inaccuracies. The candidates makes a limited attempt to apply manually insert print statements
acquired knowledge and understanding to the context provided. etc.
The candidate provides nothing more than an unsupported assertion. • Autogenerate boilerplate code.
The information is basic and comunicated in an unstructured way.
•
Total 9
Q ≡ A ∧ B ∧ (C ∨ D)
Total 3
Example Solution:
procedure salesAnalysis():
dayCount = 0
1 mark per bullet up to a maximum of 7 marks:
salesTotal = 0
dailySales =
• Suitable logic for initialising variables outside of loop
openRead("Sales.txt")
• Suitable logic for opening and closing Sales.txt
while NOT
• Suitable use of a loop which ends when the last line has
7 dailySales.endOfFile()
been reached in Sales.txt
(AO3.1) dailySaleFigure =
4 • Suitable logic for reading each line of data from file variable
(3) float
6 • Suitable logic for increasing total (and count) including
(AO3.2) (percentageFile.readLine())
conversion from string to numeric data type
(4) salesTotal + =
• Suitable logic for calculating averages by dividing total by
dailySaleFigure
count
dayCount + = 1
• Suitable logic for printing the number of days, the total sales
endwhile
and the daily average
dailyAverage = salesTotal
/dayCount
print(“Over ” + dayCount
+ “ days there was a total
sales of £” _+ salesTotal + “
and an average daily sale of £”
+ dailyAverage)
Examiner’s Comments
Most candidates achieved a few marks,
but few achieved the maximum marks
available. The question states that
pseudocode or program code could be
used so a variety of answers were given.
Exemplar 3
Total 7