Cambridge IGCSE Computer Science (9-1) 0984 — 2024 May/June Paper 2 · Variant 1
0984/21/M/J/24 · 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 paper16 pages
















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


















Paper as text
Question paper, page 1
This document has 16 pages. Any blank pages are indicated. [Turn over Cambridge IGCSE™(9–1) COMPUTER SCIENCE 0984/21 Paper 2 Algorithms, Programming and Logic May/June 2024 1 hour 45 minutes You must answer on the question paper. No additional materials are needed. INSTRUCTIONS ● Answer all questions. ● Use a black or dark blue pen. You may use an HB pencil for any diagrams or graphs. ● Write your name, centre number and candidate number in the boxes at the top of the page. ● Write your answer to each question in the space provided. ● Do not use an erasable pen or correction fluid. ● Do not write on any bar codes. ● Calculators must not be used in this paper. INFORMATION ● The total mark for this paper is 75. ● The number of marks for each question or part question is shown in brackets [ ]. ● No marks will be awarded for using brand names of software packages or hardware. * 9 7 4 6 8 9 9 4 3 4 * DC (PQ) 341258 © UCLES 2024
Question paper, page 2
2 0984/21/M/J/24 © UCLES 2024 1 Tick (ü) one box to complete this sentence. A validation check to make sure that an email address contains an ‘@’ sign is a A range check. B visual check. C presence check. D format check. [1] 2 Four descriptions of programming concepts and five programming concepts are shown. (a) Draw one line to link each description to the most appropriate programming concept. Not all programming concepts will be used. Description Programming concept a subroutine that may not return a value function procedure parameter global variable local variable a value that is declared and used within a specific procedure a value that a procedure expects you to supply when it is called a subroutine that will always return a value [4] (b) Write the pseudocode to use a procedure named Average that passes the values 25 and 50 to the procedure. … … [2]
Question paper, page 3
3 0984/21/M/J/24 © UCLES 2024 [Turn over (c) Outline the role of procedures and functions in creating a program that is easier to maintain. … … … … … … [3] 3 State what is meant by the data types integer and real. Give an example of each. Integer … … Example … Real … … Example … [4]
Question paper, page 4
4 0984/21/M/J/24 © UCLES 2024 4 This pseudocode algorithm is intended to allow, at random, between 1 and 20 values to be entered and totalled. The total and average of the entered values are output at the end of the algorithm. 01 DECLARE Loop : STRING 02 DECLARE Limit : INTEGER 03 DECLARE Value : REAL 04 DECLARE Total : REAL 05 Total 0 06 Limit ROUND(RANDOM() * 19,0) + 1 07 IF Loop 1 TO Limit 08 OUTPUT "Enter a number" 09 INPUT Loop 10 Total Total * Value 11 NEXT Loop 12 OUTPUT "The total of the numbers entered is ", Total 13 OUTPUT "The average of the numbers entered is ", Total / Limit (a) Identify the line numbers of four errors in the pseudocode and suggest corrections. Error 1 line number … Correction … … Error 2 line number … Correction … … Error 3 line number … Correction … … Error 4 line number … Correction … … [4] (b) Write the pseudocode statement that would output the average calculated in line 13 of the algorithm rounded to one decimal place. … … … … [2]
Question paper, page 5
5 0984/21/M/J/24 © UCLES 2024 [Turn over (c) Explain how you should alter the original corrected algorithm to make sure that all the numbers entered are between 1 and 500 inclusive. If any numbers fall outside these limits, a replacement value is requested and entered. You do not need to re-write the algorithm. … … … … … … … … [4] 5 Write the pseudocode statements to perform this task: • accept the input of a whole number from 1 to 4 inclusive • use a CASE statement to: ○ output the number (1 to 4 inclusive) that was entered ○ output the word “ERROR” if a 1 to 4 inclusive number was not entered. … … … … … … … … … … [5]
Question paper, page 6
6 0984/21/M/J/24 © UCLES 2024 6 The flowchart represents an algorithm. INPUT Limit Count 1 No START STOP OUTPUT Numbers[Result] INPUT Numbers[Count] Result Limit DIV 2 + 1 Swap Numbers[Count] Numbers[Count] Numbers[Count + 1] Numbers[Count + 1] Swap Flag True Count Count + 1 IS Count > Limit? Count Count + 1 Flag TRUE Yes No No No Yes Yes Yes Flag False Count 1 IS Numbers[Count] > Numbers[Count + 1]? IS Count > Limit – 1? IS Flag = TRUE?
Question paper, page 7
7 0984/21/M/J/24 © UCLES 2024 [Turn over (a) Complete the trace table for the input data: 7, 47, 50, 52, 60, 80, 63, 70 Numbers Limit Count [1] [2] [3] [4] [5] [6] [7] Flag Swap Result OUTPUT [7]
Question paper, page 8
8 0984/21/M/J/24 © UCLES 2024 (b) Outline the processes involved in the algorithm shown in the flowchart on page 6. … … … … … … [3] 7 (a) Outline why it is useful to store data in a file. … … … … [2] (b) The function LENGTH(X) calculates the length of a string X Write the pseudocode statements to: • read the contents of the text file Quotation.txt into an appropriate string variable that has been declared • output the string in upper case and the length of the string. … … … … … … … … [4]
Question paper, page 9
9 0984/21/M/J/24 © UCLES 2024 [Turn over 8 Consider the logic expression: Z = (R OR NOT T) XOR (NOT S AND T) (a) Draw a logic circuit for this logic expression. Each logic gate must have a maximum of two inputs. Do not simplify this logic expression. R S T Z [5] (b) Complete the truth table from the given logic expression. R S T Working space 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 [4]
Question paper, page 10
10 0984/21/M/J/24 © UCLES 2024 9 A database table called SoftDrinks stores details of the soft drinks sold by a small shop. Field Example data Name Cola Supplier Cambridge Beverages Container Can SizeCl 330 NumberInStock 30 ReorderLevel 15 Reordered Yes (a) State whether any of the given fields would be suitable as a primary key and give a reason for your answer. … … [1] (b) Complete the structured query language (SQL) statement to return the number of cans the shop has in stock. SELECT … (…) FROM … WHERE … = … ; [5]
Question paper, page 11
11 0984/21/M/J/24 © UCLES 2024 [Turn over BLANK PAGE
Question paper, page 12
12 0984/21/M/J/24 © UCLES 2024 10 The one-dimensional (1D) array Clubs[] is used to store the names of 12 cricket clubs in a local sports league. The two-dimensional (2D) array Statistics[] is used to store, for each cricket club, the number of: • matches won • matches drawn • matches lost. The 1D array Points[] is used to store the total number of points each cricket club has been awarded. The position of any cricket club’s data is the same in all three arrays. For example, the data in index 2 of Statistics[] and index 2 of Points[] belongs to the cricket club in index 2 of Clubs[] The variable Matches stores the number of matches played by each team. Each team plays the same number of matches. Points are awarded for: • a win – 12 points • a draw – 5 points • a loss – 0 points. Write a program that meets the following requirements: • allows the number of matches played to be input and stored, with a maximum of 22 matches • validates the number of matches played • allows the names of the cricket clubs to be input and stored • allows the number of matches won, drawn and lost to be input and stored for each team • validates the number of matches won, drawn or lost against the number of matches played • asks the user to re-enter the number of matches won, drawn or lost if the total does not match the number of matches played • calculates and stores the total number of points for each club • finds the cricket club or clubs with the highest number of points • outputs the name or names of the winning club or clubs, the number of wins and the total number of points awarded. You must use pseudocode or program code and add comments to explain how your code works. You do not need to declare any arrays or variables; you may assume that this has already been done. All inputs and outputs must contain suitable messages. … … … … … …
Question paper, page 13
13 0984/21/M/J/24 © UCLES 2024 [Turn over … … … … … … … … … … … … … … … … … … … … … … … … … … … …
Question paper, page 14
14 0984/21/M/J/24 © UCLES 2024 … … … … … … … … … … … … … … … … … … … … … … … … … … … … [15]
Question paper, page 15
15 0984/21/M/J/24 © UCLES 2024 BLANK PAGE
Question paper, page 16
16 0984/21/M/J/24 © UCLES 2024 Permission to reproduce items where third-party owned material protected by copyright is included has been sought and cleared where possible. Every reasonable effort has been made by the publisher (UCLES) to trace copyright holders, but if any items requiring clearance have unwittingly been included, the publisher will be pleased to make amends at the earliest possible opportunity. To avoid the issue of disclosure of answer-related information to candidates, all copyright acknowledgements are reproduced online in the Cambridge Assessment International Education Copyright Acknowledgements Booklet. This is produced for each series of examinations and is freely available to download at www.cambridgeinternational.org after the live examination series. Cambridge Assessment International Education is part of Cambridge Assessment. Cambridge Assessment is the brand name of the University of Cambridge Local Examinations Syndicate (UCLES), which is a department of the University of Cambridge. BLANK PAGE
Mark scheme, page 1
This document consists of 18 printed pages. © Cambridge University Press & Assessment 2024 [Turn over Cambridge IGCSE™ (9–1) COMPUTER SCIENCE 0984/21 Paper 2 Algorithms, Programming and Logic May/June 2024 MARK SCHEME Maximum Mark: 75 Published This mark scheme is published as an aid to teachers and candidates, to indicate the requirements of the examination. It shows the basis on which Examiners were instructed to award marks. It does not indicate the details of the discussions that took place at an Examiners’ meeting before marking began, which would have considered the acceptability of alternative answers. Mark schemes should be read in conjunction with the question paper and the Principal Examiner Report for Teachers. Cambridge International will not enter into discussions about these mark schemes. Cambridge International is publishing the mark schemes for the May/June 2024 series for most Cambridge IGCSE, Cambridge International A and AS Level and Cambridge Pre-U components, and some Cambridge O Level components.
Mark scheme, page 2
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 2 of 18 Generic Marking Principles These general marking principles must be applied by all examiners when marking candidate answers. They should be applied alongside the specific content of the mark scheme or generic level descriptions for a question. Each question paper and mark scheme will also comply with these marking principles. GENERIC MARKING PRINCIPLE 1: Marks must be awarded in line with: the specific content of the mark scheme or the generic level descriptors for the question the specific skills defined in the mark scheme or in the generic level descriptors for the question the standard of response required by a candidate as exemplified by the standardisation scripts. GENERIC MARKING PRINCIPLE 2: Marks awarded are always whole marks (not half marks, or other fractions). GENERIC MARKING PRINCIPLE 3: Marks must be awarded positively: marks are awarded for correct/valid answers, as defined in the mark scheme. However, credit is given for valid answers which go beyond the scope of the syllabus and mark scheme, referring to your Team Leader as appropriate marks are awarded when candidates clearly demonstrate what they know and can do marks are not deducted for errors marks are not deducted for omissions answers should only be judged on the quality of spelling, punctuation and grammar when these features are specifically assessed by the question as indicated by the mark scheme. The meaning, however, should be unambiguous. GENERIC MARKING PRINCIPLE 4: Rules must be applied consistently, e.g. in situations where candidates have not followed instructions or in the application of generic level descriptors.
Mark scheme, page 3
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 3 of 18 GENERIC MARKING PRINCIPLE 5: Marks should be awarded using the full range of marks defined in the mark scheme for the question (however; the use of the full mark range may be limited according to the quality of the candidate responses seen). GENERIC MARKING PRINCIPLE 6: Marks awarded are based solely on the requirements as defined in the mark scheme. Marks should not be awarded with grade thresholds or grade descriptors in mind. Mark scheme abbreviations / separates alternative words / phrases within a marking point // separates alternative answers within a marking point underline actual word given must be used by candidate (grammatical variants accepted) max indicates the maximum number of marks that can be awarded ( ) the word / phrase in brackets is not required, but sets the context Note: No marks are awarded for using brand names of software packages or hardware.
Mark scheme, page 4
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 4 of 18 Question Answer Marks 1 D 1 Question Answer Marks 2(a) One mark for each correct line Description Programming concept 4 2(b) One mark per mark point Correct key word - CALL Procedure name with correct parameters - Average(25, 50) CALL Average(25, 50) 2 a subroutine that may not return a value function a value that a procedure expects you to supply when it is called a value that is declared and used within a specific procedure a subroutine that will always return a value parameter local variable global variable procedure
Mark scheme, page 5
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 5 of 18 Question Answer Marks 2(c) One mark per mark point, max three Procedures / functions divide the program into smaller manageable segments … making it more readable / easier to understand / easier to debug Procedures / functions with meaningful names help to provide documentation for the program / enable/help/provide abstraction Procedures and functions may be re-used (in the program / in other programs / as part of a library) / run from a single line Procedures and functions can reduce / eliminate (repeated) code 3 Question Answer Marks 3 One mark for a correct statement about each data type … … one mark for a correct example of data for each data type. Example answer Integer A whole number [1] Example 27 [1] Real A number that contains a fractional part [1] … Example 18.75 [1] 4
Mark scheme, page 6
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 6 of 18 Question Answer Marks 4(a) One mark per mark point Line 01 / DECLARE Loop : STRING should be DECLARE Loop : INTEGER Line 07 / IF Loop 1 TO Limit should be FOR Loop 1 TO Limit Line 09 / INPUT Loop should be INPUT Value Line 10 / Total Total * Value should be Total Total + Value Correct algorithm: 01 DECLARE Loop : INTEGER 02 DECLARE Limit : INTEGER 03 DECLARE Value : REAL 04 DECLARE Total : REAL 05 Total 0 06 Limit ROUND(RANDOM() * 19,0) + 1 07 FOR Loop 1 TO Limit 08 OUTPUT "Enter a number" 09 INPUT Value 10 Total Total + Value 11 NEXT Loop 12 OUTPUT "The total of the numbers entered is ", Total 13 OUTPUT "The average number entered is ", Total / Limit 4
Mark scheme, page 7
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 7 of 18 Question Answer Marks 4(b) One mark per mark point Correct use of ROUND with 2 arguments separated by comma, for example ROUND( 5, 2) (in statement 13) … … (Total / Limit,1) correct arguments For example: OUTPUT "The average of the numbers entered is ", ROUND(Total / Limit,1) 2 4(c) One mark per mark point, max four After line 09 / after the input Insert a WHILE / pre-condition loop… … to check if the value entered is between 1 and 500 inclusive If the value is not in range, output an error message … and insert another input statement for re-input. Or Before line 08 / before the input message start a REPEAT / post-condition loop After line 09 / after the input … close the REPEAT loop by checking if the value entered was between 1 and 500 inclusive If it wasn’t, (the loop will repeat) for the number to be re-input / If it was, the program continues. 4
Mark scheme, page 8
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 8 of 18 Question Answer Marks 5 One mark per mark point MP1 Correct input statement with appropriate variable MP2 Elements of selection statement present – CASE OF ENDCASE MP3 At least one correct branch in the case statement MP4 All branches from 1 to 4 correct MP5 Correct use of OTHERWISE with correct output. For example: INPUT Number CASE OF Number 1 : OUTPUT Number 2 : OUTPUT Number 3 : OUTPUT Number 4 : OUTPUT Number OTHERWISE OUTPUT "ERROR" ENDCASE Or INPUT Number CASE OF Number 1 : OUTPUT 1 2 : OUTPUT 2 3 : OUTPUT 3 4 : OUTPUT 4 OTHERWISE OUTPUT "ERROR" ENDCASE 5
Mark scheme, page 9
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 9 of 18 Question Answer Marks 6(a) One mark per mark point MP1 Correct Limit column MP2 Correct Count column MP3 Array columns for input stage MP4 Array columns for sort stage MP5 Correct Flag column MP6 Correct Swap column MP7 Correct Result and OUTPUT columns Numbers Limit Count [1] [2] [3] [4] [5] [6] [7] Flag Swap Result OUTPUT 7 1 47 2 50 3 52 4 60 5 80 6 63 7 70 8 TRUE 1 FALSE 2 3 4 7
Mark scheme, page 10
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 10 of 18 Question Answer Marks 6(a) Numbers Limit Count [1] [2] [3] [4] [5] [6] [7] Flag Swap Result OUTPUT 5 80 63 80 TRUE 6 80 70 80 TRUE 7 1 FALSE 2 3 4 5 6 7 4 60 6(b) One mark per mark point A set of numbers is input / stored in an array The numbers are sorted / Bubble sort into (ascending) order The middle / median value is found / output 3
Mark scheme, page 11
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 11 of 18 Question Answer Marks 7(a) One mark per mark point, max two Data stored in a file gives a permanent copy / prevents the data from being lost … so it can be recalled / used again in a program / in another program can be stored elsewhere / transferred to another computer 2 7(b) One mark per mark point, max four MP1 Declaration of a string variable MP2 Correct use of OPENFILE keywords for reading MP3 Correct use READFILE with string variable MP4 Correct use of UCASE and LENGTH functions and output of each MP5 Correct use of CLOSEFILE Example: DECLARE Words : STRING OPENFILE Quotation.txt FOR READ READFILE Quotation.txt, Words OUTPUT UCASE(Words), LENGTH(Words) CLOSEFILE Quotation.txt 4
Mark scheme, page 12
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 12 of 18 Question Answer Marks 8(a) One mark for each correct gate, with the correct input(s) as shown. R S Z T 5
Mark scheme, page 13
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 13 of 18 Question Answer Marks 8(b) Four marks for eight correct outputs. Three marks for six or seven correct outputs. Two marks for four or five correct outputs. One mark for two or three correct outputs R S T Z 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 4
Mark scheme, page 14
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 14 of 18 Question Answer Marks 9(a) One mark for an appropriate reason if no has been stated, for example: None of the fields are likely to contain unique data. 1 9(b) One mark for each correct answer SUM NumberInStock SoftDrinks Container 'Can' Correct code: SELECT SUM (NumberInStock) FROM SoftDrinks WHERE Container = 'Can'; 5 10 Data structures required: The names underlined must match those given in the scenario: Arrays or lists Clubs[], Statistics[], Points[], TieIndex[] Variables Matches, Won, Drawn, Lost, Counter, Maximum, TieCheck, OutLoop, Max, Count Requirements (techniques): R1 Input and store number of matches, cricket club names, number of matches won, drawn and lost. Validation of number of matches played and matches won, lost and drawn against number of matches played (with prompts, iteration, storing data in variables, validation, 1D and 2D arrays). R2 Calculate and store the number of points for each cricket club. Finding the index of the array with the highest score / highest score (calculation, finding the maximum, iteration). R3 Identifying cricket clubs with highest number of points and whether there is a tie for the top position. Output with appropriate messages (iteration, selection and output). 15
Mark scheme, page 15
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 15 of 18 Question Answer Marks 10 Example 15-mark answer in pseudocode // meaningful identifiers and appropriate data structures // similar variables grouped to save space as in HL languages DECLARE Clubs : ARRAY[1:12] OF STRING DECLARE Statistics : ARRAY[1:12, 1:3] OF INTEGER DECLARE Points : ARRAY[1 : 12] OF INTEGER DECLARE TieIndex : ARRAY[1 : 12] OF INTEGER DECLARE Matches, Won, Drawn, Lost : INTEGER DECLARE Counter, Maximum, TieCheck, OutLoop : INTEGER DECLARE Max, Count : INTEGER // input number of matches REPEAT OUTPUT "How many matches have been played (Maximum 22)? " INPUT Matches UNTIL Matches <= 22 // input of data as a single loop – multiple loops for data entry // is also acceptable. FOR Counter 1 TO 12 OUTPUT "Enter the name of the cricket club" INPUT Clubs[Counter] // input of match results with validation REPEAT OUTPUT "Enter the number of matches won, drawn and lost for ", Clubs[Counter] INPUT Won, Drawn, Lost IF Won + Drawn + Lost <> Matches THEN OUTPUT "Your inputs must total ", Matches, " please try again" ENDIF UNTIL Matches = Won + Drawn + Lost Statistics[Counter, 1] Won Statistics[Counter, 2] Drawn Statistics[Counter, 3] Lost // calculating and storing points
Mark scheme, page 16
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 16 of 18 Question Answer Marks 10 Points[Counter] Statistics[Counter, 1] * 12 + Statistics[Counter, 2] * 5 NEXT Counter // finding the highest points Max -100 FOR Maximum 1 TO 12 IF Points[Maximum] > Max THEN Max Points[Maximum] ENDIF NEXT Maximum // finding the winner(s) Count 0 FOR TieCheck 1 TO 12 IF Points[TieCheck] = Max THEN Count Count + 1 TieIndex[Count] TieCheck ENDIF Next TieCheck // outputting the results FOR OutLoop 1 TO Count OUTPUT "Winning Club(s): ", Clubs[TieIndex[OutLoop]] OUTPUT "Number of wins: ", Statistics[TieIndex[OutLoop], 1] Next OutLoop OUTPUT "Winning Points: ", Max
Mark scheme, page 17
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 17 of 18 Marking Instructions in italics AO2: Apply knowledge and understanding of the principles and concepts of computer science to a given context, including the analysis and design of computational or programming problems 0 1–3 4–6 7–9 No creditable response. At least one programming technique has been used. Any use of selection, iteration, counting, totalling, input and output. Some programming techniques used are appropriate to the problem. More than one technique seen applied to the scenario, check the list of techniques needed. The range of programming techniques used is appropriate to the problem. All criteria stated for the scenario have been covered by the use of appropriate programming techniques, check the list of techniques needed. Some data has been stored but not appropriately. Any use of variables or arrays or other language dependent data structures e.g. Python lists. Some of the data structures chosen are appropriate and store some of the data required. More than one data structure used to store data required by the scenario. The data structures chosen are appropriate and store all the data required. The data structures used store all the data required by the scenario.
Mark scheme, page 18
0984/21 Cambridge IGCSE (9–1) – Mark Scheme PUBLISHED May/June 2024 © Cambridge University Press & Assessment 2024 Page 18 of 18 Marking Instructions in italics AO3: Provide solutions to problems by: evaluating computer systems making reasoned judgements presenting conclusions 0 1–2 3–4 5–6 No creditable response. Program seen without relevant comments. Program seen with some relevant comment(s). The program has been fully commented. Some identifier names used are appropriate. Some of the data structures used have meaningful names. The majority of identifiers used are appropriately named. Most of the data structures used have meaningful names. Suitable identifiers with names meaningful to their purpose have been used throughout. All of the data structures used have meaningful names. The solution is illogical. The solution contains parts that may be illogical. The program is in a logical order. The solution is inaccurate in many places. Solution contains few lines of code with errors that attempt to perform a task given in the scenario. The solution contains parts that are inaccurate. Solution contains lines of code with some errors that logically perform tasks given in the scenario. Ignore minor syntax errors. The solution is accurate. Solution logically performs all the tasks given in the scenario. Ignore minor syntax errors. The solution attempts at least one of the requirements. Solution contains lines of code that attempt at least one task given in the scenario. The solution meets most of the requirements. Solution contains lines of code that perform most tasks given in the scenario. The solution meets all the requirements given in the question. Solution performs all the tasks given in the scenario.
What you needed in this session
Cambridge’s own grade thresholds for 2024 May/June, Paper 2 · Variant 1. A higher threshold means an easier paper — the bar moves with how the cohort did.