0% found this document useful (0 votes)
12 views17 pages

Cambridge IGCSE: Computer Science 0478/22

The document is the mark scheme for the Cambridge IGCSE Computer Science Paper 2 for October/November 2024, detailing the maximum marks and generic marking principles. It provides specific answers and marking criteria for various questions related to algorithms, programming, and logic. The mark scheme serves as a guide for examiners and teachers, indicating how marks should be awarded based on candidate responses.

Uploaded by

qwerty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views17 pages

Cambridge IGCSE: Computer Science 0478/22

The document is the mark scheme for the Cambridge IGCSE Computer Science Paper 2 for October/November 2024, detailing the maximum marks and generic marking principles. It provides specific answers and marking criteria for various questions related to algorithms, programming, and logic. The mark scheme serves as a guide for examiners and teachers, indicating how marks should be awarded based on candidate responses.

Uploaded by

qwerty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Cambridge IGCSE™

COMPUTER SCIENCE 0478/22


Paper 2 Algorithms, Programming and Logic October/November 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 October/November 2024 series for most
Cambridge IGCSE, Cambridge International A and AS Level components, and some Cambridge O Level
components.

This document consists of 14 printed pages.

© Cambridge University Press & Assessment 2024 [Turn over


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

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.

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.

© Cambridge University Press & Assessment 2024 Page 2 of 14


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

Question Answer Marks

1 C 1

Question Answer Marks

2 C 1

Question Answer Marks

3(a) One mark for each correct line 4

Flowchart symbol Purpose

subroutine

process

flow

decision

terminator

© Cambridge University Press & Assessment 2024 Page 3 of 14


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

Question Answer Marks

3(b) One mark per mark point 6

• Two labelled terminators START and STOP


• Loop initialisation, incrementation and termination
• Input with prompt
• Total initialised and totalling of inputs
• Output with message
• Fully correct flowchart with all correct arrows, yes/no labels and symbols

START

Total  0

Count  1

OUTPUT "Enter a
value between 1
and 100"

INPUT Number

Total  Total + Number No


o

IS Count
Count  Count + 1 > 50 ?

Yes

OUTPUT "The total


is ", Total

STOP

© Cambridge University Press & Assessment 2024 Page 4 of 14


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

Question Answer Marks

4(a) One mark per mark point 5

• Line 02 / DECLARE Counter : STRING


should be DECLARE Counter : INTEGER

• Line 09 / Temp  TRUE


should be Swapped  TRUE

• Line 10 / WHILE Swapped = TRUE OR Pass <= Limit - 1 DO


should be WHILE Swapped = TRUE AND Pass <= Limit - 1 DO

• Line 17 / ItemList[Counter]  Temp


should be ItemList[Counter + 1]  Temp

• Line 19 / ENDCASE
should be ENDIF

Correct algorithm:

01 DECLARE ItemList : ARRAY[1:100] OF STRING


02 DECLARE Counter : INTEGER
03 DECLARE Limit : INTEGER
04 DECLARE Pass : INTEGER
05 DECLARE Swapped : BOOLEAN
06 DECLARE Temp : STRING
07 Limit  100
08 Pass  1
09 Swapped  TRUE
10 WHILE Swapped = TRUE AND Pass <= Limit - 1 DO
11 Swapped  FALSE
12 FOR Counter  1 TO Limit – Pass
13 IF ItemList[Counter] > ItemList[Counter + 1]
14 THEN
15 Temp  ItemList[Counter]
16 ItemList[Counter]  ItemList[Counter + 1]
17 ItemList[Counter + 1]  Temp
18 Swapped  TRUE
19 ENDIF
20 Pass  Pass + 1
21 NEXT Counter
22 ENDWHILE

4(b) One mark per mark point (max three) 3

• The use of a flag (set initially to FALSE) to show if a swap has been
made (during the current iteration)
• … to stop the loop if it has been sorted
• The reduction in the limit of the (inner) loop after each iteration (of the loop)
• … to reduce the number of comparisons / iterations required

© Cambridge University Press & Assessment 2024 Page 5 of 14


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

Question Answer Marks

5(a) One mark per mark point (max one) 1

• Design
• Coding
• Testing

5(b) One mark per mark point (max three) 3

• Abstraction
• Discard/remove irrelevant information / hiding complexities /
keeping the key elements of the problem
• Decomposition of the problem
• Breaking the problem into inputs, processes and outputs
• Identification of the problem
• Identification of the requirements of the solution to the problem
• Research into the problem by data collection
• Example of data collection

Question Answer Marks

6 One mark for naming the type of check and one mark for an expansion (max 2
two)

• Visual check
• … looking at the data that has been entered and either confirming it is
correct or showing / correcting errors.

OR

• Double entry check // Data entered twice


• … data is entered twice and the two sets of data are compared (by
the computer). If they don’t match, an error has been input, so re-entry
is requested.

© Cambridge University Press & Assessment 2024 Page 6 of 14


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

Question Answer Marks

7(a) One mark per mark point (max five) 5

• Correct Value column


• Correct Count column
• Correct Answer column (down to first OUTPUT (120)) – Shaded grey
• Correct Answer column (remaining rows)
• Correct OUTPUT column

Value Count Answer OUTPUT

5 5

4 20

3 60

2 120

1 120 120

6 6

5 30

4 120

3 360

2 720

1 720 720

−1

7(b) One mark for correct answer 1


Example:
• It multiplies the input number by one less than itself repeatedly, until the
value is 1
• It calculates the number of permutations of all the numbers up to the input
value

7(c) One mark per mark point (max two) 2

• The program would accept the value and enter the FOR loop
• Count would keep reducing by 1 and would never reach 1, as it would
already be less than 1
• There would be an endless loop

© Cambridge University Press & Assessment 2024 Page 7 of 14


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

Question Answer Marks

8 One mark per mark point (max four) 4

• 80
• The largest whole number that would be accepted / at the very limit
/ Boundary/Extreme data that would be accepted / at the very limit
• 81
• The smallest whole number that would be rejected / is greater than
the limit / Boundary/Abnormal/Erroneous data that would be
rejected / is greater than the limit

Question Answer Marks

9(a) One mark for each correct gate, with the correct input(s) as shown. 4

Q X

© Cambridge University Press & Assessment 2024 Page 8 of 14


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

Question Answer Marks

9(b) Four marks for eight correct outputs 4


Three marks for six or seven correct outputs
Two marks for four or five correct outputs
One mark for two or three correct outputs

P Q R X

0 0 0 1

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 1

Question Answer Marks

10 One mark per mark point (max six) 6

• Declaration of appropriate string variable(s)


• Input of a line of text
• Correct use of LCASE
• Correct use of LENGTH
• Opening of at least one of the required text files using given names
(Main.txt, Lowercase.txt)
• Storing of correct line of text to Main.txt
• Storing of correct lines to Lowercase.txt
• Closing of both text files
• Correct output

For example:

DECLARE LineOfText : STRING


DECLARE LowercaseText: STRING
INPUT LineOfText
OPENFILE Main.txt FOR WRITE
WRITEFILE Main.txt, LineOfText
CLOSEFILE Main.txt
LowercaseText  LCASE(LineOfText)
OUTPUT LowercaseText, LENGTH(LineOfText)
OPENFILE Lowercase.txt FOR WRITE
WRITEFILE Lowercase.txt, LowercaseText
CLOSEFILE Lowercase.txt

© Cambridge University Press & Assessment 2024 Page 9 of 14


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

Question Answer Marks

11(a) One mark per mark point 2

• Fields – 11
• Records – 15

11(b) The Type field contains data that repeats / Data is not unique 1

11(c) Two marks for four correct fields 2


One mark for two or three correct fields

Field Data type

RoomNo // Type alphanumeric

Mon // Tue // Wed // Thu // Fri // Sat // Sun Boolean

Rate$ real

Guests integer

11(d) One mark per mark point 3

• Data from 4 correct columns printed – any number of rows, any order
• Data in rows ordered as shown (row and column) at least two rows
and two columns required
• All data correct with no extra content

Correct output

104S Single 1 72.50


105S Single 1 72.50
201F Family 4 160.00
301D Double 2 200.00
304P Suite 6 700.00

© Cambridge University Press & Assessment 2024 Page 10 of 14


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

Question Answer Marks

12 • AO2 (maximum 9 marks) 15


• AO3 (maximum 6 marks)

Data Structures required with names as given in the scenario:


Arrays or lists Rooms[], Dimensions[]

Variables Number

Requirements (techniques):

R1 Input and store number of rooms, the names of the rooms and their
dimensions, including validation of number of rooms (input with prompts,
(nested) iteration, use of variables, 1D and 2D arrays, validation).
R2 Calculate and store the area of each room, the total area of the house
and the average room area rounded to two decimal places. Find the
smallest and largest rooms (calculation, totalling, rounding, finding
maximum and minimum values, iteration).
R3 Output the results, including contents of the arrays and the calculated
data (iteration, output).

Example 15-mark answer in pseudocode

© Cambridge University Press & Assessment 2024 Page 11 of 14


0984/22 Cambridge IGCSE (9–1) – Mark Scheme Oct/Nov 2024
PUBLISHED

Question Answer Marks

12 Example 15-mark answer in pseudocode 15

1 mark for input and validation of Number

// input and validation of number of rooms (could be repeat until)

OUTPUT "How many rooms are in your house (enter a number between 3 and 20 inclusive)?"

INPUT Number

WHILE Number < 3 OR Number > 20 DO

OUTPUT "The number of rooms must be between 3 and 20 inclusive, please try again"

INPUT Number

ENDWHILE

1 mark for correct loop counter

// input of room names and dimensions – could be more than one loop

FOR Col <- 1 TO Number


1 mark for correct input

OUTPUT "Enter the name of room ", Col

INPUT Rooms[Col]
1 mark for correct input

OUTPUT "Enter the length of the room in metres"

INPUT Dimensions[1, Col]

© Cambridge University Press & Assessment 2024 Page 19 of 26


0984/22 Cambridge IGCSE (9–1) – Mark Scheme Oct/Nov 2024
PUBLISHED

1 mark for correct input

OUTPUT "Enter the width of the room in metres"

INPUT Dimensions[2, Col]

1 mark for correct calculation and ROUND

Dimensions[3, Col] <- ROUND(Dimensions[1, Col] * Dimensions[2, Col], 2)

1 mark for correct calculation

// calculates total area and average area

TotalArea <- TotalArea + Dimensions[Total, 3]

NEXT

1 mark for correct calculation

AverageArea <- ROUND(TotalArea / Number, 2)

// finding largest and smallest rooms


1 mark for correct initialisation

Max <- 0 // any number zero or less

Min <- 100000 // any large enough number

© Cambridge University Press & Assessment 2024 Page 20 of 26


0984/22 Cambridge IGCSE (9–1) – Mark Scheme Oct/Nov 2024
PUBLISHED

FOR Col <- 1 TO Number


1 mark for correct condition and updating max

IF Dimensions[3, Col] > Max THEN

Max <- Dimensions[3, Col]

ENDIF
1 mark for correct condition and updating min

IF Dimensions[3, Col] < Min THEN

Min <- Dimensions[3, Col]

ENDIF

NEXT

1 mark for correct output loop

// outputting the results

FOR Col <- 1 TO Number

OUTPUT "Room: ", Rooms[Col]

OUTPUT "Length: ", Dimensions[1, Col], " metres"

OUTPUT "Width: ", Dimensions[2, Col], " metres"

OUTPUT "Area: ", Dimensions[3, Col], " square metres"

Next

© Cambridge University Press & Assessment 2024 Page 21 of 26


0984/22 Cambridge IGCSE (9–1) – Mark Scheme Oct/Nov 2024
PUBLISHED

1 mark for correct output of max and min in a separate loop

FOR Col <- 1 TO Number

IF Dimensions[3, Col] = Max THEN

OUTPUT "The largest room is: ", Rooms[Col]

ENDIF

IF Dimensions[3, Col] < Min THEN

OUTPUT "The smallest room is: ", Rooms[Col]

ENDIF

NEXT

1 mark for correct output

OUTPUT "The total area of the house is: ", TotArea, " square metres"

OUTPUT "The average area of the rooms is: ", AvArea, " square metres"

1 mark for appropriate comments

© Cambridge University Press & Assessment 2024 Page 22 of 26


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

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 At least one Some programming The range of


response. programming techniques used are programming
technique has been appropriate to the techniques used is
used. problem. appropriate to the
Any use of selection, More than one problem.
iteration, counting, technique seen applied All criteria stated for
totalling, input and to the scenario, check the scenario have
output. list of techniques been covered by the
needed. use of appropriate
programming
techniques, check list
of techniques needed.

Some data has been Some of the data The data structures
stored but not structures chosen are chosen are appropriate
appropriately. appropriate and store and store all the data
Any use of variables or some of the data required.
arrays or other required. The data structures
language dependent More than one data used store all the data
data structures e.g. structure used to store required by the
Python lists. data required by the scenario.
scenario.

© Cambridge University Press & Assessment 2024 Page 13 of 14


0478/22 Cambridge IGCSE – Mark Scheme October/November
PUBLISHED 2024

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 Program seen without Program seen with The program has been
response. relevant comments. some relevant fully commented.
comment(s).

Some identifier names The majority of Suitable identifiers with


used are appropriate. identifiers used are names meaningful to
Some of the data appropriately named. their purpose have
structures used have Most of the data been used throughout.
meaningful names. structures used have All of the data
meaningful names. structures used have
meaningful names.

The solution is illogical. The solution contains The program is in a


parts that may be logical order.
illogical.

The solution is The solution contains The solution is


inaccurate in many parts that are accurate.
places. inaccurate. Solution logically
Solution contains few Solution contains lines performs all the tasks
lines of code with of code with some given in the scenario.
errors that attempt to errors that logically Ignore minor syntax
perform a task given in perform tasks given in errors.
the scenario. the scenario. Ignore
minor syntax errors.

The solution attempts The solution attempts The solution meets all
at least one of the to meet most of the the requirements given
requirements. requirements. in the question.
Solution contains lines Solution contains lines Solution performs all
of code that attempt at of code that attempts the tasks given in the
least one task given in most tasks given in the scenario.
the scenario. scenario.

© Cambridge University Press & Assessment 2024 Page 14 of 14

You might also like