Cambridge O Level: Computer Science 2210/21
Cambridge O Level: Computer Science 2210/21
Cambridge O Level: Computer Science 2210/21
Published
This mark scheme is published as an aid to teachers and candidates, to indicate the requirements of the
examination. It shows the basis on which Examiners were instructed to award marks. It does not indicate the
details of the discussions that took place at an Examiners’ meeting before marking began, which would have
considered the acceptability of alternative answers.
Mark schemes should be read in conjunction with the question paper and the Principal Examiner Report for
Teachers.
Cambridge International will not enter into discussions about these mark schemes.
Cambridge International is publishing the mark schemes for the May/June 2023 series for most
Cambridge IGCSE, Cambridge International A and AS Level and Cambridge Pre-U components, and some
Cambridge O Level components.
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.
Marks awarded are always whole marks (not half marks, or other fractions).
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.
Rules must be applied consistently, e.g. in situations where candidates have not followed instructions or in the application of generic level
descriptors.
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.
Program development life cycle description Program development life cycle stage
coding
detect and fix the errors in the
program
design
1(b) One mark for naming or describing each component part, max three 3
For example:
2 A 1
3(b) One mark for each appropriate test data, max three 6
One mark for each correct accompanying reason, max three
For example:
Normal – 75
Reason – the data lies within the required range and should be accepted
Abnormal – Sixty
Reason – this is the wrong data type and should be rejected
Extreme – 200
Reason – the highest value in the required range that should be accepted
Line 10 / Exit 1 // Line 01/ Exit 1 and Line 02 / WHILE Exit <> 0
should be Exit 0 // should be Exit 0 and WHILE Exit = 0
Line 13 / ENDIF
should be ENDWHILE
Correct algorithm:
01 Exit 1
02 WHILE Exit <> 0 DO
03 INPUT Number
04 IF Number > 0
05 THEN
06 Total Total + Number
07 ELSE
08 IF Number = 0
09 THEN
10 Exit 0
11 ENDIF
12 ENDIF
13 ENDWHILE
14 OUTPUT "The total value of your numbers is ", Total
For example:
Meaningful identifiers – to enable the programmer (or future programmers) to easily recognize the purpose of a variable /
array / constant // to enable easy tracking of a variable / constant / array through the program
Use of comments – to annotate each section of a program so that a programmer can find specific sections / so that the
programmer knows the purpose of that section of code
Procedures and functions – to make programs modular and easier to update / add functionality
1 F
Another Letter? (Y or N)
1 D
Another Letter? (Y or N)
Or
The array would run out of values after the pointer reached 13
the algorithm will crash
For example:
40
THE BEGINNING IS THE MOST IMPORTANT PART
9(a) One mark for each correct gate, with the correct input(s) as shown. 4
A B C Z
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0
For example:
TVCode
Each entry in this field is a unique identifier
TVCode Text
ScreenSize Integer
SmartTV Boolean
Price$ Real
ScreenSize
Price$
FROM
YES
Correct code:
Use the tables for AO2 and AO3 below to award a mark in a suitable band using a best fit approach, then add up the total:
AO2 (maximum 9 marks)
AO3 (maximum 6 marks)
Requirements (techniques):
R1 Input and store hourly temperatures and validation of input temperatures for each day (with prompts, range check and
(nested)iteration)
R2 Calculate, round to one decimal place and store daily average temperatures and calculate the weekly average
temperature rounded to one decimal place (iteration, totalling and rounding)
R3 Convert all average temperatures to Fahrenheit (to one decimal place) and output the average temperatures in both
Celsius and Fahrenheit. Output with appropriate messages. (output and rounding)
11 INPUT InTemp
// validation of input for between -20 and +50 inclusive
WHILE InTemp < -20.0 OR InTemp > 50.0 DO
OUTPUT "Your temperature must be between -20.0 and +50.0 inclusive. Please try
again"
INPUT InTemp
ENDWHILE
Readings[WeekLoop, DayLoop] InTemp
// totalling of temperatures during the day
TotalDayTemp TotalDayTemp + ROUND(InTemp, 1)
NEXT DayLoop
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
At least one programming technique has Some programming techniques used are The range of programming techniques
been used. appropriate to the problem. used is appropriate to the problem.
Any use of selection, iteration, counting, More than one technique seen applied All criteria stated for the scenario have
totalling, input and output. to the scenario, check the list of been covered by the use of appropriate
techniques needed. programming techniques, check the list
No creditable of techniques needed.
response.
Some data has been stored but not Some of the data structures chosen are The data structures chosen are
appropriately. appropriate and store some of the data appropriate and store all the data
required. required.
Any use of variables or arrays or other
language dependent data structures e.g. More than one data structure used to The data structures used store all the
Python lists. store data required by the scenario. data required by the scenario.
Program seen without relevant Program seen with some relevant The program has been fully commented.
comments. comment(s).
Some identifier names used are The majority of identifiers used are Suitable identifiers with names
appropriate. appropriately named. meaningful to their purpose have been
used throughout.
Some of the data structures used have Most of the data structures used have
meaningful names. meaningful names. All of the data structures used have
meaningful names.
The solution is illogical. The solution contains parts that may be The program is in a logical order.
illogical.
No creditable The solution is inaccurate in many The solution contains parts that are The solution is accurate.
response. places. inaccurate.
Solution logically performs all the tasks
Solution contains few lines of code with Solution contains lines of code with given in the scenario. Ignore minor
errors that attempt to perform a task some errors that logically perform tasks syntax errors.
given in the scenario. given in the scenario. Ignore minor
syntax errors.
The solution attempts at least one of the The solution meets most of the The solution meets all the requirements
requirements. requirements. given in the question.
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.