A Level Computer Science 9618 Paper 33, May/June 2025

Question paper and mark scheme75 marks13 questions

Solve it on ExamPal

Practise

Untimed. Write on the paper and check as you go.

Start

Exam

Timed, with a clock you set, like sitting the real paper.

Start

Opens full screen.

Opening the question paper

Read as textThe questions and the mark scheme as plain text. Easier to read on a phone.

Question paper

9618/33 · May/June 2025

Download PDF
1

A programmer is writing a program to manage a video library. They require a user-defined data type.

a

Write pseudocode statements to declare the composite data type VideoLibrary to hold data about each video in the collection. This data includes: • identity code (any combination of letters and numbers) • title • year released • date purchased • format (for example DVD, Blu-ray, 4K, MP4) • running time (minutes) Use the most appropriate data type in each case.

[4]
b

Identify one field in VideoLibrary that could be an efficient enumerated data type and give a reason for your choice. Field .......................................................................................................................................... ................................................................................................................................................... Reason ..................................................................................................................................... ...................................................................................................................................................

[2]
2

Numbers are stored in a computer using binary floating-point representation with: • 8 bits for the mantissa • 8 bits for the exponent • two’s complement form for both the mantissa and the exponent.

a

Give the largest normalised positive two’s complement binary number that can be stored in this system and state its denary equivalent. The denary answer should be expressed in terms of powers of 2. Mantissa Exponent Denary ......................................................................................................................................

[2]
b

Calculate the normalised binary floating-point representation of –3.59375 in this system. Show your working. Mantissa Exponent Working .....................................................................................................................................

[4]
3

This truth table represents a logic circuit.

Figure 1 of 1 for question 3
a

Write the Boolean logic expression that corresponds to the given truth table as the sum-of-products. Z = ............................................................................................................................................ .............................................................................................................................................

[2]
b(i)

Complete the Karnaugh map (K-map) for the given truth table.

[2]
b(ii)

Draw loop(s) around appropriate group(s) in the K-map to produce an optimal sum-of-products.

[2]
b(iii)

Write the Boolean logic expression from your answer to part (b)(ii) as the simplified sum-of-products. Z = ..................................................................................................................................... .....................................................................................................................................

[2]
4
a

The Internet layer and Link layer are two layers of the TCP/IP protocol suite. Describe the purpose of the Internet layer and the purpose of the Link layer. Purpose of Internet layer .......................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... Purpose of Link layer ................................................................................................................ ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ...................................................................................................................................................

[5]
b

Describe the function of a router in packet switching.

[4]
5

Complete the table by filling in the missing object-oriented programming (OOP) terms and descriptions.

[4]
6

The management and scheduling of processes are tasks carried out by an operating system.

a

Describe one reason why scheduling is necessary in process management.

[2]
b

Explain the function of the round robin scheduling routine and give a benefit of this routine. Function .................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... Benefit ...................................................................................................................................... ...................................................................................................................................................

[4]
7

Secure Socket Layer (SSL) and Transport Layer Security (TLS) are two protocols. Explain how SSL/TLS is used when client-server communication is initiated.

[4]
8

Explain the process of syntax analysis during program compilation.

[4]
9

Several syntax diagrams are shown.

Figure 1 of 7 for question 9
Figure 2 of 7 for question 9
Figure 3 of 7 for question 9
Figure 4 of 7 for question 9
Figure 5 of 7 for question 9
Figure 6 of 7 for question 9
Figure 7 of 7 for question 9
a

State why JJ90 is not a valid passcode for the given syntax diagrams.

[1]
b

Complete the Backus-Naur Form (BNF) for <upper> and <passcode>. <upper> ::= .......................................................................................................................... ................................................................................................................................................... <passcode> ::= ................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ...................................................................................................................................................

[3]
c

A character can be an upper, a lower or a digit. The rules for passcode have been changed so that the third character may also be selected from upper and the final character may be repeated one or more times. Complete the syntax diagram for passcode to show these changes.

[2]
10
a

State the purpose of the A* and Dijkstra’s algorithms.

[1]
b

Outline the difference between the A* and Dijkstra’s algorithms.

[2]
c

Explain how unsupervised learning takes place in machine learning.

[3]
11

The pseudocode algorithm below allows a user to input a new stock item. The random file is searched for the next empty location in the file and the new item is inserted there. A suitable message is displayed if the file is full. Complete this pseudocode. DECLARE Location : INTEGER DECLARE NewStock : STRING DECLARE CurrentStock : STRING DECLARE Stored : BOOLEAN DECLARE Max : INTEGER Max ← 100000 Stored ← FALSE Location ← 1 .......................................................................................................................................................... OUTPUT "Enter the new item you wish to store: " INPUT NewStock WHILE NOT Stored AND Location <= Max .................................................................................................................................................... GETRECORD "StockList.dat", .......................................................................................... IF CurrentStock = "" THEN ...................................................................................... "StockList.dat", NewStock Stored ← TRUE ELSE Location ← Location + 1 ENDIF ENDWHILE ................................................................................................................................................ THEN OUTPUT "The new item has not been stored as the file was full." ENDIF CLOSEFILE "StockList.dat"

[5]
12
a

An array is an Abstract Data Type (ADT). Identify two other ADTs. 1 ................................................................................................................................................ 2 ................................................................................................................................................

[1]
b

A 1D array DataArray holds up to 1000 elements of type integer and needs to be sorted in ascending order. Write the pseudocode for an insertion sort to sort the array into ascending order. Use the identifiers from the table in your algorithm. You do not need to declare any arrays or variables for this algorithm. You may assume this has already been done. Identifier Data type Description Index INTEGER counter for outer loop Position INTEGER counter for inner loop – insertion position DataArray INTEGER 1D array to store up to 1000 integers Value INTEGER value to insert The first line has been written for you. FOR Index ← 2 to 1000

[4]
c

Describe two ways in which the performance of a sort routine is affected by the data to be sorted. 1 ................................................................................................................................................ ................................................................................................................................................... 2 ................................................................................................................................................ ...................................................................................................................................................

[2]
13

The recursive procedure Delete() is defined as follows: PROCEDURE Delete(Index, Target) IF Numbers[Index] > 0 THEN IF Numbers[Index] >= Target THEN Numbers[Index] ← Numbers[Index + 1] ENDIF Index ← Index + 1 CALL Delete(Index, Target) ENDIF ENDPROCEDURE An array Numbers is used to store a sorted data set of non-zero positive integers. Unused cells contain zero. The contents of the array at the start of the algorithm are: Numbers [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 2 3 7 11 15 17 19 23 0 0 Complete the trace table for the algorithm for the procedure call: CALL Delete(1, 15)

[4]

Mark scheme

9618/33 · May/June 2025

Download PDF

1a · 4 marks

  • 1 mark

    TYPE VideoLibrary and ENDTYPE correct

  • 1 mark

    Declare used correctly for every field in the response

  • 1 mark

    All Three STRING fields correct (shaded)

  • 1 mark

    Remaining Three fields correct (unshaded)

1b · 2 marks

  • 1 mark

    VideoFormat

  • 1 mark

    This field can have a fixed range of possible values

2a · 2 marks

  • 1 mark

    Mantissa: 0 1 1 1 1 1 1 1, Exponent: 0 1 1 1 1 1 1 1

  • 1 mark

    127 × 2<sup>120</sup> // 0.9921875 x 2<sup>127</sup> // 127/128 x 2<sup>127</sup>

2b · 4 marks

  • 1 mark

    number converted to binary e.g., positive binary version of 3.59375 = (0)11.10011

  • 1 mark

    negative two’s complement version - bits flipped and 1 added = 100.01101

  • 1 mark

    -4 + 1/4 + 1/8 + 1/32 // -4 + 025 +0.125 + 0.03125 // -(64 + 32 + 16 + 2 + 1)/32

  • 1 mark

    -2<sup>2</sup> + 2<sup>-2</sup> + 2<sup>-3</sup> + 2<sup>-5</sup>

  • 1 mark

    2<sup>2</sup>(- 2<sup>0</sup> + 2<sup>-4</sup> + 2<sup>-5</sup> + 2<sup>-7</sup>)

  • 1 mark

    correct mantissa: 1 0 0 0 1 1 0 1

  • 1 mark

    correct exponent, with working seen: 0 0 0 0 0 0 1 0

3a · 2 marks

  • 2 marks

    Z = A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D (all six correct terms)

3b(i) · 2 marks

  • 2 marks

    Karnaugh map correctly filled with no errors

3b(ii) · 2 marks

  • 1 mark

    Correct loop for group of 2 (row 00, columns 01 and 11)

  • 1 mark

    Correct loop for group of 4 (rows 11 and 10, columns 00 and 10)

3b(iii) · 2 marks

  • 1 mark

    One correct Boolean term

  • 1 mark

    Boolean terms and operator correct and no other terms present

4a · 5 marks

  • 1 mark

    To identify the intended network and host.

  • 1 mark

    To add header containing IP addresses. // To address packets with their source and destination IP Addresses.

  • 1 mark

    To prepare packets for delivery by formatting them into datagrams.

  • 1 mark

    To route datagrams through the optimum route over a network.

  • 1 mark

    To prepare the next hop by managing the link between two directly connected devices. // To identify and move traffic across local segments.

  • 1 mark

    To format datagrams into frames for transmission.

  • 1 mark

    To identify network protocols in the packet header. // To ensure correct network protocols are/is followed.

  • 1 mark

    To deliver frames to the receiving network. // To receive frames from the sending network. // To map IP addresses to MAC physical addresses.

  • 1 mark

    To provide error checking/error correction/recovery/reconstruction

  • 1 mark

    including resend requests.

4b · 4 marks

  • 1 mark

    The router reads the IP address of the destination from the packet header.

  • 1 mark

    A router uses a routing table to find information …

  • 1 mark

    … about e.g., available hops / netmask / gateway used / adjacent routers / the status of the routers along the route.

  • 1 mark

    The router determines the next hop / optimum route. // The router sends the packet on its next hop.

  • 1 mark

    The router manages the hop counter // The hop counter is reduced by 1 every time the packet passes a router.

5 · 4 marks

  • 1 mark

    Getter: A method that accesses the value of a property

  • 1 mark

    Setter: A method that changes the value of a property

  • 1 mark

    Object: An instantiation / instance of a class

  • 1 mark

    Method: A programmed function / procedure / subroutine / subprogram defined as part of a class

6a · 2 marks

  • 1 mark

    Process scheduling is required to ensure that all processes are executed in a timely manner

  • 1 mark

    … and enables multitasking/multiprogramming/multiprocessing

  • 1 mark

    … to minimise CPU idle time

  • 1 mark

    … to ensure that no process is starved of resources. // … to ensure fair access to resources.

  • 1 mark

    … ensures jobs/processes are completed in order of priority.

6b · 4 marks

  • 1 mark

    Processes are queued as they arrive.

  • 1 mark

    It is a pre-emptive scheduling routine.

  • 1 mark

    A fixed time quantum is given to each process. // Each process has an equal time slice.

  • 1 mark

    When a time slice ends, the status of the process is saved/queued so it can continue from where it left off in its next time slice.

  • 1 mark

    and the next process is executed for its time slice; its previous state is reinstated/restored, if applicable.

  • 1 mark

    If a process completes within its time slice, the next process is executed for its time slice.

  • 1 mark

    Reduces average response time by limiting each process to a fixed amount of time.

  • 1 mark

    No issue with starvation of resources.

7 · 4 marks

  • 1 mark

    An SSL/TLS connection is initiated by an application/client.

  • 1 mark

    Every new session begins with a handshake as defined by the SSL/TLS protocols.

  • 1 mark

    The client requests the digital certificate from the server // The server sends the digital certificate to the client.

  • 1 mark

    The client verifies the server’s digital certificate

  • 1 mark

    … and obtains the server’s public key.

  • 1 mark

    The encryption algorithms are agreed. // The symmetric session keys are generated/defined.

  • 1 mark

    A secure session is established between client and server.

8 · 4 marks

  • 1 mark

    It is the second stage of compilation // It’s the compilation stage after lexical analysis.

  • 1 mark

    It takes input from the lexical analyser in the form of token streams.

  • 1 mark

    The source code is analysed / parsed against the rules of the language to detect any errors in the code.

  • 1 mark

    The output from this phase is a parse tree.

  • 1 mark

    Syntax errors are reported.

9a · 1 mark

  • 1 mark

    The second character must come from either lower or digit. It can’t be upper.

9b · 3 marks

  • 1 mark

    <upper> ::= J | K | L | V | X | Z

  • 1 mark

    Any two correct options for <passcode>

  • 1 mark

    Remaining two options correct for <passcode>

  • 1 mark

    <passcode> ::= <upper><middle><middle><digit>

  • 1 mark

    <middle> ::= <lower>|<digit>

9c · 2 marks

  • 1 mark

    Box for upper in correct place with correct connections

  • 1 mark

    Correct repetition arrow for final digit

10a · 1 mark

  • 1 mark

    To find the path between two points on a graph using the algorithm.

10b · 2 marks

  • 1 mark

    A* tries to find a better path (between two points) by using a heuristic function // A* finds the adjacent route with the shortest path and continues this until the destination is reached

  • 1 mark

    … Dijkstra’s just explores all possible routes.

  • 1 mark

    The heuristic function on the A* algorithm gives priority to nodes that are supposed to be better than others / less costly than others.

  • 1 mark

    Dijkstra’s algorithm cannot work with negative values/weights //A* algorithm can work with negative values/weights.

10c · 3 marks

  • 1 mark

    Unsupervised learning uses algorithms to analyse / cluster

  • 1 mark

    … unlabelled data sets

  • 1 mark

    They discover hidden patterns / data groupings / clusters without the need for human intervention.

  • 1 mark

    It is able to discover similarities and differences in data / information.

11 · 5 marks

  • 1 mark

    OPENFILE "StockList.dat" FOR RANDOM / Declarations

  • 1 mark

    WHILE NOT Stored AND Location <= Max

  • 1 mark

    SEEK "StockList.dat", Location and GETRECORD "StockList.dat", CurrentStock

  • 1 mark

    IF CurrentStock = "" THEN PUTRECORD "StockList.dat", NewStock Stored  TRUE ELSE Location  Location + 1 ENDIF

  • 1 mark

    IF Stored = FALSE THEN OUTPUT "The new stock item has not been stored as the file was full" ENDIF

12a · 1 mark

  • 1 mark

    Binary tree

  • 1 mark

    Graph

  • 1 mark

    Linked list

  • 1 mark

    Queue

  • 1 mark

    Stack

12b · 4 marks

  • 1 mark

    Temporary assignment of the element being ‘inserted’ before inner loop

  • 1 mark

    Appropriate inner loop

  • 1 mark

    Check if current DataArray content is > Value

  • 1 mark

    Moving data to adjacent element as required

  • 1 mark

    Appropriate updating of Position variable

  • 1 mark

    Re-insertion of the element outside the inner loop

12c · 2 marks

  • 1 mark

    The performance of a sorting routine should improve if the data is already partially sorted // The performance of a sorting routine is likely to be worse if the data is completely out of order

  • 1 mark

    The sort may take longer if the number of items to be sorted is larger // The sort may take less time if the number of items to be sorted is fewer.

13 · 4 marks

  • 1 mark

    Correct Index and Target columns

  • 1 mark

    Correct Numbers[5] column

  • 1 mark

    Correct Numbers[6] and Numbers[7] columns

  • 1 mark

    Correct Numbers[8] column and no incorrect data added to any other of columns [1, 2, 3, 4, 9, 10]

Questions

  1. 1
    Question 16 marks
    Mark scheme ›
  2. 2
    Question 26 marks
    Mark scheme ›
  3. 3
    Question 38 marks
    Mark scheme ›
  4. 4
    Question 49 marks
    Mark scheme ›
  5. 5
    Question 54 marks
    Mark scheme ›
  6. 6
    Question 66 marks
    Mark scheme ›
  7. 7
    Question 74 marks
    Mark scheme ›
  8. 8
    Question 84 marks
    Mark scheme ›
  9. 9
    Question 96 marks
    Mark scheme ›
  10. 10
    Question 106 marks
    Mark scheme ›
  11. 11
    Question 115 marks
    Mark scheme ›
  12. 12
    Question 127 marks
    Mark scheme ›
  13. 13
    Question 134 marks
    Mark scheme ›

More 9618 papers

Other papers from May/June 2025

Solve it on ExamPalStart