2021 Nov Computer Science Paper 1 SL Markscheme
2021 Nov Computer Science Paper 1 SL Markscheme
Markscheme
November 2021
Computer science
Standard level
Paper 1
13 pages
–2– N21/4/COMSC/SP1/ENG/TZ0/XX/M
All rights reserved. No part of this product may be reproduced in any form or by any
electronic or mechanical means, including information storage and retrieval systems,
without the prior written permission from the IB. Additionally, the license tied with this
product prohibits use of any selected files or extracts from this product. Use by third
parties, including but not limited to publishers, private teachers, tutoring or study services,
preparatory schools, vendors operating curriculum mapping services or teacher resource
digital platforms and app developers, whether fee-covered or not, is prohibited and is a
criminal offense.
More information on how to request written permission in the form of a license can be
obtained from https://ibo.org/become-an-ib-school/ib-publishing/licensing/applying-for-a-
license/.
Tous droits réservés. Aucune partie de ce produit ne peut être reproduite sous quelque
forme ni par quelque moyen que ce soit, électronique ou mécanique, y compris des
systèmes de stockage et de récupération d’informations, sans l’autorisation écrite
préalable de l’IB. De plus, la licence associée à ce produit interdit toute utilisation de tout
fichier ou extrait sélectionné dans ce produit. L’utilisation par des tiers, y compris, sans
toutefois s’y limiter, des éditeurs, des professeurs particuliers, des services de tutorat ou
d’aide aux études, des établissements de préparation à l’enseignement supérieur, des
fournisseurs de services de planification des programmes d’études, des gestionnaires de
plateformes pédagogiques en ligne, et des développeurs d’applications, moyennant
paiement ou non, est interdite et constitue une infraction pénale.
Pour plus d’informations sur la procédure à suivre pour obtenir une autorisation écrite
sous la forme d’une licence, rendez-vous à l’adresse https://ibo.org/become-an-ib-school/
ib-publishing/licensing/applying-for-a-license/.
Todos los derechos reservados. No se podrá reproducir ninguna parte de este producto
de ninguna forma ni por ningún medio electrónico o mecánico, incluidos los sistemas de
almacenamiento y recuperación de información, sin la previa autorización por escrito del
IB. Además, la licencia vinculada a este producto prohíbe el uso de todo archivo o
fragmento seleccionado de este producto. El uso por parte de terceros —lo que incluye,
a título enunciativo, editoriales, profesores particulares, servicios de apoyo académico o
ayuda para el estudio, colegios preparatorios, desarrolladores de aplicaciones y
entidades que presten servicios de planificación curricular u ofrezcan recursos para
docentes mediante plataformas digitales—, ya sea incluido en tasas o no, está prohibido
y constituye un delito.
En este enlace encontrará más información sobre cómo solicitar una autorización por
escrito en forma de licencia: https://ibo.org/become-an-ib-school/ib-publishing/licensing/
applying-for-a-license/.
–3– N21/4/COMSC/SP1/ENG/TZ0/XX/M
Mark allocation
General
A markscheme often has more specific points worthy of a mark than the total allows. This is intentional.
Do not award more than the maximum marks allowed for that part of a question.
When deciding upon alternative answers by candidates to those given in the markscheme, consider the
following points:
• Each statement worth one point has a separate line and the end is signified by means of a
semi-colon (;).
• An alternative answer or wording is indicated in the markscheme by a “/”; either wording can be
accepted.
• If the candidate’s answer has the same meaning or can be clearly interpreted as being the same as
that in the markscheme then award the mark.
• Mark positively. Give candidates credit for what they have achieved and for what they have got
correct, rather than penalizing them for what they have not achieved or what they have got wrong.
• Remember that many candidates are writing in a second language; be forgiving of minor linguistic
slips. In this subject effective communication is more important than grammatical accuracy.
• Occasionally, a part of a question may require a calculation whose answer is required for subsequent
parts. If an error is made in the first part then it should be penalized. However, if the incorrect answer
is used correctly in subsequent parts then follow through marks should be awarded. Indicate this
with “FT”.
General guidance
Issue Guidance
Answering • In the case of an “identify” question, read all answers and mark positively up to the
more than maximum marks. Disregard incorrect answers.
the quantity • In the case of a “describe” question, which asks for a certain number of facts
of eg “describe two kinds”, mark the first two correct answers. This could include two
responses descriptions, one description and one identification, or two identifications.
prescribed • In the case of an “explain” question, which asks for a specified number of
in the explanations eg “explain two reasons …”, mark the first two correct answers.
questions This could include two full explanations, one explanation, one partial
explanation etc.
–4– N21/4/COMSC/SP1/ENG/TZ0/XX/M
Section A
1. Award [2 max]
Screen size/ larger screen;
Easier to view large amounts of data without excessive scrolling / reduced eyestrain / more
accessible to those with weak eyesight;
2. Award [2 max]
Primary storage is accessed by a computer's central processing unit (CPU) and secondary storage
is not accessed directly by the CPU;
Primary storage has lower access time / has smaller capacity/ more expensive type of memory
than secondary storage (which is slower than primary storage, with larger capacity but it is
cheaper);
Primary storage is volatile (uses random-access memory (RAM), cache memory, or some other
specialized hardware to store data while the computer is powered on/ volatile devices), whilst
secondary storage on a computer is provided by non-volatile devices (such as SSD or HDD);
Primary storage holds data temporarily whilst data is kept permanently/ for a long time in
secondary storage;
Primary storage holds currently running programs/data/operating system, secondary storage
does not.
3. Award [2 max]
because the binary system uses only two digits (0 and 1);
and computer uses bi-stable devices / devices that can be either in one of the two possible states
(such as pulse or no pulse, on or off, 0 or 1, true or false) /;
4. Award [3 max]
A sub-program is a named section of code that performs a specific task (in a program) / can
be called by name / referred by the identifier when needed;
without knowing the details (of code and data structures) as these are wrapped / hidden
within the sub-program;
different stages (of programming) (Accept examples!) run simultaneously (rather than
consecutively);
this decreases product development time / decreases the time to market;
leading to improved productivity/reduces costs;
however, it requires more resources/more software developers;
A message can be sent to the user (When the software is installed and registered, the user
provides an email address / phone number);
With a link to the update;
notifications/alerts are sent to the computer (a cookie is placed on the user's computer which
communicates with the software developer);
about automatic updates;
(when the program is run) it queries a URL the program developer has built in
to check whether the current version matches the latest version;
if not, notifications/alerts are sent;
–6– N21/4/COMSC/SP1/ENG/TZ0/XX/M
OR
The selection sort algorithm searches through the entire array for the smallest (considering
ascending order OR the largest element considering descending order) element;
When found, it (the smallest/largest element) is swapped with the first element of the array;
Then searches for the smallest / largest element in the remaining array (an array without the
first element) and swap it with the second element;
This process repeats on the remaining items (searches for the smallest / largest element in
the remaining array (an array without first and second elements)) and swap it with the third
element, and so on);
Bubble sort can exit early/ is faster if already the list is sorted;
selection sort will need to complete the procedure for the entire list every time;
(The efficiency of Bubble and selection sort is different when applied on already sorted list)
in the best-case bubble sort takes an order of N time;
whereas selection sort consumes an order of N2 time (where N is the number of items on the
list));
Note: To award marks for such an answer it should be evident that the list is already sorted
OR the term 'the best-case' should appear because the worst-case /average-case
complexity/efficiency is same in both algorithms (O(N2)).
7. Award [1 max]
(5<=5) XOR (3>5) (= TRUE XOR FALSE ) = TRUE;
8. Award [3 max]
Section B
Section B
9. (a) (i) Award [2 max]
Surveys allow analysts to obtain appropriate information quickly;
from a large number of persons / stakeholders;
Mark as 2 and 2.
–8– N21/4/COMSC/SP1/ENG/TZ0/XX/M
Administrator should record who has logged on and from which computer / and for how long;
to discourage security violations/ to avoid undesirable events from occurring;
Mark as 2 and 2.
Two-factor authentication for remote users and administrators could be required (this could
be a digital certificate, tokens, thumbprint scanners);
In addition to the usual user ID and password;
Mark as 2 and 2.
Remote access;
VPNs is not dependent on any particular network or Wi-Fi connection to work;
The company can have a remote workforce /employees or freelance staff working from
different geographic locations/can connect their different office locations;
Some databases/websites that support the company’s business operations may not be
directly accessible in some countries;
A VPN helps to unblock geo restricted contents / has ability to bypass geo-blocking;
By hiding IP addresses / obscuring the access requests to appear to be originating from
various IP address which are not in an unrestricted location;
Award [1] mark for correct condition (in if statement) and correct calculation of the cost per
km for each type of tickets, x4.
Example 1:
costperkm(AGE)
if AGE<5
then COST=0.0
else
if AGE<=15
then COST=0.20*0.50 // COST=0.20*50/100
else
if AGE<65 //accept AGE<=65
then COST=0.20
else COST=0.20*0.70 // COST=0.20*70/100
endif
endif
endif
return COST
end costperkm
Example 2:
costperkm(AGE)
if AGE<5
then COST=0.0
endif
if AGE>=5 and AGE<=15
then COST=0.20*0.50 // COST=0.20*50/100
endif
if AGE>=15 and AGE<65
//accept AGE>=15 and AGE<=65
then COST=0.20
endif
if AGE>=65
//if condition in the previous if statement is
//AGE>=15 and AGE<=65, then this condition
//should be AGE>65
then COST=0.20*0.70 // COST=0.20*(100-30)/100
endif
return COST
end costperkm
Note: The method heading and the return statement may not appear in the candidates’
responses.
Example 1:
NAME1=input()
NAME2=input()
AGE= input()
POS1=-1
POS2=-1
K=0
loop while K<=9 and (POS1==-1 or POS2==-1)
if NAMES[K].equals(NAME1) //accept '==' instead of equals()
then POS1=K
end if
if NAMES[K].equals(NAME2)
then POS2=K
end if
K=K+1
end loop
if POS1==-1 OR POS2==-1
then
output('stations are not found')
else
if POS1 > POS2
then
output( calcdistance(POS2,POS1)* costperkm(AGE))
else
output( calcdistance(POS1,POS2)* costperkm(AGE))
end if
end if
– 13 – N21/4/COMSC/SP1/ENG/TZ0/XX/M
Example 2:
ST1=input()
ST2=input()
AGE= input()
PS1=-1
PS2=-1
loop K from 0 to 9
if NAMES[K].equals(ST1) //accept '==' instead of equals()
then PS1=K
end if
if NAMES [K].equals(ST2)
then PS2=K
end if
end loop
Example 3:
function findStation(station)
{ var found = false;
var i = 0;
do
{ found = (ROUTE_X_NAMES[i] == station);
if (!found) i = i + 1;
} while (!found && i < 10);
if (found) return i;
else
{ output("No such bus station as "+station);
return -1;
}
}