Cambridge O Level: Computer Science For Examination From 2023
Cambridge O Level: Computer Science For Examination From 2023
Cambridge O Level: Computer Science For Examination From 2023
Specimen
These general marking principles must be applied by all examiners when marking candidate answers. They should be applied alongside the specific
content of the mark scheme or generic level descriptors for a question. Each question paper and mark scheme will also comply with these marking
principles.
• the specific content of the mark scheme or the generic level descriptors for the question
• the specific skills defined in the mark scheme or in the generic level descriptors for the question
• the standard of response required by a candidate as exemplified by the standardisation scripts.
GENERIC MARKING PRINCIPLE 2:
Marks awarded are always whole marks (not half marks, or other fractions).
GENERIC MARKING PRINCIPLE 3:
• marks are awarded for correct/valid answers, as defined in the mark scheme. However, credit is given for valid answers which go beyond the
scope of the syllabus and mark scheme, referring to your Team Leader as appropriate
• marks are awarded when candidates clearly demonstrate what they know and can do
• marks are not deducted for errors
• marks are not deducted for omissions
• answers should only be judged on the quality of spelling, punctuation and grammar when these features are specifically assessed by the
question as indicated by the mark scheme. The meaning, however, should be unambiguous.
GENERIC MARKING PRINCIPLE 4:
Rules must be applied consistently, e.g. in situations where candidates have not followed instructions or in the application of generic level
descriptors.
GENERIC MARKING PRINCIPLE 5:
Marks should be awarded using the full range of marks defined in the mark scheme for the question (however; the use of the full mark range may
be limited according to the quality of the candidate responses seen).
Marks awarded are based solely on the requirements as defined in the mark scheme. Marks should not be awarded with grade thresholds or grade
descriptors in mind.
Note: No marks are awarded for using brand names of software packages or hardware.
FOR…TO…NEXT
IF…THEN…ELSE…ENDIF
WHILE…DO…ENDWHILE
CASE…OF…OTHERWISE…ENDCASE
REPEAT…UNTIL
Note: reading and the output MUST be within the same loop.
For example:
Count ← 0
WHILE Count < 50 DO
OUTPUT Name[Count]
Count ← Count + 1
ENDWHILE
Verification check
For example:
B X
6(b) 4
A B C X
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
10.00 boundary / abnormal data // the price should be rejected // value is out of range
9.99 boundary / extreme / normal data // the price should be accepted // value is within normal range
ten abnormal data // input should be rejected // value is wrong type
11(d) FROM 2
"Comedy"
DECLARE X : STRING
DECLARE Y : INTEGER
DECLARE Z : INTEGER
12(b) One mark for storing string in X. 6
One mark for calling the function length.
One mark for using the correct parameter X.
One mark for using the substring function.
One mark for correct parameters.
One mark for outputting length and substring return values.
For example:
X ← "Programming is fun"
OUTPUT Length(X)
Y ← 16
Z ← 3
OUTPUT SubString(X,Y,Z)
The techniques and the data structures required are listed below. The requirements may be met using a suitable built-in
function from the programming language used (e.g. Python, VB.NET or Java).
Techniques required:
R1 Calculate total mark for each student (iteration and totalling).
R2 Calculate average mark for each student rounded to the nearest whole number.
R3 Selection of grade for each student (selection).
R4 Output for each student name, total mark, average mark, grade awarded (output with appropriate messages).
R5 Calculate, store and output the number of distinctions, merits, passes and fails for the whole class (iteration,
counting and output with appropriate messages).
// meaningful identifier names and appropriate data structures (variables, constants and the
// given arrays) to store all the data required
DECLARE TotalMark : ARRAY[1:50] OF INTEGER
DECLARE AverageMark : ARRAY[1:50] OF INTEGER
DECLARE SubjectCounter : INTEGER
DECLARE StudentCounter : INTEGER
DECLARE DistinctionNo : INTEGER
DECLARE MeritNo : INTEGER
DECLARE PassNo : INTEGER
DECLARE FailNo : INTEGER
CONSTANT Distinction = 70
CONSTANT Merit = 55
CONSTANT Pass = 40
// initialisation processes for this scenario, initialising the running totals used for
// grades and combined totals
DistinctionNo ← 0
MeritNo ← 0
PassNo ← 0
FailNo ← 0
// programming techniques of iteration, selection, totalling, counting and output are used
AO2: Apply knowledge and understanding of the principles and concepts of computer science to a given context, including the analysis
and design of computational or programming problems
0 1–3 4–6 7–9
At least one programming technique Some programming techniques used The range of programming techniques
has been used. are appropriate to the problem. used is appropriate to the problem.
Any use of selection, iteration, More than one technique seen applied All criteria stated for the scenario
counting, totalling, input and output. to the scenario, refer to the list of have been covered by the use of
techniques needed. appropriate programming techniques,
refer to the list of techniques needed.
No creditable response
Some data has been stored but not Some of the data structures chosen The data structures chosen are
appropriately. are appropriate and store some of the appropriate and store all the data
data required. required.
Any use of variables or arrays or other
language-dependent data structures, More than one data structure used The data structures used store all the
e.g. Python lists. to store data that is required by the data that is required by the scenario.
scenario.
Solution contains lines of code that Solution contains lines of code that Solution performs all the tasks given in
attempt at least one task given in the perform most tasks given in the the scenario.
scenario. scenario.
BLANK PAGE