Cambridge A Level Computer Science 9618 — 2024 May/June Paper 3 · Variant 1
9618/31/M/J/24 · 11 questions · 75 marks · ≈84 min
The question paper and its mark scheme, free to read here and free to download. This is Cambridge’s own paper, exactly as it was sat.
Question paper12 pages












Mark scheme14 pages
Answers below. Sit the paper first if you are practising.














Questions as text
Q1 · Real numbers are stored in a computer system using floating-point representation with: •…
1 Real numbers are stored in a computer system using floating-point representation with: • 10 bits for the mantissa • 6 bits for the exponent • two’s complement form for both the mantissa and the exponent. (a) Calculate the denary value of the given normalised floating-point number. Show your working. Mantissa Exponent 0 1 0 0 1 1 1 1 0 0 0 0 1 0 0 1 Working ..................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... Answer ...................................................................................................................................... [3] (b) Calculate the normalised floating-point representation of –102.75 in this system. Show your working. Mantissa Exponent Working ..................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... [3]
Mark scheme: 1(a) One mark per mark point (Max 3) MP1 conversion of exponent 001001 to 9 MP2 application of exponent to mantissa to go from 0.100111100 to 100111100 // 256 + 32 + 16 + 8 + 4 seen // 64/128 + 8/128 + 4/128 + 2/128 + 1/128 = 79/128 // 1/2 + 1/16 + 1/32 + 1/64 + 1/128 = 79/128 MP3 correct answer = 316 3 1(b) One mark per mark point (Max 3) MP1 number converted to binary 10011001.01 // number converted to positive 102.75, reversed bits and 1 added. (0)1100110.11 10011001.00 10011001.01 // -128 + 16 + 8 + 1 + 0.25 = –102.75 MP2 exponent = 7 // Moving binary point the correct number of places MP3 correct answer Mantissa Exponent 1 0 0 1 1 0 0 1 0 1 0 0 0 1 1 1 3
Q2 · The TCP / IP protocol suite has four layers: Transport, Application, Link, Internet (a)…
2 The TCP / IP protocol suite has four layers: Transport, Application, Link, Internet (a) Complete the diagram to show the correct order for these layers. [2] (b) Describe the function of the Transport layer. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [2] (c) Outline one protocol that is associated with the Application layer. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [2]
Mark scheme: 2(a) Two marks for all protocols in correct position One mark for at least two protocols in correct position Application Transport Internet Link 2 2(b) One mark per mark point (Max 2) MP1 The transport layer is responsible for delivery of data from the source host to the destination host MP2 It is where data is broken up into packets and sent to the internet layer MP3 Adds the sequence number to the packet header MP4 It establishes end to end contact MP5 It ensures data arrives error free // It retransmits packets if lost. 2 2(c) One mark for name of protocol and one mark for expansion (Max 2) HTTP(S) – responsible for correct transfer of files / hypertext documents that make up web pages on the world wide web FTP – used when transferring files from a server to a client on a network POP3 – handles the receiving of emails IMAP – handles the receiving of emails SMTP – handles the sending of emails BitTorrent – provides peer-to-peer file sharing 2
Q3 · Explain what is meant by non-composite and composite data types
3 (a) Explain what is meant by non-composite and composite data types. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [3] (b) Write pseudocode statements to declare the record data type FootballClub to hold data about football clubs in a league, to include: • name of team • date team joined the league • main telephone number • name of the manager • number of members • current position in the league. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [4]
Mark scheme: 3(a) One mark per mark point (Max 2) non-composite data types MP1 Non-composite data types can both be user-defined or primitive MP2 Non-composite data types do not refer to other data types in their definition / contain one data type in their definition MP3 Non-composite data types can be primitive/enumerated/pointer One mark per mark point (Max 2) composite data types MP4 Composite data types can be user-defined or primitive MP5 Composite data types refer to other data types in their definition/contain more than one data type in their definition MP6 Composite data types can be record/set/class 3(b) One mark for TYPE FootballClub and ENDTYPE correct One mark for every two correct declarations Example answer TYPE FootballClub DECLARE TeamName : STRING DECLARE DateOfJoining : DATE DECLARE MainTelephone : STRING DECLARE ManagerName : STRING DECLARE NumberOfMembers : INTEGER DECLARE LeaguePosition : INTEGER ENDTYPE 4
Q4 · Describe the sequential method of file access
4 (a) Describe the sequential method of file access. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [2] (b) Explain how the sequential method of file access is applied to files with serial organisation and to files with sequential organisation. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [3]
Mark scheme: 4(a) One mark per mark point (Max 2) MP1 Sequential access method searches for records one after the other MP2 … from the physical start of the file until the record is found/the end of file. 2 4(b) One mark per mark point (Max 3) MP1 For serial files, records are stored in chronological order MP2 … every record needs to be checked until the record is found, or all records have been checked. MP3 For sequential files, records are stored in order of a key field/index, and it is the key field/index that is compared. MP4 … every record is checked until the record is found, or the key field of the current record is greater than the key field of the target record. 3
Q5 · Write this Reverse Polish Notation (RPN) in infix form: 5 2 + 9 3 - / 3 *…
5 (a) Write this Reverse Polish Notation (RPN) in infix form: 5 2 + 9 3 - / 3 * ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [3] (b) Write this infix expression in RPN: ((7 + 3) - (2 * 8)) / 6 ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [2] (c) Evaluate this RPN expression: a b - c d + * e / when a = 17, b = 5, c = 7, d = 3 and e = 10 Show the changing contents of the stack as the RPN expression is evaluated. [4]
Mark scheme: 5(a) One mark per correct term (Max 3) (5 + 2) / (9 – 3) * 3 Complete correct answer ((5 + 2) / (9 - 3)) * 3 5(b) One mark 7 3 + One mark 2 8 * - 6 / Complete answer 7 3 + 2 8 * - 6 / 2 Question Answer Marks 5(c) One mark per ring (Max 4) 3 5 7 7 10 10 17 17 12 12 12 12 120 120 12 4
Q6 · The diagram shows a logic circuit
6 The diagram shows a logic circuit. A Q P R B Z S C (a) Complete the truth table for the given logic circuit. Show your working. Working space A B C P Q R S Z 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 [3] (b) Write the Boolean expression that corresponds to the logic circuit as a sum-of-products. Z = ............................................................................................................................................ ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [2] (c) (i) Complete the Karnaugh map (K-map) for the Boolean expression: A.B.C + A.B.C + A.B.C + A.B.C + A.B.C + A.B.C BC 00 01 11 10 A 0 1 [2] (ii) Draw loop(s) around appropriate group(s) in the K-map to produce an optimal sum-of-products. [2] (iii) Write the Boolean expression from your answer to part (c)(ii) as a simplified sum-of-products. ........................................................................................................................................... ..................................................................................................................................... [1]
Mark scheme: 6(a) One mark for working, all four columns P, Q, R and S One mark for first four rows of column Z One mark for second four rows of column Z Working space A B C P Q R S Z 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 0 1 1 1 1 1 0 1 0 1 1 3 6(b) Two marks for all five correct terms and no extras One mark for any three correct terms (Z =) A.B.C + A.B.C + A.B.C + A.B.C + A.B.C 2 Question Answer Marks 6(c)(i) Two marks if all correct One mark if one error present 00 01 11 10 0 1 1 0 0 1 1 1 1 1 2 6(c)(ii) One mark for each correct loop (Max 2) 00 01 11 10 0 1 1 0 0 1 1 1 1 1 2 6(c)(iii) A + B 1 A BC A BC
Q7 · Describe what is meant by a digital certificate
7 (a) Describe what is meant by a digital certificate. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [3] (b) Explain the role of a digital certificate in creating a digital signature. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [2]
Mark scheme: 7(a) One mark per point (max 3) MP1 A digital certificate is an electronic/online document. MP2 used to authenticate/prove the identity of a website/the online identity of an individual/organisation MP3 typically issued by a CA MP4 For example: it contains information identifying a website owner/individual and a public key 7(b) One mark per point (max 2) MP1 The digital certificate provides the public key MP2 … that can be used to validate the private key associated with the organisation/website/digital signature 2
Q8 · A declarative programming language is used to represent the features that are available…
8 A declarative programming language is used to represent the features that are available and the features that are unavailable on different body styles of a car. 01 feature(sunroof). 02 feature(automatic_tailgate). 03 feature(heated_seats). 04 feature(extra_seats). 05 feature(reversing_camera). 06 feature(dashboard_camera). 07 feature(air_conditioning). 08 feature(heated_windscreen). 09 feature(satnav). 10 bodystyle(saloon). 11 bodystyle(hatchback). 12 bodystyle(estate). 13 bodystyle(minivan). 14 bodystyle(convertible). 15 available(sunroof, hatchback). 16 available(sunroof, minivan). 17 available(reversing_camera, hatchback). 18 available(extra_seats, minivan). 19 available(reversing_camera, saloon). 20 unavailable(sunroof, convertible). 21 unavailable(automatic_tailgate, saloon). 22 unavailable(extra_seats, hatchback). These clauses have the meanings: Clause Meaning 01 Sunroof is a feature. 10 Saloon is a body style. 15 Sunroof is available on a hatchback. 20 Sunroof is unavailable on a convertible. (a) Sliding doors is a feature that is available on a minivan but unavailable on a hatchback. Write additional clauses to represent this information. 23 ............................................................................................................................................. 24 ............................................................................................................................................. 25 ............................................................................................................................................. [3] (b) Using the variable Options, the goal: available(Options, saloon) returns Options = reversing_camera Write the result returned by the goal: available(Options, hatchback) Options = ........................................................................................................................ [1] (c) F may be available for B if F is a feature and B is a body style and F is not unavailable for that body style. Write this as a rule: may_choose_option(F, B) IF ............................................................................................................................................. ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [4]
Mark scheme: 8(a) One mark for each correctly completed clause (Max 3) (23) feature(sliding_doors). (24) available(sliding_doors, minivan). (25) unavailable(sliding_doors, hatchback). 3 8(b) (Options =) sunroof, reversing_camera 1 8(c) One mark per mark point (Max 4) MP1 feature(F) MP2 bodystyle(B) MP3 unavailable(F, B) MP4 all correct Boolean operators and punctuation (allow , for AND) and no additional lines of code Example answers may_choose_option(F, B) IF feature(F) AND bodystyle(B) AND NOT unavailable(F, B). feature(F), bodystyle(B), NOT unavailable(F, B). 4
Q9 · Explain what is meant by Deep Learning in relation to Artificial Intelligence (AI)
9 Explain what is meant by Deep Learning in relation to Artificial Intelligence (AI). .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .................................................................................................................................................... [3]
Mark scheme: 9 One mark per mark point (Max 3) MP1 Deep learning learns by finding hidden patterns that are undetectable to humans. MP2 It structures algorithms in layers: input layer, hidden layers and output layer. MP3 … to create an artificial neural network to learn and make intelligent decisions on its own. MP4 It is trained using large quantities of unlabelled data. MP5 Deep learning requires/uses a large number of hidden layers. MP6 … the larger the number of layers, the higher the level of success.
Q10 · State a condition that must be true for an array to be searchable for a binary search
10 (a) State a condition that must be true for an array to be searchable for a binary search. ................................................................................................................................................... ............................................................................................................................................. [1] (b) Complete the given pseudocode to find an item in a 1D array Names of type STRING using a binary search. DECLARE Names : ARRAY[1:100000] OF STRING DECLARE TopOfList : INTEGER DECLARE EndOfList : INTEGER DECLARE CurrentItem : INTEGER DECLARE ToFind : STRING DECLARE Found : BOOLEAN DECLARE NotInList : BOOLEAN TopOfList 1 ← EndOfList 100000 ← OUTPUT "Which name do you wish to find? " INPUT ToFind ................................................................................................................................................... NotInList FALSE ← WHILE ................................................ AND ................................................ CurrentItem (TopOfList + EndOfList) DIV 2 ← IF ........................................................................................................... THEN Found TRUE ← ELSE IF TopOfList >= EndOfList THEN ........................................................................................................... ELSE IF ToFind > Names[CurrentItem] THEN ........................................................................................................... ELSE EndOfList CurrentItem – 1 ← ENDIF ENDIF ENDIF ENDWHILE IF Found = TRUE THEN OUTPUT "Item found at position ", CurrentItem, " in array" ELSE OUTPUT "Item not in array" ENDIF [5] (c) Describe the performance of a binary search in relation to the number of data items in the array being searched. Refer to Big O notation in your answer. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [2]
Mark scheme: 10(a) One mark The elements are sorted according to the compare function / in ascending / descending order. 1 10(b) One mark for each correctly completed line (Max 5) DECLARE Names : ARRAY[1:100000] OF STRING DECLARE TopOfList : INTEGER DECLARE EndOfList : INTEGER DECLARE CurrentItem : INTEGER DECLARE ToFind : STRING DECLARE Found : BOOLEAN DECLARE NotInList : BOOLEAN TopOfList 1 EndOfList 100000 OUTPUT "Which name do you wish to find? " INPUT ToFind Found FALSE NotInList FALSE WHILE Found = FALSE AND NotInList = FALSE CurrentItem (TopOfList + EndOfList) DIV 2 IF ToFind = Names[CurrentItem]// Names[CurrentItem] = ToFind THEN Found TRUE ELSE IF TopOfList >= EndOfList THEN NotInList TRUE ELSE IF ToFind > Names[CurrentItem] THEN TopOfList CurrentItem + 1 ELSE EndOfList CurrentItem – 1 ENDIF ENDIF ENDIF ENDWHILE 5 Question Answer Marks 10(b) IF Found = TRUE THEN OUTPUT "Item found at position ", CurrentItem, " in array" ELSE OUTPUT "Item not in array" ENDIF 10(c) One mark from MP1 Big O for a binary search is O(Log2 n). MP2 Big O notation is used to indicate the time/space complexity of an algorithm. One mark from MP3 The time taken to complete the search increases logarithmically as the number of search items increases linearly MP4 The time taken to complete the search increases linearly as the number of search items increases exponentially MP5 As the search field is repeatedly getting smaller, the number of comparisons made before the item is found, or the number of items runs out, is relatively small. 2
Q11 · Reduced Instruction Set Computers (RISC) and Complex Instruction Set Computers (CISC) are…
11 Reduced Instruction Set Computers (RISC) and Complex Instruction Set Computers (CISC) are two types of processor. (a) State two features of RISC processors. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [2] (b) Outline the process of interrupt handling as it could be applied to RISC or CISC processors. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [3] (c) Explain how pipelining affects interrupt handling for RISC processors. ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ................................................................................................................................................... ............................................................................................................................................. [3]
Mark scheme: 11(a) One mark per mark point (Max 2) MP1 Uses hard-wired code/control units MP2 Uses relatively few instructions / simple instructions MP3 Uses relatively few addressing modes MP4 Makes use of a single-cycle for each instruction MP5 Makes use of fixed length / fixed format instructions MP6 Makes use of general-purpose registers MP7 Pipelining is straightforward to apply MP8 The design emphasis is on the software MP9 Processor chips require few transistors. 11(b) One mark per mark point (Max 3) MP1 Once the processor detects an interrupt at the start/end of the fetch-execute cycle MP2 … the current program is temporarily stopped and the status of each register stored on the stack. MP3 After the interrupt has been serviced/the Interrupt Service Routine (ISR) has been executed … MP4 … the registers can be restored to its original status before the interrupt was detected // … the data can be restored from the stack. 3 11(c) One mark per mark point (Max 3) MP1 Pipelining adds an additional complexity // there could be a number of instructions still in the pipeline when the interrupt is received MP2 All the instructions currently in operation are usually discarded except for the last one/the one at write back MP3 … the interrupt handler routine is applied to the remaining instruction. MP4 Once the interrupt has been serviced the processor can restart with the next instruction in the sequence. 3
What you needed in this session
Cambridge’s own grade thresholds for 2024 May/June, Paper 3 · Variant 1. A higher threshold means an easier paper — the bar moves with how the cohort did.