ISF DP Computer Science

Paper Review #

To prepare for your exams, we recommend…

  • review your syllabus tracker
  • create flash cards for the vocabulary
  • re-do the questions from your previous summatives
  • re-do the questions from the previous practice test
  • re-do the intro quizzes
  • review the Summative Tips Document
  • CodeHs Exercises
  • InThinking Worksheets
  • Hachette Textbook (Review Questions & Exam Practice Questions) | Answers are here

Mock Spring 2026

SL

  • Paper 1 (75m, 50 marks)
    • A1.2.1 Describe the principal methods of representing data.
    • A2.4.4 Describe the process of encryption and digital certificates
    • A3 Databases
  • Paper 2 (75, 50 marks)
    • B1 Computational thinking
    • B2 Programming
    • B3 Object-oriented programming

HL

  • Paper 1 (2 hrs, 80 marks)

    • A1.2.1 Describe the principal methods of representing data.
    • A1.4 Translation
    • A2.4.4 Describe the process of encryption and digital certificates.
    • A3 Databases
  • Paper 2 (2 hrs, 80 marks)

    • B1 Computational thinking
    • B2 Programming
    • B3 Object-oriented programming
    • B4 Abstract data types
      • except for B4.1.4 & B4.1. 6

Here are EVEN MORE example questions.

Paper 1 (Theme A: Concepts of Computer Science) #

[A1.2 Data representation and computer logic] #

IP addresses are stored 128-bit binary numbers, but are displayed to the network administrator in hexadecimal format.

State the hexadecimal equivalent of the following binary number: 11011111. [1]

State the hexadecimal equivalent of the binary number 11111011. [1]

State the hexadecimal representation of the binary number 10001010. [1]

State the hexadecimal equivalent of the binary number 10011110. [1]

Calculate the denary (base 10) equivalent of the hexadecimal number BF. [2]

State the binary equivalent of the denary number 89. [1]

State the binary equivalent of the denary number 37. [1]

Calculate, showing your working in each case: the binary (base 2) value of the denary (base 10) number: 105. [2]

Calculate, showing your working in each case: the hexadecimal (base 16) value of the denary (base 10) number: 200. [2]


Each pixel on a computer screen has three colour values associated with it: red, green and blue. The range for each of the three colour values is from 0(10) to 255(10). Colour values can also be represented in hexadecimal. For example, the colour blue can be represented in hexadecimal as 0000FF.

(a) State the binary representation of the colour blue. [1]

b) State the number of colours that can be represented in each pixel on the computer screen. ([1]


Colours are represented by a computer as a combination of the three primary colours: red, green and blue. Numerical values are used to represent the different shades of each primary colour. These values range from 0 to 255 in decimal, or 00 to FF in hexadecimal.

(a) State why hexadecimal numbers are frequently used in computing. [1]

(b) State the number of bits used to represent a non-primary colour, such as yellow. [1]

(c) State the maximum number of colours that can be represented in a computer pixel. [1]


[A3 Databases] #

WineForAll is a retailer that sells wine in its stores. Each store sells wine from a number of vineyards.
The following extract from the Wine file contains unnormalized data.

NameOfWineVineyardDescriptionUnitPriceRegionStoreIDStockQty
ChardonnayStormy Bay2015, Dry, 13%$19.99Gisborne145
Sauvignon BlancStormy Bay2017, Dry, 12%$29.99Gisborne220
Sauvignon BlancStormy Bay2017, Dry, 12%$29.99Gisborne145
PelorusStormy Bay2016, Brut, 14%$34.99Gisborne110

(a) Define the term record. [1]

(b) Identify the steps to create a query to find the vineyards and names of fruity wines where the quantity in stock is between 25 and 35 bottles. [3]

(c) Construct the 3rd Normal Form (3NF) of the unnormalized Wine file. [6]

(d) Outline why a single-field primary key is not always an appropriate solution for normalized databases. [2]


Paper 2 (Theme B: Computational Thinking and Problem-solving) #

[B2.1 Programming fundamentals] #

Algorithmic Design

Explain why abstraction is required in the design of algorithms. [3]

Outline what is meant by the term “abstraction”. [2]


[B2.2 Data structures] #

There are 200 students in a school. Their names are held in the one-dimensional string array STUDENTS. The one-dimensional integer array MARKS stores marks (0–100 inclusive) that students scored in an examination.

Figure 1: Example data stored in the two arrays STUDENTS and MARKS

The one-dimensional integer array GRADES will be used to store the grades awarded to students based on their examination marks.

In Figure 1, Boris Mount scored 88 marks. His grade will be stored in GRADES[1]. Consider the following algorithm that the school currently uses for awarding grades:

GRADES[K] = 1 + (MARKS[K] // 10)

if GRADES[K] == 7:
    GRADES[K] = 7

(a.i) Determine the value of GRADES[0]. [1]

(a.ii) Determine the value of GRADES[1]. [1]

(a.iii) Determine the value of GRADES[2]. [1]

(a.iv) State the minimum mark necessary to achieve Grade 7. [1]


A grade of 1 is a failing grade. Each student who receives a failing grade must re-sit the examination.

(b) Construct an algorithm in pseudocode to fill the one-dimensional string array RESIT with the names of students who must re-sit the examination. [3]


Stacks + Queues

Identify two applications of a stack. [2]

Identify two applications of queues in computing. [2]

Outline the purpose of the stack access method isEmpty(). [2]


The stack TOWNS holds several town names, and the name “Cardiff”is on the top of the TOWNS stack.

An algorithm is needed that will reverse the contents of the TOWNS stack. The name “Geneva” should be on top of the TOWNS stack after reversing its contents.

Construct an algorithm that will reverse the TOWNS stack using an empty queue. [5]


A computer science student is coding and running a program while several documents, such as essays, lab reports and homework, are being printed out.

(a) Define the term queue as a data structure. [1]

(b) Identify two different queues used in the given scenario. [2]

(c) Identify one characteristic of a queue. [1]


[B2.4: Programming Algorithms] #

Searching Algorithms

Identify two types of searching algorithm. [2]

State one algorithm that could be used to arrange the values in a linear array from the lowest to highest value. [1]

Compare and contrast the bubble sort algorithm and the selection sort algorithm. [4]

[B3 Object-oriented Programming] #

A car rental company has offices in cities in Spain and Portugal. It manages its cars as a large, unsorted collection of rental objects.

The following UML diagram describes the current main Rental class. Fuel type and transmission type were chosen to be Boolean because they have two choices: petrol or diesel for fuel type, and manual or automatic for transmission type.

The brand and the model of the car are stored together as one string brandModel. Typically the company has many cars of the same brand and model.

(a) Outline the general nature of an object. [2]

(b) State one mutator method to be included in the class Rental. [1]

(c) Construct the code for the accessor method getBrandModel(). [2]

(d) Outline one purpose of a default constructor. [2]


The rental car company stores a list of the rental cars in the list CARS

(e) Construct code to sort the contents of the list CARS into ascending numerical order according to the year using the bubble sort algorithm. [5]


(f) Construct the code that will take the list CARS and output a new list that contains every brandModel that is available without duplication. You may not use the in keyword for lists. [7]