667558 Mark Scheme Computational Thinking Algorithms and Programming
667558 Mark Scheme Computational Thinking Algorithms and Programming
Computer Science
It is also responsible for developing new specifications to meet national requirements and the
needs of students and teachers. OCR is a not-for-profit organisation; any surplus made is
invested back into the establishment to help towards the development of qualifications and
support, which keep pace with the changing needs of today’s society.
This mark scheme is published as an aid to teachers and students, to indicate the requirements
of the examination. It shows the basis on which marks were awarded by examiners. It does not
indicate the details of the discussions which took place at an examiners’ meeting before marking
commenced.
All examiners are instructed that alternative correct answers and unexpected approaches in
candidates’ scripts must be given marks that fairly reflect the relevant knowledge and skills
demonstrated.
Mark schemes should be read in conjunction with the published question papers and the report
on the examination.
© OCR 2021
Annotation Meaning
Tick
Cross
Blank Page – this annotation must be used on all blank pages within an answer booklet (structured or unstructured) and on
each page of an additional object where there is no candidate response.
Omission mark
Follow through
Repeat
Slash
Seen
Not enough
Too vague
J276/02 Mark Scheme November 2021
(b) (i) • Number with a decimal / fractional part 2 One mark for definition, one mark for example
• Suitable example (e.g. 17.24) Do not accept float as definition
Allow fractions as example
(ii) • Whole number // number with no decimal / 2 One mark for definition, one mark for example
fractional part
• Suitable example (e.g. 17)
J276/02 Mark Scheme November 2021
(c) (i) • Count = 0 5
• Output Count
(d) e.g. 4 Mark in pairs. 1 mark for name, 1 mark for description.
• Abstraction Description must match technique (if given).
• … focussing on the important elements // ignoring
elements that do not contribute to the solution //
simplifying the problem
• Decomposition
• …breaking a problem down (into its constituent
parts)
• Algorithmic thinking
• …set out the steps needed to solve the problem //
represented in a flow chart / as pseudocode
J276/02 Mark Scheme November 2021
(b) (i) • 16 1
(ii) • 2 1
(iii) • 9 1
(c) (i) • second.substring(3,5) 1 Ignore print / lack of print. Allow other suitable methods of string
manipulation as long as variables used.
(ii) • first.substring(0,8) 1 Ignore print / lack of print. Allow other suitable methods of string
manipulation as long as variables used.
(iii) • first.substring(9,7) + “ “ + second 1 Ignore print / lack of print. Allow other suitable methods of string
• "Science " + second manipulation as long as variables(s) used.
• first.substring(9,7) + “ is great"
Allow alternative concatenation symbols (e.g. & or .). Allow
concatenation functions
(d) • Incorrect ticked 2 1 mark for identifying issue, 1 mark for reason why.
• Data cannot be stored in hexadecimal // all data is Allow FT for BP2 if candidate agrees but provides further
stored in binary // hexadecimal is a shortcut for clarification that shows they understand.
computer scientists
(f) 1100 1100 2 1 mark per nibble. Each pair of nibbles in question can be added
individually so no requirement for FT marks.
J276/02 Mark Scheme November 2021
checkblock(3,0) A
checkblock(2,3) FREE
(c) (i) • Parameter values outside index range / larger than 1 Answer must refer to either array or gameboard / grid / block
4 / smaller than 0 // -1, 16 is not a valid block
(ii) • Use selection / IF / Switch-Case / range check 3 Allow equivalent checks (e.g. <5, between 0 and 4) for BP2
• …check that parameters are >=0 and <= 4… Allow reference to r and c as parameters.
• …Return error code if invalid // set outcome to error BOD handle error for BP3 (e.g. repeat until valid)
Answer must be a description, code by itself is NAQ
(d) • Input two position values separately 6 If flowchart / structured English, do not allow simple repeat of
• calls checkblock() function… question.
• …with input parameters Example answer
• … returned value used in selection loop = True
• If free, stores “A” to correct index of gamegrid while loop
array (FT for incorrect selection) row = input("enter row")
• Loops until free position chosen col = input("enter column")
if checkblock(row,col) == "FREE" then
gamegrid[row,col] = "A"
loop = False
endif
endwhile
OCR (Oxford Cambridge and RSA Examinations)
The Triangle Building
Shaftesbury Road
Cambridge
CB2 8EA
www.ocr.org.uk
For staff training purposes and as part of our quality assurance programme your call may be
recorded or monitored