CompSci HL P2
CompSci HL P2
Option A - Databases
1. Quick Rent-a-Car is a popular car rental company in Chicago. The company stores
information about the cars, customers and rental agreements.
The diagram below shows a part of the entity-relationship diagram (ERO) for the
Quick Rent-a-Car database.
(a) (i) State the type of relationship between the CUSTOMER table and the
RENTAL table. [1I
(iii) State the name of the table that contains foreign keys. [1I
Some of the information held in the three tables in the Quick Rent-a-Car database is
shown below:
CUSTOMER
RENTAL
CAR
(c) Outline two possible validation checksfor the CarlD attribute. You may assume that
the CarlD will always be in the format shown. [4)
(d) Identify the steps to create a query to find the surname (SName) of the customer who
rented the car from 22 January 2020 (22/01/2020) until 26 January 2020 (26/01/2020). [4]
(e ) Explain why queries would be used to create views of the Quick Rent-a-Car database. [ 3)
(f) Explain how a data definition language can be used to implement a data model such as
the Quick Rent-a-Car database. [3)
(g) Explain why maintaining data consistency is important in the Quick Rent-a-Car database. [3)
a) :.Hcc-r $N\t
P' ON\ UJt -ro'Î Er I R. EN TA l
CU.I. C,<itTIC .g �fTAl, 1t'"-'//Q
Rerlif;L, :XMl A '> .. lT.`/o� /-,c'JO
fU,NiltL-- � � <• 2U6 /o1)ioic
Turn over
-4- 2223-7012
(Option A continued)
2. Database recovery is performed when disasters, hardware failures or appli cation problems
occur. Database administrators have to make decisions about which type of database
recovery strategy to use.
( a) Identify one factor that a database administrator could consider when choosing a
database recovery strategy. (1]
(b) Describe two methods of database recovery that a database administrator can carry out. (4]
Many organizations are concerned about staff having access to sensitive or inappropriate data.
(c) Describe two methods organizations could use to ensure that staff do not have access
to sensitive or inappropriate data. [4]
3. Artisan College has the following data about students and the courses they have chosen.
STUDENT table
( a) Outline why this table is not in 1st Normal Form (1NF). [2]
(b) Construct the 3rd Normal Form (3NF) of the unnormalized relation shown above. [8]
(c) Explain the importance of data modelling in the design of a database. [5]
(Option A continued)
Data is obtained from a number of different sources. This data needs to be extracted,
transformed and loaded into the data warehouse.
(c) Outline two ways Extract, Transform, Load (ETL) processes can be used to clean up
data for the data warehouse. [4]
Lacio Dairy Products supplies dairy products directly to both wholesalers' and retailers'.
Lacto Dairy Products have different pricing models for wholesalers and retailers.
(d) Discuss the advantages and disadvantages of Lacio Dairy Products using data
segmentation. [5]
Data analytics, such as the analysis of data held in data warehouses, can assist the
managers at Lacio Dairy Products in their future decision making.
(e) Explain why data analytics can be used to assist the managers of Lacio Dairy Products
in their future decision making. [5]
1
wholesaler: a person or company that buys large quantities of goods from various
producers or vendors, and resells to retailers
2
retailer: a person or company that sells goods to the public
End of Option A
Turn over
-6- 2223-7012
5. A restaurant is concerned about the increase in its electricity bills as it uses electricity for
cooking, refrigeration, heating, air conditioning, air extraction systems and lighting.
The electricity bill is paid every month and is based on a daily charge of $0.75 with a charge
of $0.20 per unit of electricity used.
The table below shows the electricity usage from the previous year.
The restaurant would like to create a computer model of its electricity usage using data from
the previous year.
(b) State three variables and their data type that could be used in the computer model. [3]
{c) Construct the pseudocode that will input the units used in each month and the days in
each month to calculate and output the electricity bill for the restaurant in any month
and the quantity of electricity used per day. [5]
(d ) Outline one limitation of this model in helping the restaurant owners to save money on
their electricity bills. [2]
The model needs to determine the months with the highest and lowest electricity usage.
(e) State two ways that this model could be implemented. [2]
(f) Construct the pseudocode to provide the restaurant owner with this information. [8]
6. Governments use simulations to help them to decide how their resources will be allocated
in the future. This enables them to predict how much income they will require from sources
such as taxation.
The simulation needs to consider information such as the size of the population, the income
from taxation and the expenditure on healthcare and education.
(a) Describe the difference between a model and a simulation in the context of this scenario. [2]
(b) (i) Outline one advantage of a government using a simulation to predict how
resources will be allocated in the future. [2]
(c ) Describe two ways that the collection of data could be improved to enhance the
accuracy of this simulation. [4]
(d ) Discuss whether the ethical concerns expressed by citizens about the collection of this
data are justified. [5]
(b) Describe the significance of a key frame in the process of completing 30 visualization. [2]
A computer game makes use of 30 animation and involves game characters that move
throughout different scenes.
(c) Explain the implications of 30 animation on computer resources during the creation of
this game. [5]
Turn over
-8- 2223-7012
(Option B continued)
(b) Outline the role of the fitness function in a genetic algorithm. [2)
Autonomous vehicles can be controlled by the "drivers" using verbal commands which can
be "learned" by either supervised or unsupervised learning.
(c) (i) Outline one benefit of using supervised learning in order for the autonomous
vehicle to learn verbal commands. [2)
(ii) Outline one benefit of using unsupervised learning in order for the autonomous
vehicle to learn verbal commands. [2]
(d) Explain the advances in natural language processing that will ensure the autonomous
vehicle responds appropriately to verbal commands. [5)
(e) Explain why there are differences between human and machine learning of a language. [5]
End of Option B
-9- 2223-7012
9. Sonia is a student at an international school and is developing her skills in building websites.
The computer science teacher at the school directed her to an online resource site that
provides tutorials. She provided her with the uniform resource locator (URL) of this site.
The internet protocol (IP) has three basic characteristics: connectionless, best effort and
media independent.
(e) Outline what the term connectionless means in the context of the transmission of a
page request. [2]
Turn over
-10- 2223-7012
(Option C continued)
if ($conn->query($sql) == TRUE) {
echo ,rNew record created successfully 11 ;
else {
Echo ''Error.''.$sql.''<br>''.$conn->error;
(a) (i) Describe the process outlined in the code fragment above. [3]
(ii) Describe how the common gateway interface (CGI) enables the execution of
scripts on a server. [3]
(b) (i) Identify two techniques used in search engine optimization. [2]
(ii) Explain why incoming and outgoing links are significant factors in search results. [4]
(d) Suggest why the problem of not being able to access the deep web could increasingly
become a problem for search engines. [4]
(Option C continued)
11. Many people use online resources like peer-2-peer (P2P) networks to access music and
movies from their mobile phones.
A user downloads an album and an eBook about an artist from a file sharing site. The site
uses lossy compression.
(b) Evaluate the appropriateness of lossy compression for both the album and the eBook. [6)
• Requiring the viewer to join the site and protecting the images behind the log in.
• Using a script to disable the "save image" option in the drop down menu.
Evaluate these two methods of protecting the artist's intellectual property. [6]
Turn over
-12- 2223-7012
(Option C continued)
12. The model below shows the bowtie graph representing the internet. It is a based on data
from a 2012 hyperlink graph crawl.
Tubes
9.1 million
0.26%
IN sec OUT
1139 million 1828 million 215 million
31.9% 51.28% 6.05%
Tendrils
164 million
4.61 %
0 0
0 Disconnected
208 million
5.84%
0
The crawl visited approximately 3500 million nodes and discovered 128 000 million edges.
The strongly connected core (SCC) contains 51.8% of the nodes discovered in this crawl.
A directed sub-graph can be used to represent a portion of the World Wide Web (®.
(c) Draw a directed sub-graph representing the structure described below. Use arrows to
represent the direction of edges and circles to represent the nodes.
In earlier representations of the bowtie model the size of the IN and OUT portions are equal.
IN sec OUT
44 million 56 million 44 million
21 % 27% 21 %
The percentage of websites in the OUT portion has changed from 21 % in 2000 to
approximately 6% in 2012.
(d) Suggest why the percentages in the IN and OUT portions have changed between
2000 and 2012. [4]
In 2001, Tim Berners-Lee said the semantic web was "an extension of the current one, in
which information is given well-defined meaning, better enabling computers and people to
work in cooperation".
In 2011, the World Wide Web Consortium (W3C) described the semantic web as providing
"a common framework that allows data to be shared and reused across applications,
enterprise, and community boundaries".
(f) Discuss the significance of ontologies and folksonomies in the development of the
semantic web. [6]
End of Option C
Turn over
-14- 2223-7012
13. A real estate business maintains an unsorted database of houses and apartments that it tries
to sell for the property owners.
The following UML diagram describes the objects in the current system.
Owner Property
- name: String - ID: String
address: String - address: String
phone: String v - city: String
< ... more attributes > - price: int
... more attributes >
+ constructor + constructor
accessor and + accessor and
mutator methods mutator methods
House
/� Apartment
< attributes > < attributes >
(i) Boolean 11 l
(ii) integer. [1 J
(c) State the relationship between
(e) Outline how the modifier static affects how a variable is used. [2]
(f) Describe how the modifier static could be used to access the total number of both
Houseand Apartment objects that have been created in this system. [2]
(Option D continues on the following page)
-15- 2223-7012
The object-oriented software solution that implements this system for the real estate
business allows a customer to select a maximum of 10 houses that he or she is interested in.
These houses are stored in an array wishList of type House.
(g) Construct the code needed to instantiate an array wishList that can store a maximum
of 10 House objects. [3]
The real estate business is planning to expand its database to include student housing.
These "houses" are usually single rooms in a privately owned house.
(c) Explain one benefit of using inheritance to create a new class Room. [3]
(d) Explain one feature of modern programming languages that allows for internationalization. [3]
Turn over
-16- 2223-7012
(Option D continued)
15. All the unsorted House objects in the database have been copied to a sufficiently large array
allHouses. This array is not completely filled with House objects.
The array allHouses and all methods in this question are declared in the main program class.
All methods can access the array allHouses directly.
(b) Describe how the original String variable, passed to a method as a parameter,
can be assigned a new value by that method. [2]
( c) State the intended purpose of the method unknown. (1 J
(d) (i) Outline the runtime error that is likely to occur if this method is called. [2]
(ii) Outline how this error can be corrected. [2]
(e) Construct the code for the method house sort that will sort the array allHouses in
ascending order of price. [5]
A method is needed to select from the original unsorted array allHouses the three most
expensive houses below or equal to a given price.
(f) Construct the code for the method select Three that will take an integer parameter
budget. It must return a sorted array of size 3 that contains the three most expensive
House objects (in ascending order of price) with a price that is less than or equal
to budget.
You may assume that the array allHouses contains at least three House objects
with a price less than or equal to budget. As part of your answer you should use the
method houseSort I I as developed in part (e). [7]
(Option D continued)
16. Once a month the real estate business organizes an open day for a particular house.
Interested clients can sign up by giving their name and phone number to the real estate business.
Turn over
-18- 2223-7012
// default constructor
boolean isEmpty()
return (root==null);
(c) By using object references, construct the method enList that allows a client to be
added to the end of the list open Day. [5]
The attendance of potential buyers is tracked during the open day by changing the at tended
variable to true when a potential buyer arrives.
At the end of the day, the list open Day is processed so that every potential buyer that
attended is added to new list hasAttended and every potential buyer that did not attend is
added to a new list notAttended.
(d) Without writing code, outline the steps involved in splitting the list openDay into a list
hasAttended and a list notAttended. [4]
The real estate business keeps the data of all past owners in a file for future reference.
This file is sorted by owner name. When needed, this file is read into a LinkedList called
contacts, which has been instantiated as follows.
You may assume that contacts is accessible to binSearch and that it has been filled
with many objects.
. get(int index)
End of Option D