Computer Science Paper 2 SL Markscheme-4
Computer Science Paper 2 SL Markscheme-4
Markscheme
May 2024
Computer science
Standard level
Paper 2
28 pages
–2– 2224 – 6905M
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– 2224 – 6905M
Mark allocation
Candidates are required to answer all questions in one Option. Total 65 marks.
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– 2224 – 6905M
Option A — Databases
Note: The question asks for one way. Read whole response and mark to student’s
advantage
or
or
SELECT COUNT(Distribution.Site_ID)
FROM Plant INNER JOIN Distribution
ON Plant.Plant_ID = Distribution.Plant_ID
WHERE Plant.Species = "Gorse" AND Distribution.Date = '14/10/2019'
or
Note: Accept other date formats. Accept double or single quotes for strings.
–6– 2224 – 6905M
Note: The question asks for an explanation, so marks can be awarded from both blocks.
–7– 2224 – 6905M
User accounts;
Different users have usernames and passwords/biometrics to enable unique login
experiences;
Data Encryption;
Nullifies the potential value of data interception;
Ensures the confidentiality of data;
Do not credit answers that refer to data integrity rather than security.
The timing of athletes will vary in just milliseconds and so the minute will barely change;
So, a decimal point is required for the accurate measurement;
–9– 2224 – 6905M
1NF – Unique PK
ATHLETICS(EventID, Event, Type, SubType, Gender, OlymRec, WldRec)
1NF – Composite PK
Produce atomic entries, so that the first row in the ATHLETICS table, for example,
becomes two rows with the value of Event (100) repeated. Event + Gender is the
composite primary key. This will give:
ATHLETICS(Event, Type, Subtype, Gender, OlymRec, WldRec).
2NF – Composite PK
Event always has the same Type and Subtype, and this is now repeated in multiple rows,
so this information should be separated into a separate table, giving:
Note: allow candidates to add their own field as primary key in any table
Note: do not accept vague variables like ‘size’ (but ‘dimensions’ is acceptable).
The width of the room and cabinet depths must be taken into account when fitting
cabinets to opposite walls;
to make sure there is enough room for a person to (comfortably) walk/work
between them;
Example answers:
Allows the customer to try out different designs;
until it meets their requirements;
The simulation is only a tool that may help to avoid making expensive mistakes / that may
help to ensure better customer satisfaction;
– 12 – 2224 – 6905M
Reliability – the animation may make the property seem better than it is,
so that the potential buyer may feel cheated;
Anonymity – items in the animation may identify the seller of the property;
which could be illegal / have negative impact on the seller.
The model assumes there is the same target % for each department;
This may not be an accurate reflection of the way the business is developing;
Example algorithm:
loop COUNT from 0 to 7 //allow from 1 to 8
output "Enter data for ", DEPARTMENT[COUNT]," Department"
output "Apr – Jun: "
input APR_JUN[COUNT]
output "Jul – Sep: "
input JUL_SEP[COUNT]
output "Oct – Dec: "
input OCT_DEC[COUNT]
output "Jan – Mar: "
input JAN_MAR[COUNT]
WHOLEYEAR[COUNT} = APR_JUN[COUNT] + JUL_SEP[COUNT] +
OCT_DEC[COUNT] + JAN_MAR[COUNT]
end loop
– 15 – 2224 – 6905M
The URL contains the protocol/scheme, domain, sub domain and Top-level domain
(path); and the file resource (Query/&fragment);
For reference:
Scheme/Protocol: https://
Subdomain: www
Domain Name: educationalsite.org
Top level domain: org
Path: /assets/home.html
Or
– 16 – 2224 – 6905M
A static page is one where the construction of the page is controlled by the browser
on the client device and does not link to an external data source;
Whereas a dynamic web page is linked to an external data source. The data
sources could include text files, a database, XML files etc;
File Size:
Lossy compression allows the file size to be reduced (more than lossless
compression);
This will mean that it can be used to transfer information (uploads and downloads)
between devices more rapidly than lossless compression;
Or
Due to higher compression from lossy methods, the file occupies less storage space
on a mobile device.
Or
Smaller file sizes mean faster loading and processing times, enhancing the overall
performance and responsiveness of mobile applications and devices.
Quality
Although there will be some reduction in the picture quality or sound (due to loss of
data);
The advantages of greater speed of transfer will outweigh the loss of image quality
as the screen size of the mobile device may not be sufficiently large for the
imperfections to be apparent; 
Cost
Lossy compression resulting in smaller file size would require less data usage,
conserving bandwidth and reducing costs for mobile users.
Note: Each cluster carries 2-mark (1 for identification and one for explanation)
Maximum 4.
– 18 – 2224 – 6905M
The breadth first crawl completes /visits all the links on the page before moving to
the next page, whereas the depth first crawl follows the line of one series of links
from page to page until it ends. Potentially this means the initial pages may not be
completely indexed if the stack is large;
Prioritizes more important, higher-level pages, which are more likely to contain
significant information and links to other relevant content.
Note: Candidates do not need to know the formula for page rank.
– 19 – 2224 – 6905M
Information inaccuracy:
As the Black hat SEO distorts search rankings (using keyword stuffing), it provides
false/inaccurate information;
The students may potentially have unintended access to inappropriate material;
The validity of material is questionable using unethical techniques;
Security
including exposure to malware and other security issues
potential damage from this;
Information for examiners about Black hat techniques (for reference purpose
only):
Black hat techniques may include:
Keyword stuffing - The practice of filling your content with irrelevant keywords in
attempt to manipulate where the page ranks
Clocking - Presenting a different URL and content to the user and the search
spider/crawler
Redirections – Sending the viewer to a different URL than the one initially clicked
Duplicated content – Adding duplicate content from High quality sources
Invisible words – Using hidden text (white background and white text, very small font
size which is invisible to the viewer but is searched and indexed
Bait and switch techniques - Create content around the topic being searched for
then switch the content once it is indexed
Paid links and link farms - Page rank and HITS use links as a metric for ranking -
paid links and link farms boost numbers of links and there for potentially impact
ranking
Blog comment spam - not as significant as now Google is blocking these from
calculations, but better blogs will have “nofollow” on the comments.
– 20 – 2224 – 6905M
Connection and sharing between nodes; enabling better resource utilization / collaboration /
distributed computing power / storage.
Reliability of the network in the event of failure of one or more nodes (fault tolerance);
providing redundancy and replication to ensure data durability and availability in cases of
node failures or network partitions.
Ownership & responsibility to a large group; by ensuring that each node maintains their own
security and functionality.
Distributed networks are more scalable, especially in scenarios where network is distributed
among large geographical area; they leverage localized resources and reduce latency and
improve overall user experiences.
Enhanced security; as the sever is responsible for the security of the network
operations, it facilitates better implementation of the monitoring and enabling network
security.
Client devices doesn’t need to have as much processing power, memory, storage,
etc. because the applications are kept and run on the server;
Note: Award [2] marks for giving an account of the similarities between cloud and
peer to peer computing up to a maximum of 4.
– 21 – 2224 – 6905M
Open standards (HTTP, TCP/IP, HTML, etc) shifts the control from government
(and cooperation) control to a broad selection including individual, like-minded
groups and organization;
This enables freedom of expression, sharing, co-operation, communication and
collaboration;
Example answer:
Example answer:
public Car()
{
this.numberOfDoors = 4;
}
easier to maintain;
as the changes in the parent class are automatically reflected in the child class;
Note: Award [2 max] for one benefit with explanation. Award [1 max] for identification of
another benefit. Accept benefits explained for any incorrect but legitimate OOP feature
identified in 15a.
Note: Do not allow mixing the points from different clusters. Do not allow easier/faster
without any further description in context of modularity.
– 25 – 2224 – 6905M
Note: Do not accept ArrayList but allow FT for MP 5 and 7. The question specifically asks for
an array.
Example answer 1:
Example answer 2:
Example answer 3:
}
if(!found)
{
brand[index++] = allCars[i];
}
}
return brand;
}
– 27 – 2224 – 6905M
Example answer 1:
create a result array to store the return value of findBrandModels();
iterate through the result array to check individual Car object;
if the Car object does not fulfil all three criteria then remove this Car object from result / make
this Car object null;
iterate (or sort/search) through the result array;
to output the Car objects that are not null / return the result array;
Example answer 2:
create a result array to store the return value of findBrandModels();
iterate through the result array to check individual Car object;
if an object fulfils the three conditions then copy the car object in another array
(desiredCars);
iterate (or sort/search) through the other array (desiredCars);
to output / return the (desiredCars) array;
Example answer 3:
create a modified version of findBrandModels();
that takes additional parameters that specify desired features;
a car would only be added to the result array if the three tests were met;
create a result array to store the return value of modified findBrandModels();
iterate through the result array to output the cars / return the result array;
Example answer 4:
create a result array to store the return value of findBrandModels();
iterate through the result array to check individual Car object;
if the Car object does not fulfil all three criteria, then skip this Car object
if the Car object meets the three criteria
then output the Car object;
Example answer 5:
create desiredCars array;
iterate through the result of all findBrandModels();
if an object fulfils the three conditions;
copy the car object in the array desiredCars;
to output / return the (desiredCars) array;
Note:
Award [3 max] - If the response doesn’t use the findBrandModels(); For example, if the
response only focuses on using if conditions to check three specific requirements for Car
objects and present (either output or return) them (including duplicates) to the customer.
– 28 – 2224 – 6905M
Customer Car
Note: Accept any other valid obligation. Do not accept a third obligation.