0% found this document useful (0 votes)
15 views143 pages

Comp Sc 2020

Uploaded by

meelaanya04
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)
15 views143 pages

Comp Sc 2020

Uploaded by

meelaanya04
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/ 143

Cambridge IGCSE™

* 6 0 8 9 4 1 6 9 5 3 *

COMPUTER SCIENCE 0478/12


Paper 1 Theory February/March 2020

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.

This document has 12 pages. Blank pages are indicated.

DC (CJ/CB) 186307/3
© UCLES 2020 [Turn over
2

1 The Von Neumann model for a computer system uses components, such as registers and buses,
in the fetch-execute cycle.

(a) Draw a line to connect each component to its correct description.

Component Description

Increments to point to the address of


Control Bus
the next instruction to be fetched

Holds the result of a calculation. It is


Program Counter (PC) located within the Arithmetic Logic
Unit (ALU)

Memory Data Register Carries signals to synchronise the


(MDR) fetch-execute cycle

Temporary storage between the


Accumulator (ACC) Central Processing Unit (CPU) and
primary memory
[3]

(b) State two buses, other than the control bus, used in the Von Neumann model for a computer
system.

1 ................................................................................................................................................

2 ................................................................................................................................................
[2]

2 A school network is used to transmit and store data about students.

(a) Different types and methods of transmission can be used to send data across the network.

Three descriptions about data transmission are given.

Tick (3) one Method and tick (3) one Type for each description.

Method Type

Description Serial Parallel Simplex Half- Duplex


(3) (3) (3) duplex (3)
(3)
Data is sent down a single wire in a
single direction only.
Data is sent down multiple wires in
both directions, at the same time.
Data is sent down a single wire in
both directions, but never at the
same time.
[3]
© UCLES 2020 0478/12/F/M/20
3

(b) Parity bits are used to help detect errors in data transmission. A parity bit is added to each
binary value before transmission.

Three binary values are to be transmitted using even parity.

(i) Complete the parity bit that would be added to each binary value for even parity.

Binary value Parity bit


1 1 0 0 1 1 1
1 0 1 0 1 0 1
0 1 1 0 1 0 0

[3]

(ii) A number of errors occurred during data transmission.

State why a parity check may not detect transmission errors.

...........................................................................................................................................

..................................................................................................................................... [1]

(c) Data is encrypted using 128-bit symmetric encryption before it is transmitted.

(i) Explain what is meant by encryption.

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

..................................................................................................................................... [2]

(ii) State how the strength of the encryption can be improved.

...........................................................................................................................................

..................................................................................................................................... [1]

© UCLES 2020 0478/12/F/M/20 [Turn over


4

(d) Describe how the school could prevent the loss of stored data.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [6]

3 Priya studies music at school. She is buying a new computer to complete her school work at home.

(a) Priya has a choice between an internal Hard Disk Drive (HDD) and an internal Solid State
Drive (SSD) to store data.

(i) Give one similarity between an HDD and an SSD.

...........................................................................................................................................

..................................................................................................................................... [1]

(ii) Explain three differences between an HDD and an SSD.

1 ........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

2 ........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

3 ........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................
[3]
© UCLES 2020 0478/12/F/M/20
5

(b) Priya needs to transfer files between the school and her home computer.

Identify one off-line storage device she could use to transport the files.

............................................................................................................................................. [1]

(c) Priya is using sound editing software to record and edit different music tracks.

(i) Identify two input devices she would use for this task.

Device 1 ............................................................................................................................

Device 2 ............................................................................................................................
[2]

(ii) Identify two output devices she would use for this task.

Device 1 ............................................................................................................................

Device 2 ............................................................................................................................
[2]

(d) Priya shares her sound files with other students. Before sharing the sound files, she
compresses the files using lossless compression.

Describe how lossless compression reduces the size of a sound file.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [2]

(e) Priya currently uses MIDI files to store her music. Priya’s friends have asked her if they can
have an MP3 version of the file.

(i) Give two features of a MIDI file.

1 ........................................................................................................................................

...........................................................................................................................................

2 ........................................................................................................................................

...........................................................................................................................................
[2]

© UCLES 2020 0478/12/F/M/20 [Turn over


6

(ii) Give two features of an MP3 file.

1 ........................................................................................................................................

...........................................................................................................................................

2 ........................................................................................................................................

...........................................................................................................................................
[2]

4 Assemblers, compilers and interpreters are types of translators.

Tick (3) to show which statements apply to each translator. Each statement may apply to more
than one type of translator.

Assembler Compiler Interpreter


Statement
(3) (3) (3)
Translates low-level language to machine code
Translates high-level language to machine code
Produces error messages
Translates high-level language one line at a time
Produces an executable file

[5]

5 Programmers can use denary and hexadecimal values. These values are stored in a computer
system using binary.

(a) Explain why binary is used to store data in a computer system.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [2]

© UCLES 2020 0478/12/F/M/20


7

(b) Complete the table to show how the denary value would be stored as binary in an 8-bit
register.

Denary value 8-bit register

129

56

[2]

Working space

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

(c) Complete the table to show how the hexadecimal value 3A9 would be stored as binary in a
12-bit register.

[3]

(d) Identify two uses of hexadecimal values in computer science.

1 ................................................................................................................................................

2 ................................................................................................................................................
[2]

© UCLES 2020 0478/12/F/M/20 [Turn over


8

6 (a) Complete the truth table for the given logic circuit.

Do not attempt to simplify the logic circuit.

B X

Working space
A B C X

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]

© UCLES 2020 0478/12/F/M/20


9

(b) A water control system uses a switch and two pressure sensors.

The outputs of the switch and sensors are shown in the table.

Sensor or Switch Output of 1 Output of 0


Switch
On Off
(S1)
Pressure Sensor
>= 3 <3
(P1)
Pressure Sensor
>= 3 <3
(P2)

Create a logic circuit that will produce an output (X) of 1 when:

The switch S1 is on

and

either P1 is less than 3 or P2 is less than 3, but not both.

All logic gates used must have a maximum of two inputs.

S1

P1 X

P2

[4]

© UCLES 2020 0478/12/F/M/20 [Turn over


10

7 A room has an automatic lighting system. Electric lights are automatically turned on when a person
enters the room and the natural light level in the room is 10 or less.

Explain how sensors and a microprocessor are used to control the electric lights in the room.

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

.................................................................................................................................................... [7]

© UCLES 2020 0478/12/F/M/20


11

8 A student website provides research support and software downloads.

(a) Students use a browser to access the web pages. Explain the role of a browser in this process.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [5]

(b) The website owners are worried about a denial of service (DoS) attack.

Explain the term denial of service attack.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [3]

(c) The website owners are also concerned about the ethical issues of copyright and plagiarism.

(i) State what is meant by the term copyright.

...........................................................................................................................................

..................................................................................................................................... [1]

(ii) State what is meant by the term plagiarism.

...........................................................................................................................................

..................................................................................................................................... [1]

© UCLES 2020 0478/12/F/M/20


12

BLANK PAGE

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 the Cambridge Assessment Group. Cambridge Assessment is the brand name of the University of
Cambridge Local Examinations Syndicate (UCLES), which itself is a department of the University of Cambridge.

© UCLES 2020 0478/12/F/M/20


Cambridge IGCSE™

COMPUTER SCIENCE 0478/12


Paper 1 March 2020
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 March 2020 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.

© UCLES 2020 [Turn over


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
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 descriptors 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.

© UCLES 2020 Page 2 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
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.

© UCLES 2020 Page 3 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Mark

1(a) 3
Component Description

Increments to point to the address


Control Bus of the next instruction to be
fetched

Holds the result of a calculation. It


Program Counter (PC) is located within the Arithmetic
Logic Unit (ALU)

Memory Data Register Carries signals to synchronise the


(MDR) fetch-execute cycle

Temporary storage between the


Accumulator (ACC) Central Processing (CPU) and
primary memory

1 mark for 1 correct line


2 marks for 2 correct lines
3 marks for 3/4 correct lines

1(b) Any two from: 2


• Address bus
• Data bus

© UCLES 2020 Page 4 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Mark

2(a) 1 mark per each correct row: 3

Method Type

Description Half-
Serial Parallel Simplex Duplex
duplex
() () () ()
()

Data is sent down a single wire in a single


 
direction only.

Data is sent down multiple wires in both


 
directions, at the same time.

Data is sent down a single wire in both


 
directions, but never at the same time.

2(b)(i) 1 mark for each correct parity bit: 3

Binary Value Parity Bit

1 1 0 0 1 1 1 1

1 0 1 0 1 0 1 0

0 1 1 0 1 0 0 1

2(b)(ii) Any one from: 1


• Transposition error // bits are interchanged
• Bits still add up to even number
• Even number of errors has occurred

© UCLES 2020 Page 5 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Mark

2(c)(i) Any two from: 2


• Scrambles data
• … making it meaningless/unintelligible
• Uses an algorithm / key
• Data / plain text is changed to cipher text

2(c)(ii) Any one from: 1


• Increase the length of the key // use more than 128 bits
• Uses a more complex encryption algorithm

© UCLES 2020 Page 6 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Mark

2(d) Any six from (max four for identification of method only): 6

• Backups
• … if data is lost can be replaced

• Install antivirus // Anti malware


• … detects/deletes viruses that could corrupt/delete data

• Install firewall
• … helps prevent hackers gaining access and deleting/corrupting data

• Password / Biometrics
• Two factor authentication // two-step verification
• … helps prevent unauthorised access and the deletion/corruption of data

• Access rights
• … helps prevent users accessing data they should not see and deleting it

• Network/usage policy
• … gives users guidance on data use // by example

• Surge protection // Uninterrupted power supply (UPS)


• … prevents loss of data that has not been saved
• … prevents damage to hardware (that stores data)

• Physical method // by example


• … helps prevent unauthorised access and the deletion/corruption of data

© UCLES 2020 Page 7 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Mark

3(a)(i) Any one from: 1


• They are both non-volatile
• They are both secondary storage // Both not directly accessed by the CPU
• They both have a high capacity of storage
• Both have read and write abilities

3(a)(ii) Any three from: 3


• HDD has moving parts but SSD does not
• HDD uses magnetic storage whereas SSD uses flash memory
• HDD is slower to access data than SSD // HDD has greater latency than SSD
• HDD will create noise/heat, whereas SSD runs quieter/cooler
• HDD has higher power consumption than SSD
• HDD have greater longevity/more read-write cycles whereas SDD has lower longevity/limited number of read-write cycles
• HDD larger in physical size/heavier than SSD
• HDD is normally cheaper for the same capacity of storage as SSD
• HDD is available in a larger storage capacity than SSD

3(b) Any one from: 1


• USB flash memory drive
• External HDD/SSD
• SD Card
• CD / DVD / Blu-ray

3(c)(i) Any two from: 2


• Keyboard
• Mouse
• Microphone
• Touchscreen

3(c)(ii) Any two from: 2


• Monitor / Screen
• Speakers
• Headphones
• Printer

© UCLES 2020 Page 8 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Mark

3(d) Any two from: 2


• Uses a compression algorithm
• Does not permanently remove any data
• Repeated patterns of notes are identified …
• … and are grouped, with an index

NOTE: Other possible methods of lossless compression of sound can be credited

3(e)(i) Any two from: 2


• Stores the notes played and not the sound
• Contains instructions/commands for digital instruments // Is recorded / played on a digital instrument e.g. synthesiser
• Stores data about notes e.g. pitch byte (Note: Two examples can be awarded)
• Can be a compressed format
• Can edit individual notes

3(e)(ii) Any two from: 2


• Contains actual sound
• Contains samples of the sound wave
• Contains metadata // by example
• Uses lossy compression
• Recorded using microphone // Is recorded/played on an MP3 recorder/player

© UCLES 2020 Page 9 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Mark

4 5
Assembler Compiler Interpreter
Statement
() () ()

Translates low-level language to machine code  

Translates high-level language to machine code  () 

Produces error messages ()  

Translates high-level language one line at a time  

Produces an executable file () 

1 mark per each correct row:

NOTE: tick shown in brackets () is optional

Question Answer Mark

5(a) Any two from: 2


• Computer consist of transistors / logic circuits
• … that can only store/process data in two states / as high-low / on-off / 1 and 0

5(b) 1 mark per each correct 8-bit binary value: 2

Denary Value 8-bit binary register

129 10000001

56 00111000

© UCLES 2020 Page 10 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Mark

5(c) 1 mark per each correct conversion: 3

0 0 1 1 1 0 1 0 1 0 0 1

1 mark 1 mark 1 mark

5(d) Any two from: 2


• Represent colours in HTML // HTML colour codes
• MAC address
• Assembly Language
• Error messages
• IP address
• ASCII values
• URL
• Memory dump
• Memory locations

© UCLES 2020 Page 11 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Mark

6(a) 4
A B C Working space X

0 0 0 0

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

4 marks for 8 correct outputs


3 marks for 6/7 correct outputs
2 marks for 4/5 correct outputs
1 mark for 2/3 correct outputs

© UCLES 2020 Page 12 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Mark

6(b) 1 mark for each correct logic gate: 4

NOTE: Can also award 4 marks to a circuit that shows X = (P1 XOR P2) AND (S1)

Question Answer Mark

7 Any seven from: 7


• Uses light sensor and Infrared / Motion / Pressure sensor
• Sensors send data to the microprocessor
• Data is converted from analogue to digital (using ADC)
• Microprocessor compares both values to stored values
• If motion value is out of range/in range, light value is checked // If light value is <= 10, motion value is checked
• If light value is <= 10 lights are turned on // If motion value is out of range/in range lights are turned on …
• … by sending a signal to actuator
• Lights remain on for set period (and then turn off) // If motion is in range/out of range or light is > 10 then signal sent to
turn lights off
• Process repeats / is continuous

© UCLES 2020 Page 13 of 14


0478/12 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Mark

8(a) Any five from: 5


• Sends the URL of the website
• … to a DNS to find the IP address
• Connects to the webserver (using the IP address) …
• … using HTTP / HTTPS
• Renders/Translates the HTML
• Runs active/client-side scripts built into webpages
• Manages SSL/TLS certificate process
• Stores/retrieves cookies

8(b) Any three from: 3


• Webserver is sent multiple requests // Requests flood the webserver …
• … at the same time
• Webserver crashes / runs slow
• Designed to prevent access to e.g. a website // Stops legitimate requests being processed/serviced

8(c)(i) • A law/legislation that requires permission to use intellectual property / other people’s work 1

8(c)(ii) Any one from: 1


• To claim other’s work as your own
• To use other people’s work without consent / acknowledgement
• Theft of intellectual property

© UCLES 2020 Page 14 of 14


Cambridge IGCSE™
* 4 6 4 3 3 9 9 2 4 4 *

COMPUTER SCIENCE 0478/22


Paper 2 Problem-solving and Programming February/March 2020

1 hour 45 minutes

You must answer on the question paper.

No additional materials are needed.

INSTRUCTIONS
● Answer all questions.
● Do not attempt Tasks 1, 2 and 3 in the copy of the pre-release material on page 2; these are for
information only.
● 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 50.
● 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.

This document has 16 pages. Blank pages are indicated.

DC (CJ/FC) 184904/3
© UCLES 2020 [Turn over
2

Section A

You are advised to spend no longer than 40 minutes answering this section.
Here is a copy of the pre-release material.
DO NOT attempt Tasks 1, 2 and 3 now.
Use the pre-release material and your experience from attempting the tasks before the examination to
answer Question 1.
Pre-release material

A car buying service helps customers calculate the price of buying a new car from Snazzy Autos.
There are three models of car available: hatchback, saloon and estate. A car can be bought with
optional extras.

Model Price Optional extra Price


Hatchback Rs 5.35 lakh Set of luxury seats Rs 45000
Saloon Rs 4.95 lakh Satellite navigation Rs 5500
Estate Rs 6.25 lakh Parking sensors Rs 10000
Bluetooth connectivity Rs 350
Sound system Rs 1000
Snazzy Autos customers buying a new car can trade in an old car. Offers from Rs 10000 to
Rs 1.00 lakh can be made for an old car. If an old car is not traded in, then a discount of 5% is taken
off the price of the new car and any optional extras. In addition, repeat customers are offered a
discount of 10% off any optional extras and 10% off the price of the new car before trade-in.
Customers can either pay for the new car in full or make monthly payments over several years.
Write and test a program or programs for the car buying service.
• Your program or programs must include appropriate prompts for the entry of data; data must be
validated on entry.
• Error messages and other output need to be set out clearly and understandably.
• All variables, constants and other identifiers must have meaningful names.
You will need to complete these three tasks. Each task must be fully tested.
Task 1 – Calculate the price
Customers choose the model of car and select any optional extras required. Only valid choices can
be accepted for the model and the extras. The customer is asked if they are an existing customer and
if they have an old car to trade in. If the customer trades in an old car the amount offered by Snazzy
Autos is entered. The price of the new car including model and extras is displayed. Any discount or
trade-in amounts are displayed and the total price to pay is calculated and displayed.
Task 2 – Calculate the payment(s)
Extend Task 1 to display these payment methods:
• full amount paid now customer receives cashback of 1% on the total price
• equal monthly payments are made over four years with no extra charge
• the total price is increased by 5%; equal monthly payments are made over seven years.
For each payment method display: the total amount to pay, the amount of each payment, the number
of payments and cashback where appropriate.
Task 3 – New full amount payment offer
Extend Task 2 to offer customers who decide to pay the full amount now either the 1% cashback or
the chosen optional extras free. Customers are shown the offer that is the best value first and the
other as an alternative. Details of each offer must be displayed in full.
© UCLES 2020 0478/22/F/M/20
3

1 All variables, constants and other identifiers must have meaningful names.

(a) State the name of one constant that you could have used for Task 1. Give the value that
would be assigned to the constant. State the use of this constant.

Constant name .........................................................................................................................

Value .........................................................................................................................................

Use ...........................................................................................................................................

...................................................................................................................................................
[3]

(b) State the name of the variable that you used to store the amount offered for the trade-in of
an old car in Task 1. Give the most appropriate data type for this variable. Explain how your
program ensured that any data entered for the trade-in offer was valid.

Variable name ...........................................................................................................................

Data type ..................................................................................................................................

Validation ..................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................
[4]

© UCLES 2020 0478/22/F/M/20 [Turn over


4

(c) Snazzy Autos has decided to add another model to the cars available in Task 1. The new
model is a convertible, price Rs 6.75 lakh. Explain the changes required to your program for
Task 1.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [4]

© UCLES 2020 0478/22/F/M/20


5

(d) Write an algorithm for Task 2, using either pseudocode, programming statements or a
flowchart. Assume that Task 1 has been completed.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [5]

© UCLES 2020 0478/22/F/M/20 [Turn over


6

(e) Explain how your program completed Task 3. Assume that Task 2 has been completed.
Any programming statements used in your answer must be fully explained.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [4]

© UCLES 2020 0478/22/F/M/20


7

Section B starts on page 8.

© UCLES 2020 0478/22/F/M/20 [Turn over


8

Section B

2 (a) An algorithm has been written in pseudocode to input 50 numbers. Positive numbers are
stored in the array PosNum[ ]. Negative numbers are stored in the array NegNum[ ].
Zeros are not included in the positive and negative counts.

Count 0 ←
PosCount Count ←
NegCount Count ←
REPEAT
INPUT Number
IF Number > 0
THEN
PosCount PosCount + 1 ←
PosNum[PosCount] Number ←
ELSE
NegCount NegCount + 1 ←
NegNum[NegCount] Number ←
ENDIF
Count ←
Count + 1
UNTIL Count >= 50
OUTPUT "There are ", PosCount," positive numbers"
OUTPUT "There are ", NegCount," negative numbers"

Describe the error in the pseudocode and write the correction for this error.

Error ..........................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

Correction .................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................
[4]

© UCLES 2020 0478/22/F/M/20


9

(b) The algorithm needs to be changed so there is no limit to how many numbers can be input.
When the number 9999 is input, the algorithm stops more numbers being input and outputs
the results. The number 9999 is not to be stored nor counted as a positive number.

Explain how you would change the algorithm.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [4]

© UCLES 2020 0478/22/F/M/20 [Turn over


10

3 This flowchart inputs student percentage marks for three examinations. If the average of these
marks is 80% or over then a distinction grade is awarded. If the average of these marks is less
than 40% then a fail grade is awarded. Otherwise a pass grade is awarded.

START

INPUT
Mark1,Mark2,Mark3

Total Mark1 +
Mark2 + Mark3

Average Total / 3

IS
Yes OUTPUT
Average >= 80 ?
"Distinction"

No

Yes IS
OUTPUT Average < 40 ?
"Fail"

No

OUTPUT
"Pass"

END

© UCLES 2020 0478/22/F/M/20


11

(a) Complete a trace table for each set of input data:

Set 1: 88, 74, 60

Mark1 Mark2 Mark3 Total Average OUTPUT

Set 2: 20, 33, 67

Mark1 Mark2 Mark3 Total Average OUTPUT

Set 3: 79, 91, 70

Mark1 Mark2 Mark3 Total Average OUTPUT

[5]

(b) It has been decided to include an extra grade of Merit when the average of the marks is 60%
or more, and less than 80%. Describe the changes that will need to be made to the flowchart.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [3]

© UCLES 2020 0478/22/F/M/20 [Turn over


12

4 Explain why validation and verification checks are needed when data is input.
Include an example of each type of check in your answer.

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

.................................................................................................................................................... [4]

© UCLES 2020 0478/22/F/M/20


13

Question 5 starts on page 14.

© UCLES 2020 0478/22/F/M/20 [Turn over


14

5 A database table, BOX, is used to keep a record of boxes made and sold by a craftsman. Boxes
are categorised by:

• SIZE – small, medium or large


• SHAPE – brief description for example ‘star shaped’
• WOOD – maple, beech, walnut or ebony
• PRICE – price in $
• SOLD – whether the box is sold or not.

A database management system uses these data types:

Text Number Currency Boolean

(a) Select the most appropriate data type for each field from the four types shown. State the
reason why you chose the data type.

SIZE data type ..........................................................................................................................

Reason .....................................................................................................................................

...................................................................................................................................................

SHAPE data type ......................................................................................................................

Reason .....................................................................................................................................

...................................................................................................................................................

WOOD data type ......................................................................................................................

Reason .....................................................................................................................................

...................................................................................................................................................

PRICE data type .......................................................................................................................

Reason .....................................................................................................................................

...................................................................................................................................................

SOLD data type ........................................................................................................................

Reason .....................................................................................................................................

...................................................................................................................................................
[5]

© UCLES 2020 0478/22/F/M/20


15

(b) (i) Complete the query-by-example grid below to only display the price of small walnut
boxes.

Field:

Table:

Sort:

Show:
Criteria:

or:

[3]

(ii) The query-by-example grid from part (b)(i) needs to be changed to show both walnut
and beech boxes and display the wood used. Only one column needs to be changed.
Write the changed column.

Field:

Table:

Sort:

Show:
Criteria:

or:

[2]

© UCLES 2020 0478/22/F/M/20


16

BLANK PAGE

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 the Cambridge Assessment Group. Cambridge Assessment is the brand name of the University of
Cambridge Local Examinations Syndicate (UCLES), which itself is a department of the University of Cambridge.

© UCLES 2020 0478/22/F/M/20


Cambridge IGCSE™

COMPUTER SCIENCE 0478/22


Paper 2 March 2020
MARK SCHEME
Maximum Mark: 50

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 March 2020 series for most Cambridge
IGCSE™, Cambridge International A and AS Level components and some Cambridge O Level components.

This document consists of 9 printed pages.

© UCLES 2020 [Turn over


0478/22 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
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 descriptors 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.

© UCLES 2020 Page 2 of 9


0478/22 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
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.

© UCLES 2020 Page 3 of 9


0478/22 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Marks

Section A

1(a) Any appropriate constant, for example: 3


Constant name noTradeInDiscount
Value 0.05/5
Use Storing the percentage discount if no car is traded in

1(b) Variable name TradeInValue // any suitable variable name for trade-in amount 4

Data type real/integer

Validation any two from


• Use of conditional /loop statement / IF … THEN / REPEAT … UNTIL / WHILE
• value input is greater than (or equal to) 10 000/0.1 / less than (or equal to) 100 000/1 / numeric // a value
is actually input // error message for rejected input
• range check // type check // presence check

1(c) Any four from: 4


MP1 Display extra model/choice
MP2 Increase options available to 4
MP3 Extend validation rule / selection statement(s) for input selection
MP4 Store name of extra model e.g. new variable/constant/extra item in array
MP5 Store price of extra model e.g. new variable/ constant/extra item in array
MP6 Change code to calculate price to pay to include extra model

© UCLES 2020 Page 4 of 9


0478/22 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Marks

1(d) Any five from: 5


MP1 Calculate cashback for payment method 1
MP2 Calculate monthly payments for payment method 2
MP3 Calculate amount and monthly payments for payment method 3
MP4 Method 1 – output full amount, one payment and cashback
MP5 Method 2 – output full amount, full amount divided by 48 and 48 payments
MP6 Method 3 – output full amount times 1.05, full amount times 1.05 divided by 84 and 84 payments
MP7 Attempt to output showing all 3 payment methods with appropriate messages (MPs 4,5,6 not awarded)

Sample answer:
PRINT "Full Amount ",amountToPay, " to pay. Number of Payments is 1"
PRINT "Cashback ", amountToPay * 0.01
PRINT "Over four years ",amountToPay, " to pay. Number of Payments is 48"
PRINT "Each monthly payment is ", amountToPay / 48
PRINT "Over seven years ",amountToPay * 1.05, " to pay. Number of Payments is 84"
PRINT "Each monthly payment is ", amountToPay * 1.05 / 84

1(e) Explanation 4
Any four from:
MP1 Use of selection statement to check if customer chose to pay the full amount
MP2 Consideration of special case where there are no optional extras chosen
MP3 Comparison of 1% of total price to pay with the total cost of optional extras
MP4 Use of selection statement to check for the largest value of cashback or extras /smallest amount to pay
MP5 … display the cost of this option first
MP6 … then display the cost of the other option

© UCLES 2020 Page 5 of 9


0478/22 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Marks

Section B

2(a) Error: 4
• Problem with zero …
• … stored in the negative number array // negative number count increases by 1
Correction:
• Replace ELSE with IF
• IF Number < 0 (THEN)

2(b) Explanation: 4
• Replace REPEAT … UNTIL with WHILE … DO … ENDWHILE
• Change condition to WHILE Number <> 9999 DO
• Add / Move INPUT Number to before loop // Move / Add extra INPUT Number at end of loop
• Remove (Count ← 0 and) Count ← Count + 1
Or
Any four from:
• Include an IF statement after INPUT Number / before updating the arrays
• IF Number <> 9999 THEN … or similar
• Move output statements to be executed when Number = 9999
• Change UNTIL Count >= 50 to UNTIL Number = 9999
• Remove (Count ← 0 and) Count ← Count + 1

© UCLES 2020 Page 6 of 9


0478/22 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Marks

3(a) One mark for correct input (all sets) 5


One mark for correct calculations (all sets)
One mark for each correct output

Set 1: 88, 74, 60

Mark1 Mark2 Mark3 Total Average OUTPUT

88 74 60 222 74 Pass

Set 2: 20, 33, 67


Mark1 Mark2 Mark3 Total Average OUTPUT

20 33 67 120 40 Pass

Set 3: 79, 91, 70

Mark1 Mark2 Mark3 Total Average OUTPUT

79 91 70 240 80 Distinction

3(b) Any three from: 3


• Add extra decision box …
• … in an appropriate position between the average calculation and the output
• Check for average greater than or equal to 60 and less than 80
• Output Merit if average greater than or equal to 60 (and less than 80) …
• … otherwise continue

© UCLES 2020 Page 7 of 9


0478/22 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Marks

4 One mark for explaining why a validation check is needed when data is input 4
To check that data is sensible / reasonable / meets required criteria

One mark for explaining why a verification check is needed when data is input
To check that data is not changed on entry

One mark for an example of a validation check


Range check // Length check // Type check

One mark for an example of a verification check


Double entry // Visual check

Question Answer Marks

5(a) One mark for data type and reason 5


SIZE text, expressed as a single word
SHAPE text, short phrase required
WOOD text, expressed as a single word
PRICE currency, needs to be expressed as dollars / may be used in calculations
SOLD Boolean, only two choices

© UCLES 2020 Page 8 of 9


0478/22 Cambridge IGCSE – Mark Scheme March 2020
PUBLISHED
Question Answer Marks

5(b)(i) One mark for 3


• correct field and table names must include SIZE, WOOD and PRICE, allow SHAPE or SOLD
• correct show for PRICE only
• correct criteria to select small and walnut

Field: SIZE WOOD PRICE

Table: BOX BOX BOX

Sort:

Show:    

Criteria: =’small’ =’walnut’

or:

5(b)(ii) 2
Field: WOOD

Table: BOX

Sort:

Show:  (1)

Criteria: =’walnut’ OR ‘beech’ (1)

or:

One mark for each correct alteration max 2

© UCLES 2020 Page 9 of 9


Cambridge IGCSE™
* 9 1 1 9 7 5 8 2 3 8 *

COMPUTER SCIENCE 0478/12


Paper 1 Theory May/June 2020

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.

This document has 12 pages. Blank pages are indicated.

DC (CE/SW) 189019/3
© UCLES 2020 [Turn over
2

1 A Von Neumann model for a computer system has a central processing unit (CPU) that makes
use of registers.

(a) Identify three registers that may be used.

Register 1 .................................................................................................................................

Register 2 .................................................................................................................................

Register 3 .................................................................................................................................
[3]

(b) The CPU is responsible for processing instructions.

One stage of processing instructions is the decode stage.

(i) Identify the two other stages of processing instructions.

Stage 1 ..............................................................................................................................

Stage 2 ..............................................................................................................................
[2]

(ii) Identify the component of the CPU that is responsible for decoding instructions.

..................................................................................................................................... [1]

2 Both an interpreter and a compiler can be used when writing a program in a high-level language.

(a) Explain why a programmer would make use of both an interpreter and a compiler.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [4]

© UCLES 2020 0478/12/M/J/20


3

(b) Give three reasons why a programmer would choose to write a program in a high-level
language, instead of a low-level language.

Reason 1 ..................................................................................................................................

...................................................................................................................................................

Reason 2 ..................................................................................................................................

...................................................................................................................................................

Reason 3 ..................................................................................................................................

...................................................................................................................................................
[3]

3 A company collects and stores data about its customers. The data is stored on a server in the
company’s office.

The data is transmitted to cloud storage to create a back-up.

The data is encrypted using symmetric encryption before it is sent to the cloud storage.

(a) Describe how the data is encrypted.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [4]

(b) Give three other methods that can be used to secure the data in the office.

Method 1 ...................................................................................................................................

...................................................................................................................................................

Method 2 ...................................................................................................................................

...................................................................................................................................................

Method 3 ...................................................................................................................................

...................................................................................................................................................
[3]
© UCLES 2020 0478/12/M/J/20 [Turn over
4

4 (a) Identify the name and draw the single logic gate that can replace the given logic circuits.

(i)
A
X
B

Name of gate: …………………………… Drawing of gate:

[2]

(ii)
A
X
B

Name of gate: …………………………… Drawing of gate:

[2]

(b) Complete the truth table for the given logic statement:

X = (((A OR C) AND (NOT A AND NOT C)) XOR B)

Working space
A B C X

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]

© UCLES 2020 0478/12/M/J/20


5

5 Meena uses a browser to research information for her business.

(a) Give three functions of a browser.

1 ................................................................................................................................................

2 ................................................................................................................................................

3 ................................................................................................................................................
[3]

(b) Meena buys products for her business using the Internet.

The Transport Layer Security (TLS) protocol is used for transferring data when she buys
products.

One layer of the TLS protocol is the handshake layer.

(i) Describe the purpose of the handshake layer.

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

..................................................................................................................................... [2]

(ii) Identify the other layer of the TLS protocol.

..................................................................................................................................... [1]

(iii) Identify another protocol that can be used to transfer data securely.

..................................................................................................................................... [1]

(c) Meena visits a website to buy products for her business.

The browser uses a small file to store the details of the products she views. This allows the
website to display advertisements for other products she may like.

The small file also stores her log-in details.

Give the name of this type of file.

............................................................................................................................................. [1]

© UCLES 2020 0478/12/M/J/20 [Turn over


6

6 Six statements are given about touch screen technology.

Tick (3) to show if the statement applies to Capacitive or Resistive touch screen technology.

Capacitive Resistive
Statement
(3) (3)

Needs pressure to be applied to create a circuit

May not register a touch if the user is wearing gloves

More commonly used in smartphones

More responsive to a touch

Needs an electrical field to be changed to register a touch

Cheaper to manufacture

[6]

© UCLES 2020 0478/12/M/J/20


7

7 (a) Give the denary value of each of the three 12-bit binary values.

(i) 000000001100

..................................................................................................................................... [1]

(ii) 000011000110

..................................................................................................................................... [1]

(iii) 010011000001

..................................................................................................................................... [1]

Working space

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

(b) 12-bit binary values can also be represented as hexadecimal values.

Give the hexadecimal value of the 12-bit binary value.

000011101001

............................................................................................................................................. [3]

© UCLES 2020 0478/12/M/J/20 [Turn over


8

8 Leonard has a new laser printer to print letters for his business.

Leonard connects his printer to his computer using the USB port.

(a) Give three benefits of using the USB port to connect the printer to the computer.

Benefit 1 ...................................................................................................................................

...................................................................................................................................................

Benefit 2 ...................................................................................................................................

...................................................................................................................................................

Benefit 3 ...................................................................................................................................

...................................................................................................................................................
[3]

(b) State two benefits and one drawback of Leonard using a laser printer, instead of an inkjet
printer, to print the letters.

Benefit 1 ...................................................................................................................................

...................................................................................................................................................

Benefit 2 ...................................................................................................................................

...................................................................................................................................................

Drawback ..................................................................................................................................

...................................................................................................................................................
[3]

(c) An interrupt signal is sent from the printer to the computer.

(i) Give two examples of when a printer would generate an interrupt signal.

Example 1 .........................................................................................................................

Example 2 .........................................................................................................................
[2]

(ii) Many devices send interrupt signals.

Identify the software in the computer that will receive and manage all interrupt signals.

..................................................................................................................................... [1]

© UCLES 2020 0478/12/M/J/20


9

9 (a) Six statements are given about storage devices.

Tick (3) to show if the statement applies to hard disk drive (HDD) storage or
solid state drive (SSD) storage.

Some statements can apply to both.

HDD SSD
Statement
(3) (3)

It has a limited number of read/write cycles

It uses magnetic properties to store data

It has moving parts

It is non-volatile storage

It can be used as an external storage device to back up data

It uses flash memory to store data

[6]

(b) Optical storage is another type of storage.

Give two examples of optical storage.

Example 1 .................................................................................................................................

Example 2 .................................................................................................................................
[2]

© UCLES 2020 0478/12/M/J/20 [Turn over


10

10 Uma is concerned about risks that she may encounter when using the Internet.

Two of the risks she is concerned about are phishing and pharming.

(a) Give one similarity and two differences between phishing and pharming.

Similarity ...................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

Difference 1 ..............................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

Difference 2 ..............................................................................................................................

...................................................................................................................................................

...................................................................................................................................................
[3]

(b) Identify two other risks that Uma could encounter when using the Internet.

Risk 1 ........................................................................................................................................

Risk 2 ........................................................................................................................................
[2]

© UCLES 2020 0478/12/M/J/20


11

(c) Uma uses a firewall to secure the data on her computer.

(i) Uma tells her friend that a firewall can only be software-based.

Tick (3) to show whether Uma is Correct or Incorrect.

Correct

Incorrect
[1]

(ii) Describe how the firewall helps to keep Uma’s data secure.

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

..................................................................................................................................... [4]

© UCLES 2020 0478/12/M/J/20


12

BLANK PAGE

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 the Cambridge Assessment Group. Cambridge Assessment is the brand name of the University of
Cambridge Local Examinations Syndicate (UCLES), which itself is a department of the University of Cambridge.

© UCLES 2020 0478/12/M/J/20


Cambridge IGCSE™

COMPUTER SCIENCE 0478/12


Paper 1 May/June 2020
MARK SCHEME
Maximum Mark: 75

Published

Students did not sit exam papers in the June 2020 series due to the Covid-19 global pandemic.

This mark scheme is published to support teachers and students and should be read together with the
question paper. It shows the requirements of the exam. The answer column of the mark scheme shows the
proposed basis on which Examiners would award marks for this exam. Where appropriate, this column also
provides the most likely acceptable alternative responses expected from students. Examiners usually review
the mark scheme after they have seen student responses and update the mark scheme if appropriate. In the
June series, Examiners were unable to consider the acceptability of alternative responses, as there were no
student responses to consider.

Mark schemes should usually be read together with the Principal Examiner Report for Teachers. However,
because students did not sit exam papers, there is no Principal Examiner Report for Teachers for the June
2020 series.

Cambridge International will not enter into discussions about these mark schemes.

Cambridge International is publishing the mark schemes for the June 2020 series for most Cambridge
IGCSE™ and Cambridge International A & AS Level components, and some Cambridge O Level
components.

This document consists of 10 printed pages.

© UCLES 2020 [Turn over


0478/12 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
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 descriptors 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.

© UCLES 2020 Page 2 of 10


0478/12 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
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.

© UCLES 2020 Page 3 of 10


0478/12 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Question Answer Marks

1(a) Any three from: 3


− MAR
− MDR
− PC
− ACC
− CIR // IR

1(b)(i) − Fetch 2
− Execute

1(b)(ii) − Control unit 1

Question Answer Marks

2(a) Any four from: 4


− To translate the high-level language into low-level language
− Interpreter used whilst writing the program
− Interpreter used to debug code line by line
− Compiler used when program completed
− Compiler used to create separate executable file (so compiler no longer needed)
− If it runs first time in a compiler there are no syntax errors

2(b) Any three from: 3


− Easier to understand // Don’t know assembly code
− Easier to debug
− Easier to maintain
− Portable
− Knowledge of manipulating memory locations/registers not required
− Can use an IDE
− Greater range of languages

© UCLES 2020 Page 4 of 10


0478/12 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Question Answer Marks

3(a) Any four from: 4


− Encryption key is used
− Encryption algorithm is used
− Encryption key / algorithm is applied to plain text
− … to convert it into cypher text
− Same key is used to encrypt and decrypt the text

3(b) Any three from: 3


− Firewall
− Password
− Proxy server
− Physical methods (by example e.g. CCTV, Locks)

Question Answer Marks

4(a)(i) − NAND 2

4(a)(ii) − NOR 2

© UCLES 2020 Page 5 of 10


0478/12 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Question Answer Marks

4(b) 4
A B C Working space X

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1
4 marks for 8 correct outputs
3 marks for 6 or 7 correct outputs
2 marks for 4 or 5 correct outputs
1 mark for 2 or 3 correct outputs

Question Answer Marks

5(a) Any three from: 3


− Convert HTML code
− Display web pages
− Check if a website is secure
− Request web pages from a web server
− Send URL/domain name
− Runs active script
− Store history/favourites/bookmarks
− Create tabs

© UCLES 2020 Page 6 of 10


0478/12 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Question Answer Marks

5(b)(i) − Carries out authentication of server and client 2


− Handles encryption algorithms / keys

5(b)(ii) − Record layer 1

5(b)(iii) Any one from: 1


− SSL
− HTTPS

5(c) − Cookies 1

Question Answer Marks

6 6
Capacitive Resistive
Statement
() ()

Needs pressure to be applied to create a circuit 

May not register a touch if the user is wearing



gloves

More commonly used in smartphones 

More responsive to a touch 

Needs an electrical field to be changed to



register a touch

Cheaper to manufacture 

One mark per correct tick

© UCLES 2020 Page 7 of 10


0478/12 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Question Answer Marks

7(a)(i) − 12 1

7(a)(ii) − 198 1

7(a)(iii) − 1217 1

7(b) One mark per each correct hex value in correct order 3
− 0E9

Question Answer Marks

8(a) Any three from: 3


− It is a universal standard
− It can’t be inserted the wrong way around
− Supports different transmission speeds
− Automatically detects if correct driver installed

8(b) Two marks for benefits, one mark for drawback 3


Benefits:
− Faster speed of printing
− Can print duplex / on both sides
− Many letters can be printed from one toner cartridge
− Can print in high volumes
Drawback
− Toner cartridge more expensive to buy
− More time to warm-up
− Larger footprint

© UCLES 2020 Page 8 of 10


0478/12 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Question Answer Marks

8(c)(i) Any two from: 2


− Paper jam
− Out of paper
− Out of toner/ink
− Buffer full
− Awaiting input
− Print complete
− Printer ready

Award any other valid example

8(c)(ii) − Operating system 1

Question Answer Marks

9(a) 6
HDD SSD
Statement
() ()

It has a limited number of read/write cycles 

It uses magnetic properties to store data 

It has moving parts 

It is non-volatile storage  

It can be used as an external storage device to back-up data  

It uses flash memory to store data 

© UCLES 2020 Page 9 of 10


0478/12 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Question Answer Marks

9(b) Any two from: 2


− CD drive
− DVD drive
− Blu-ray drive

Question Answer Marks

10(a) One mark for similarity, two marks for differences 3


Similarity:
− Both are designed to steal personal data
− They both pose as a real company/person
Differences:
− Pharming uses malicious code installed on hard drive
− Phishing is in form of an email
− Phishing requires use to follow a link / open an attachment

10(b) − Virus 2
− Malware

10(c)(i) − Incorrect 1

10(c)(ii) Any four from: 4


− Can help prevent hacking
− Can monitor incoming and outgoing traffic
− Can set criteria / rules are set for traffic
− Can check whether traffic meets / defies criteria rules
− Can rejects any traffic that does not meet / defies criteria

© UCLES 2020 Page 10 of 10


Cambridge IGCSE™
* 2 0 3 5 3 9 2 7 0 5 *

COMPUTER SCIENCE 0478/22


Paper 2 Problem-solving and Programming May/June 2020

1 hour 45 minutes

You must answer on the question paper.

No additional materials are needed.

INSTRUCTIONS
● Answer all questions.
● Do not attempt Tasks 1, 2 and 3 in the copy of the pre-release material on page 2; these are for
information only.
● 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 50.
● 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.

This document has 16 pages. Blank pages are indicated.

DC (CJ/FC) 184928/3
© UCLES 2020 [Turn over
2

Section A

You are advised to spend no longer than 40 minutes answering this section.
Here is a copy of the pre-release material.
DO NOT attempt Tasks 1, 2 and 3 now.
Use the pre-release material and your experience from attempting the tasks before the examination to
answer Question 1.
Pre-release material
A car park payment system allows customers to select the number of hours to leave their car in the
car park. The customer will get a discount if they enter their frequent parking number correctly. The
system calculates and displays the amount the customer must pay. The price of parking, the number
of hours the customer can enter, and any discount depend upon the day of the week and the arrival
time. The number of hours entered is a whole number. The price per hour is calculated using the
price in force at the arrival time. No parking is allowed between Midnight and 08:00.
Arrival time
Day of the week From 08:00 to 15:59 From 16:00 to Midnight
Max stay in hours Price per hour Hours Price
Sunday 8 2.00 Up to Midnight 2.00
Monday 2 10.00 Up to Midnight 2.00
Tuesday 2 10.00 Up to Midnight 2.00
Wednesday 2 10.00 Up to Midnight 2.00
Thursday 2 10.00 Up to Midnight 2.00
Friday 2 10.00 Up to Midnight 2.00
Saturday 4 3.00 Up to Midnight 2.00

A frequent parking number can be entered for discounted parking. This number consists of 4 digits
and a check digit that is calculated using a modulo 11 check digit calculation. A discount of 50% is
available for arrival times from 16:00 to Midnight; the discount is 10% at all other arrival times.
Write and test a program or programs to simulate the car park payment system.
• Your program or programs must include appropriate prompts for the entry of data; data must be
validated on entry.
• Error messages and other output need to be set out clearly and understandably.
• All variables, constants and other identifiers must have meaningful names.
You will need to complete these three tasks. Each task must be fully tested.
Task 1 – Calculating the price to park.
A customer inputs the day, the hour of arrival excluding minutes (for example 15:45 would be 15),
the number of hours to leave their car, and a frequent parking number if available. If the frequent
parking number has an incorrect check digit, then no discount can be applied. The price to park,
based on the day, the hour of arrival, the number of hours of parking required and any discount
available, is calculated and displayed.
Task 2 – Keeping a total of the payments.
Extend Task 1 to keep a daily total of payments made for parking. The daily total is zeroed at the
start of the day. For the simulation, each customer inputs the amount paid, this must be greater than
or equal to the amount displayed. There is no change given so the amount input may exceed the
amount displayed. Each customer payment is added to the daily total, and this total is displayed at
the end of the day.
Task 3 – Making payments fairer.
Customers have complained that sometimes they are being charged too much if they arrive before
16:00 and depart after 16:00. Extend Task 1 to calculate the price before 16:00, then add the
evening charge. For example, a customer arriving at 14:45 on a Sunday and parking for five hours
was previously charged 10.00 and would now be charged 6.00

© UCLES 2020 0478/22/M/J/20


3

1 All variables, constants and other identifiers must have meaningful names.

(a) Identify two variables that you could have used for Task 1. Give the data type and state the
use of each variable.

Variable 1 ..................................................................................................................................

Data type ..................................................................................................................................

Use ...........................................................................................................................................

...................................................................................................................................................

Variable 2 ..................................................................................................................................

Data type ..................................................................................................................................

Use ...........................................................................................................................................

...................................................................................................................................................
[4]

(b) Data input by a customer for Task 1 includes the day and the hour of arrival.

Identify one suitable validation check for each input and justify your choice. Your validation
checks must be different.

Day of arrival – validation check ...............................................................................................

...................................................................................................................................................

Justification ...............................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

Hour of arrival – validation check .............................................................................................

...................................................................................................................................................

Justification ...............................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................
[4]

© UCLES 2020 0478/22/M/J/20 [Turn over


4

(c) Explain how your program for Task 1 ensured that the frequent parking number entered by
the customer had a valid check digit.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [4]

(d) Write an algorithm for part of Task 2 that simulates customer payment and calculating total
payments using either pseudocode, programming statements or a flowchart. Assume that
Task 1 has been completed.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................
© UCLES 2020 0478/22/M/J/20
5

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [4]
© UCLES 2020 0478/22/M/J/20 [Turn over
6

(e) Explain how your program completed Task 3. Assume that Task 2 has been completed. Any
programming statements used in your answer must be fully explained.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [4]

© UCLES 2020 0478/22/M/J/20


7

Section B

2 Most programming languages include basic data types. Ahmad is describing the basic data types
he has used.

State the data type that Ahmad is describing in each sentence.

Choose the data type from this list of programming terms.

Array Boolean Char Constant Function Integer

Iteration Procedure Real String Variable

A number with a fractional part that can be positive or negative and used in calculations

Data type ..........................................................................................................................................

A whole number that can be positive, negative or zero and used in calculations

Data type ..........................................................................................................................................

A single number, symbol or letter

Data type ..........................................................................................................................................

A sequence of characters

Data type ..........................................................................................................................................

A data type with two values, True or False

Data type ..........................................................................................................................................


[5]

© UCLES 2020 0478/22/M/J/20 [Turn over


8

3 (a) An algorithm has been written in pseudocode to input the names and marks of 35 students.
The algorithm stores the names and marks in two arrays Name[ ] and Mark[ ]. The highest
mark awarded is found and the number of students with that mark is counted. Both of these
values are output.

01 HighestMark 100 ←
02 HighestMarkStudents 0 ←
03 FOR Count ←
1 TO 35
04 OUTPUT "Please enter student name"
05 INPUT Name[Count]
06 OUTPUT "Please enter student mark"
07 INPUT Mark[Counter]
08 IF Mark[Count] = HighestMark
09 THEN
10 HighestMarkStudents HighestMarkStudents – 1 ←
11 ENDIF
12 IF Mark[Count] > HighestMark
13 THEN
14 Mark[Count] HighestMark ←
15 HighestMarkStudents 1 ←
16 ENDIF
17 NEXT Count
18 OUTPUT "There are ", HighestMarkStudents," with the highest mark of ",
HighestMark

Give line numbers where the four errors are to be found in the pseudocode. Suggest a
correction for each error.

Error 1 line number ...................................................................................................................

Correction .................................................................................................................................

...................................................................................................................................................

Error 2 line number ...................................................................................................................

Correction .................................................................................................................................

...................................................................................................................................................

Error 3 line number ...................................................................................................................

Correction .................................................................................................................................

...................................................................................................................................................

Error 4 line number ...................................................................................................................

Correction .................................................................................................................................

...................................................................................................................................................
[4]

© UCLES 2020 0478/22/M/J/20


9

(b) Explain how you could extend the algorithm to also find the lowest mark awarded, count the
number of students with that mark, and output both these values.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [6]
© UCLES 2020 0478/22/M/J/20 [Turn over
10

4 This flowchart inputs the points won and the points lost when playing a game. The difference
between the points won and lost is calculated and depending on the result the player can: move
up to the next level, stay at the same level, or move down to the previous level. The flowchart
finishes when the input for points won is –1.

START

INPUT
PointsWon, PointsLost

IS
Yes END
PointsWon = –1 ?

No

Difference
PointsWon - PointsLost

OUTPUT IS
Yes
"Well done Difference > =
move up" 1000 ?

No

OUTPUT Yes IS
"Sorry move Difference < 0 ?
down"

No

OUTPUT
"Keep on trying"

© UCLES 2020 0478/22/M/J/20


11

(a) Complete a trace table for this set of input data:


5000, 4474, 6055, 2000, 7900, 9800, 3000, 2150, –1, 6700, 7615

PointsWon PointsLost Difference OUTPUT

[3]

(b) The flowchart needs to be changed. When the difference is more than 5000 the output
message is ‘Fantastic leap up two levels’.

Describe the changes that will need to be made to the flowchart.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [3]

© UCLES 2020 0478/22/M/J/20 [Turn over


12

5 Arrays are data structures used in programming. Explain what is meant by the terms dimension
and index in an array. Use examples of arrays in your explanations.

Dimension ........................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

Index ................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................
[3]

© UCLES 2020 0478/22/M/J/20


13

6 A database table, JUICE, is used to keep a record of cartons of fresh fruit juice available for sale.

Juice code Fruit 1 Fruit 2 Size Volume (ml) Stock level


LMO10 Mango Orange Large 1000 18
MOO05 Orange Orange Medium 500 8
SAM02 Apple Mango Small 200 25
SAA02 Apple Apple Small 200 50
SPP02 Pineapple Pineapple Small 200 10
MMM05 Mango Mango Medium 500 12
LMM10 Mango Mango Large 1000 5
MGG05 Guava Guava Medium 500 5
SMO02 Mango Orange Small 200 7
MOP05 Orange Pineapple Medium 500 12
LAA10 Apple Apple Large 1000 32
SGO02 Guava Orange Small 200 10
LPP10 Pineapple Pineapple Large 1000 3
LOO10 Orange Orange Large 1000 25
SOO02 Orange Orange Small 200 40

(a) Identify a suitable field to use as the primary key. State a reason for your choice.

Field ..........................................................................................................................................

Reason ......................................................................................................................................

...................................................................................................................................................
[2]

(b) Complete the query-by-example grid to display only the stock level and size of all cartons
containing only apple juice.

Field:
Table:
Sort:
Show:
Criteria:
or:
[4]

© UCLES 2020 0478/22/M/J/20


14

BLANK PAGE

© UCLES 2020 0478/22/M/J/20


15

BLANK PAGE

© UCLES 2020 0478/22/M/J/20


16

BLANK PAGE

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 the Cambridge Assessment Group. Cambridge Assessment is the brand name of the University of
Cambridge Local Examinations Syndicate (UCLES), which itself is a department of the University of Cambridge.

© UCLES 2020 0478/22/M/J/20


Cambridge IGCSE™

COMPUTER SCIENCE 0478/22


Paper 2 May/June 2020
MARK SCHEME
Maximum Mark: 50

Published

Students did not sit exam papers in the June 2020 series due to the Covid-19 global pandemic.

This mark scheme is published to support teachers and students and should be read together with the
question paper. It shows the requirements of the exam. The answer column of the mark scheme shows the
proposed basis on which Examiners would award marks for this exam. Where appropriate, this column also
provides the most likely acceptable alternative responses expected from students. Examiners usually review
the mark scheme after they have seen student responses and update the mark scheme if appropriate. In the
June series, Examiners were unable to consider the acceptability of alternative responses, as there were no
student responses to consider.

Mark schemes should usually be read together with the Principal Examiner Report for Teachers. However,
because students did not sit exam papers, there is no Principal Examiner Report for Teachers for the June
2020 series.

Cambridge International will not enter into discussions about these mark schemes.

Cambridge International is publishing the mark schemes for the June 2020 series for most Cambridge
IGCSE™ and Cambridge International A & AS Level components, and some Cambridge O Level
components.

This document consists of 8 printed pages.

© UCLES 2020 [Turn over


0478/22 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
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 descriptors 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.

© UCLES 2020 Page 2 of 8


0478/22 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
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.

© UCLES 2020 Page 3 of 8


0478/22 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Section A

Question Answer Marks

1(a) For two variables 4


One mark for identification of a variable with a suitable data type and one mark for its use

Variable hourArrived
Data type integer
Use to calculate the price based on the number of hours parking

Variable priceToPay
Data type real
Use store result of price calculation

Many correct answers, these are examples only.

1(b) For each validation check 4


One mark for identification of a check and one mark for the justification

Day
Check presence check
Justification need to enter day to be able to calculate price

Hour
Check range check
Justification need to check hour is between 8 and 23

Many correct answers, these are examples only.

© UCLES 2020 Page 4 of 8


0478/22 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Question Answer Marks

1(c) Any four from: 4


• All 5 digits input
• Each of the first 4 digits is multiplied by a weight based on its position
• Specific method of individualising the digits described
• Added together divided by 11
• Remainder used to calculate correct 5th digit
• Checked against 5th digit input
• If the same, then valid

1(d) Any four from: 4


• Input amount
• Check amount greater than or equal to the price to pay …
• … True – add amount to daily total
• … False – ask for payment to be re-entered
• … Until valid amount input
Sample answer
PRINT "Please Enter Payment"
INPUT amount
WHILE amount < priceToPay DO
PRINT "Insufficient payment, please enter new Payment"
INPUT amount
ENDWHILE
totalPayment ← totalPayment + amount

1(e) Explanation 4
Any four from:
• Add number of hours selected to arrival hour
• Check if this is greater than 16
• True – calculate price up to 16 …
• … using current price in force
• … and add in evening charge
• False – calculate price as usual

Programming statements can be used but must be explained.

© UCLES 2020 Page 5 of 8


0478/22 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Section B

Question Answer Marks

2 Real 5
Integer
Char/String
String
Boolean

Question Answer Marks

3(a) One mark for error and correction 4


Line 1 HighestMark ← 0
Line 7 INPUT Mark[Count]
Line 10 HighestMarkStudents ← HighestMarkStudents + 1
Line 14 HighestMark ← Mark[Count]

3(b) Any six from: 6


Add variable LowestMark …
… Set this to a high value for example 100
Add variable LowestMarkStudents …
… Set this to zero
Check if Mark[Count] = LowestMark …
… True – add 1 to LowestMarkStudents
Check if Mark[Count] < LowestMark …
… True – set LowestMarkStudenta to 1 and set LowestMark to Mark[Count]
Add extra output statement

© UCLES 2020 Page 6 of 8


0478/22 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Question Answer Marks

4(a) One mark for correct input (PointsWon and PointsLost) 3


One mark for correct calculations (Difference)
One mark for correct output

PointsWon PointsLost Difference OUTPUT

5000 4474 526 Keep on trying

6055 2000 4055 Well done move up

7900 9800 -1900 Sorry move down

3000 2150 850 Keep on trying

-1 6700

4(b) Any three from: 3


• Add extra decision box …
• … before checking for difference greater than or equal to 1000
// change Is difference >= 1000 to >= 1000 and <= 5000
• Check for difference greater than 5000
• Add extra Output ‘Fantastic leap up two levels’…
• … before flowline returns to input

© UCLES 2020 Page 7 of 8


0478/22 Cambridge IGCSE – Mark Scheme May/June 2020
PUBLISHED
Question Answer Marks

5 One mark for explanation of dimension 3


One mark for explanation of index
One mark for inclusion of an example

The dimension is the number of indexes required to access an element.


The index is the position of the element in an array
For example A[25] is the 25th element of a one-dimensional array.

Question Answer Marks

6(a) One mark for field and one mark for reason 2
Field Juice code
Reason only unique identifier

6(b) 4
Field: Fruit 1 Fruit 2 Size Stock level

Table: JUICE JUICE JUICE JUICE

Sort:

Show:    

Criteria: ="Apple" ="Apple"

or:

One mark for each correct column

© UCLES 2020 Page 8 of 8


Cambridge IGCSE™
* 1 8 6 8 6 1 8 8 1 5 *

COMPUTER SCIENCE 0478/12


Paper 1 Theory October/November 2020

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.

This document has 12 pages. Blank pages are indicated.

DC (LK) 186556/2
© UCLES 2020 [Turn over
2

1 Tina is creating a website for charity events. She uses HTML to create the website.

(a) State what is meant by HTML.

...................................................................................................................................................

............................................................................................................................................. [1]

(b) She uses the hexadecimal colour code #43B7F0 as the background colour for her website.

(i) State whether background colour is an example of structure or presentation, in the


website.

..................................................................................................................................... [1]

(ii) The hexadecimal colour code #43B7F0 is stored in three 8-bit registers.

Give the 8-bit binary values for each part of the hexadecimal code.

43

B7

F0
[6]

(c) Tina uses a microphone to record a welcome message for her website.

(i) State whether the microphone is an input or output device.

..................................................................................................................................... [1]

© UCLES 2020 0478/12/O/N/20


3

(ii) She wants to compress the recording to make sure that the file is as small as possible
for the website.

Identify which type of compression she should use and describe how this would compress
the file for the website.

Type of compression .........................................................................................................

Description

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

..................................................................................................................................... [4]

(iii) Give two benefits of compressing the file for the website.

Benefit 1 ............................................................................................................................

...........................................................................................................................................

Benefit 2 ............................................................................................................................

...........................................................................................................................................
[2]

© UCLES 2020 0478/12/O/N/20 [Turn over


4

(d) Tina will use the TLS protocol in her website when selling tickets to people for different charity
events. This makes sure that their personal data is transmitted securely.

(i) Identify the two layers that are present in the TLS protocol.

Layer 1 ..............................................................................................................................

Layer 2 ..............................................................................................................................
[2]

(ii) Explain how data is sent securely using the TLS protocol.

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

..................................................................................................................................... [6]

© UCLES 2020 0478/12/O/N/20


5

(e) Tina is concerned about security threats to her web server.

(i) Identify three security threats to her web server that Tina might be concerned about.

1 ........................................................................................................................................

2 ........................................................................................................................................

3 ........................................................................................................................................
[3]

(ii) Tina installs a proxy server to help protect her website from security threats.

Describe how the proxy server will help protect the website.

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

..................................................................................................................................... [4]

2 Four 7-bit binary values are transmitted from one computer to another. A parity bit was added
to each binary value creating 8-bit binary values. All the binary values have been transmitted
correctly.

(a) Tick (✓) to show whether an Even or an Odd parity check has been used for each binary
value.

Even Odd
8-bit binary value
(✓) (✓)

11111111

01100110

01111011

10000000
[4]

© UCLES 2020 0478/12/O/N/20 [Turn over


6

(b) The data will also be checked using a checksum.

Describe how a checksum can be used to check that the data has been transmitted correctly.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [5]

3 Alessandro has some important data stored on his computer.

He is concerned about accidental damage to his data.

(a) (i) Identify three ways that the data could be accidentally damaged.

1 ........................................................................................................................................

2 ........................................................................................................................................

3 ........................................................................................................................................
[3]

(ii) State what Alessandro could do to make sure that he can retrieve his data if it is
accidentally damaged.

..................................................................................................................................... [1]

© UCLES 2020 0478/12/O/N/20


7

(b) Alessandro uses an SSD to store his data.

Describe what is meant by an SSD and how it operates to store data.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [4]

(c) Alessandro also uses off-line storage to store his data.

Three examples of off-line storage are Blu-ray, CD and DVD.

Six statements are given about off-line storage.

Tick (✓) to show if each statement applies to Blu-ray, CD, or DVD.

Some statements apply to more than one example of off-line storage.

Blu-ray CD DVD
Statement
(✓) (✓) (✓)

A type of optical storage

Has the largest storage capacity

Can be dual layer

Read using a red laser

Has the smallest storage capacity

Stores data in a spiral track


[6]

© UCLES 2020 0478/12/O/N/20 [Turn over


8

4 Consider the logic statement:

X = (((A NAND B) NOR (B AND C)) OR C)

(a) Draw a logic circuit to match the given logic statement.

All logic gates must have a maximum of two inputs. Do not attempt to simplify the logic
statement.

B X

[4]

(b) Complete the truth table for the given logic statement.

A B C Working space X

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]

© UCLES 2020 0478/12/O/N/20


9

5 Tammy is buying a new computer that has an LED display.

(a) Five statements about LED displays are given.

Tick (✓) to show if each statement is True or False.

True False
Statement
(✓) (✓)

It is a flat panel display

It creates images using red, green and blue diodes

It is not very energy efficient and gives off heat

It can be used in mobile devices such as smartphones and tablets

It is a front-lit display
[5]

© UCLES 2020 0478/12/O/N/20 [Turn over


10

(b) Tammy connects the computer to her home network. The computer has a MAC address and
an IP address.

A paragraph is given about MAC addresses and IP addresses.

Complete the paragraph using the list of terms given. Not all terms need to be used.

• compiled
• computer
• control
• dynamic
• identify
• packet
• principal
• protocol
• similar
• unique

A MAC address is a media access …………………………………………………….. address.

A network device has a ……………………………………………………… MAC address that

can help ………………………………………………. the device in the network. An IP address

is an Internet ………………………………………… address. An IP address can be static or

…………………………………………… .
[5]

(c) Tammy uses a browser when accessing the Internet.

Describe the role of the browser.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [4]

© UCLES 2020 0478/12/O/N/20


11

BLANK PAGE

© UCLES 2020 0478/12/O/N/20


12

BLANK PAGE

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 the Cambridge Assessment Group. Cambridge Assessment is the brand name of the University of
Cambridge Local Examinations Syndicate (UCLES), which itself is a department of the University of Cambridge.

© UCLES 2020 0478/12/O/N/20


Cambridge IGCSE™

COMPUTER SCIENCE 0478/12


Paper 1 October/November 2020
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 2020 series for most
Cambridge IGCSE™, Cambridge International A and AS Level and Cambridge Pre-U components, and some
Cambridge O Level components.

This document consists of 13 printed pages.

© UCLES 2020 [Turn over


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
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 descriptors 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.

© UCLES 2020 Page 2 of 13


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
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.

© UCLES 2020 Page 3 of 13


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
Question Answer Marks

1(a) Any one from: 1


− Hypertext Mark-up Language
− Web authoring language // language used to write/create websites/web pages

1(b)(i) − Presentation 1

1(b)(ii) One mark per each nibble: 6

43 0 1 0 0 0 0 1 1

B7 1 0 1 1 0 1 1 1

F0 1 1 1 1 0 0 0 0

1(c)(i) − Input 1

© UCLES 2020 Page 4 of 13


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
Question Answer Marks

1(c)(ii) One from: 4


− Lossy (compression)

Any three from:


− A (compression) algorithm is used
− Removes redundant/unnecessary data from the file
− Removes sounds that cannot be heard by the human ear/background noise
− Reduces sample rate
− Reduces sample resolution
− Data is permanently removed // original file cannot be re-instated
− Perceptual music shaping is used

NOTE: If lossless given, marks can be awarded for a correct description of lossless as follow through.

Any three from (lossless):


− A (compression) algorithm is used
− Repeating patterns are identified
− … are replaced with a value
− … and indexed
− No data is permanently removed // original file can be re-instated
− Suitable example of a lossless algorithm

1(c)(iii) Any two from: 2


− Quicker for her to upload
− Quicker for users to download
− Won’t slow website down as much when loading
− Takes up less storage space

1(d)(i) − Handshake (layer) 2


− Record (layer)

© UCLES 2020 Page 5 of 13


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
Question Answer Marks

1(d)(ii) Any six from: 6


− Client/browser requests secure connection to server
− Client/browser requests the server to identify itself
− Server provides a digital certificate
− Client/browser validates the certificate
− Client/browser send signal back to server (to begin transmission)
− Session caching can be used
− A session key is generated
− Encryption method is agreed // data is encrypted

1(e)(i) Any three from: 3


− Hacking
− Denial of service (DoS) attack
− Virus
− Malware

NOTE: Three different type of malware can be awarded

1(e)(ii) Any four from: 4


− Acts as a firewall
− Monitor/filters/examines incoming and outgoing traffic
− Rules/criteria for traffic can be set // blacklist/whitelist set
− Blocks any traffic that does not meet criteria …
− … and can send a warning message to the user
− Stop the website failing in a DoS attack // DoS attack hits the proxy server and not the webserver

© UCLES 2020 Page 6 of 13


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
Question Answer Marks

2(a) One mark for each correct row: 4

Even Odd
8-bit binary value
() ()

11111111 

01100110 

01111011 

10000000 

2(b) Any five from: 5


− A value is calculated from the data
− The value is calculated using an algorithm // by example
− The value is appended to the data to be transmitted
− Value is recalculated after transmission
− Values are compared
− If the values match the data is correct // if the values do not match the data is incorrect

© UCLES 2020 Page 7 of 13


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
Question Answer Marks

3(a)(i) Any three from: 3


− Loss of power/electricity
− Spillage of liquids
− Flood
− Fire
− Human error
− Hardware failure
− Software failure

NOTE: Three different types of human error can be awarded e.g. accidental deletion, not saving data, incorrect shutdown
procedure

3(a)(ii) − Create a backup 1

3(b) Max three from: 4


− Solid state drive
− Non-volatile
− Secondary storage
− Flash memory
− Has no mechanical/moving parts
− Uses transistors
− … and cells that are laid out in a grid
− Uses control gates and floating gates
− Can be NAND/NOR (technology)
− Use EEPROM technology

Max two from:


− Stores data by flashing it onto the chips
− Data stored by controlling the flow of electrons through/using transistors/chips/gates
− The electric current reaches the control gate and flows through to the floating gate to be stored
− When data is stored the transistor is converted from 1 to 0

© UCLES 2020 Page 8 of 13


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
Question Answer Marks

3(c) One mark for each correct row: 6

Blu-ray CD DVD
Statement
() () ()

A type of optical storage   

Has the largest storage capacity 

Can be dual layer  

Read using a red laser  

Has the smallest storage capacity 

Stores data in a spiral track   

© UCLES 2020 Page 9 of 13


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
Question Answer Marks

4(a) One mark for each correct logic gate with correct input: 4

© UCLES 2020 Page 10 of 13


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
Question Answer Marks

4(b) Four marks for 8 correct outputs 4


Three marks for 6/7 correct outputs
Two marks for 4/5 correct outputs
One mark for 2/3 correct outputs

A B C Working space X

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

© UCLES 2020 Page 11 of 13


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
Question Answer Marks

5(a) One mark for each correct row: 5

True False
Statement
() ()

It is a flat panel display 

It creates images using red, green and blue diodes 

It is not very energy efficient and gives off heat 

It is also used in mobile devices such as smartphones and tablets 

It is a front-lit display 

5(b) One mark for each correct term in the correct place: 5
− Control
− Unique
− Identify
− Protocol
− Dynamic

© UCLES 2020 Page 12 of 13


0478/12 Cambridge IGCSE – Mark Scheme October/November 2020
PUBLISHED
Question Answer Marks

5(c) Any four from: 4


− Allows user to view web pages
− Renders HTML
− Allows user to bookmark/favourite web pages
− Provides navigation features
− Allows (multiple) tabs
− Stores cookies
− Records history of pages visited
− Has a homepage
− Runs active script
− Allows files to be downloaded from website/internet
− Sends a request to the IP address/web server (to obtain the contents of a web page)
− Sends URL to DNS
− Manages HTTP/HTTPS protocol

© UCLES 2020 Page 13 of 13


Cambridge IGCSE™
* 1 1 2 9 1 3 8 4 5 2 *

COMPUTER SCIENCE 0478/22


Paper 2 Problem-solving and Programming October/November 2020

1 hour 45 minutes

You must answer on the question paper.

No additional materials are needed.

INSTRUCTIONS
● Answer all questions.
● Do not attempt Tasks 1, 2 and 3 in the copy of the pre-release material on page 2; these are for
information only.
● 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 50.
● 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.

This document has 12 pages. Blank pages are indicated.

DC (ST) 185711/3
© UCLES 2020 [Turn over
2

Section A
You are advised to spend no longer than 40 minutes answering this section.
Here is a copy of the pre-release material.
DO NOT attempt Tasks 1, 2 and 3 now.
Use the pre-release material and your experience from attempting the tasks before the examination to
answer Question 1.
Pre-release material

An online computer shop sells customised personal computers. Every computer sold includes a basic set of
components costing $200 and additional items can be added from the table:
Category Item code Description Price ($)
Case A1 Compact 75.00
Case A2 Tower 150.00
RAM B1 8 GB 79.99
RAM B2 16 GB 149.99
RAM B3 32 GB 299.99
Main Hard Disk Drive C1 1 TB HDD 49.99
Main Hard Disk Drive C2 2 TB HDD 89.99
Main Hard Disk Drive C3 4 TB HDD 129.99
Solid State Drive D1 240 GB SSD 59.99
Solid State Drive D2 480 GB SSD 119.99
Second Hard Disk Drive E1 1 TB HDD 49.99
Second Hard Disk Drive E2 2 TB HDD 89.99
Second Hard Disk Drive E3 4 TB HDD 129.99
Optical Drive F1 DVD/Blu-Ray Player 50.00
Optical Drive F2 DVD/Blu-Ray Re-writer 100.00
Operating System G1 Standard Version 100.00
Operating System G2 Professional Version 175.00

As well as the basic set of components every computer must include one case, one RAM and one Main Hard
Disk Drive from the table.
A computer is supplied with or without an Operating System.
Write and test a program or programs for the online computer shop.
• Your program or programs must include appropriate prompts for the entry of data; data must be validated
on entry.
• Error messages and other output need to be set out clearly and understandably.
• All arrays, variables, constants and other identifiers must have meaningful names.
You will need to complete these three tasks. Each task must be fully tested.
Task 1 – Setting up the system and ordering the main items.
Write a program to:
• use arrays to store the item code, description and price
• allow a customer to choose one case, one RAM and one Main Hard Disk Drive
• calculate the price of the computer using the cost of the chosen items and the basic set of components
• store and output the chosen items and the price of the computer.
Task 2 – Ordering additional items.
Extend TASK 1 to:
• allow a customer to choose whether to purchase any items from the other categories – if so, which
item(s)
• update the price of the computer
• store and output the additional items and the new price of the computer.
Task 3 – Offering discounts.
Extend TASK 2 to:
• apply a 5% discount to the price of the computer if the customer has bought only one additional item
• apply a 10% discount to the price of the computer if the customer has bought two or more additional
items
• output the amount of money saved and the new price of the computer after the discount.
© UCLES 2020 0478/22/O/N/20
3

1 All variables, constants and other identifiers must have meaningful names.

(a) (i) Identify one array you could have used for Task 1 and state its purpose.

Array ..................................................................................................................................

Purpose .............................................................................................................................

...........................................................................................................................................

...........................................................................................................................................
[2]

(ii) Identify one variable you could have used for Task 2 and state its purpose.

Variable .............................................................................................................................

Purpose .............................................................................................................................

...........................................................................................................................................

...........................................................................................................................................
[2]

(iii) Identify one constant you could have used for Task 3 and state its purpose.

Constant ............................................................................................................................

Purpose .............................................................................................................................

...........................................................................................................................................

...........................................................................................................................................
[2]

(b) Explain the benefits of storing Price as a real data type.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [2]

© UCLES 2020 0478/22/O/N/20 [Turn over


4

(c) Write an algorithm to show how you completed Task 1, using either pseudocode,
programming statements or a flowchart. It is not necessary to show initialisation or setting up
of arrays in your answer.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................
© UCLES 2020 0478/22/O/N/20
5

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [6]

© UCLES 2020 0478/22/O/N/20 [Turn over


6

(d) Explain how your program completes Task 3. Any programming statements used in your
answer must be fully explained.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [4]
© UCLES 2020 0478/22/O/N/20
7

(e) Describe how you could alter your program to allow more than one computer to be bought.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [2]

© UCLES 2020 0478/22/O/N/20 [Turn over


8

Section B

2 Tick (3) one box in each row to identify if the statement about subroutines is true or false.

true false
Statement
(3) (3)
A subroutine is called from within a program.

A subroutine is not a complete program.

A subroutine is a self-contained piece of code.

A subroutine must return a value to the code from which it was called.
[2]

3 This pseudocode algorithm is used as a validation check.

PRINT "Input a number from 1 to 5000"


REPEAT
INPUT Number
IF Number < 1 OR Number > 5000
THEN
PRINT "Invalid number, please try again"
ENDIF
UNTIL Number >= 1 AND Number <= 5000
PRINT Number, " is within the correct range"

Identify three different types of test data. For each type, give an example of the test data you
would use to test this algorithm and state a reason for your choice of test.

Type of test data 1 ...........................................................................................................................

Test data ...........................................................................................................................................

Reason .............................................................................................................................................

..........................................................................................................................................................

Type of test data 2 ...........................................................................................................................

Test data ...........................................................................................................................................

Reason .............................................................................................................................................

..........................................................................................................................................................

Type of test data 3 ...........................................................................................................................

Test data ...........................................................................................................................................

Reason .............................................................................................................................................

..........................................................................................................................................................
[6]

© UCLES 2020 0478/22/O/N/20


9

4 This pseudocode algorithm allows 5000 numbers to be entered and stored in an array called
Number.

FOR Count 1 TO 5000


INPUT Number[Count]
NEXT Count

Extend and re-write the algorithm using pseudocode to also count and output how many of the
numbers stored in the array are greater than 500, using the variable Higher. Only output Higher
once with an appropriate message.

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

..........................................................................................................................................................

.................................................................................................................................................... [6]
© UCLES 2020 0478/22/O/N/20 [Turn over
10

5 This pseudocode represents an algorithm.

REPEAT
Flag 0
FOR Count 0 to 3
IF Num[Count] < Num[Count + 1]
THEN
Store Num[Count]
Num[Count] Num[Count + 1]
Num[Count + 1] Store
Flag 1
ENDIF
NEXT Count
UNTIL Flag = 0

(a) The contents of the array at the start of the algorithm are:

Num[0] Num[1] Num[2] Num[3] Num[4]


45 56 30 12 15

Complete the trace table for the algorithm using the data given in the array.

Flag Count Num[0] Num[1] Num[2] Num[3] Num[4] Store


45 56 30 12 15

[5]

(b) Describe the purpose of the algorithm.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

............................................................................................................................................. [2]
© UCLES 2020 0478/22/O/N/20
11

6 Draw a flowchart symbol to represent each of the following:

Input/Output Decision

[2]

Question 7 starts on Page 12.

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 the Cambridge Assessment Group. Cambridge Assessment is the brand name of the University of
Cambridge Local Examinations Syndicate (UCLES), which itself is a department of the University of Cambridge.

© UCLES 2020 0478/22/O/N/20 [Turn over


12

7 The table AUDIOPARTS stores the part number, description, cost and quantity in stock of the
items sold by a music shop.

PartNum Description Cost Quantity


A01 Compact Amplifier Case 50.00 15
A02 Deluxe Amplifier Case 75.00 1
A03 Amplifier Standard 79.99 48
A04 Amplifier Midrange 149.99 50
A05 Amplifier Megablaster 299.99 48
S01 Tweeter 59.99 10
S02 Midrange Woofer 99.99 0
S03 Subwoofer 139.99 16
S04 Tower Speaker Basic 159.99 25
S05 Tower Speaker Skyscraper 219.99 9
S06 Centre Speaker 149.99 25
S07 Soundbar 89.99 2
S20 Soundbar 129.99 0
S21 Ceiling Surround Speaker 75.00 15
S22 Ceiling Full Range Speaker 100.00 1
S25 Surround Speaker 100.00 60
T19 Speaker Stands (Pair) 75.00 60

(a) State the number of records in the table AUDIOPARTS

............................................................................................................................................. [1]

(b) Identify the field that is most suitable to be a primary key and give a reason for your choice.

Fieldname .................................................................................................................................

Reason .....................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................
[2]

(c) Complete the query-by-example grid to show the items where the quantity in stock is fewer
than 10. Show all the fields from the database table in descending order of cost.

Field:

Table:

Sort:

Show:
Criteria:

or:

[4]
© UCLES 2020 0478/22/O/N/20
Cambridge IGCSE™

COMPUTER SCIENCE 0478/22


Paper 2 October/November 2020
MARK SCHEME
Maximum Mark: 50

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 2020 series for most
Cambridge IGCSE™, Cambridge International A and AS Level and Cambridge Pre-U components, and some
Cambridge O Level components.

This document consists of 9 printed pages.

© UCLES 2020 [Turn over


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

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 descriptors
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.

© UCLES 2020 Page 2 of 9


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

Question Answer Marks

1(a)(i) Any meaningful name for an array related to Task 1 – one mark e.g. 2
SysStore
SysPrice

Correct purpose related to Task 1 – one mark e.g.


…to store the system (components) that have been purchased
…to store the (total) price of the system (being purchased)

1(a)(ii) Any meaningful name for a variable related to Task 2 – one mark e.g. 2
Component
TotalPrice

Correct purpose related to Task 2 - one mark e.g.


… to allow input of a component code
… to store/calculate the running total price of the system

1(a)(iii) Any meaningful name for a constant related to Task 3 – one mark e.g. 2
Offer5
Offer10

Correct purpose related to Task 3 - one mark e.g.


… to store the one option discount rate
… to store the two-option discount rate

1(b) Mark as either: 2


Two distinct different points
OR
One point and an expansion

Example answers:
Real data can be used in calculations directly (which is required of the Price
data) (1)
Data can be stored with decimal places (1)

Real numbers can be used in calculations (1) which is not possible with strings
(1)

© UCLES 2020 Page 3 of 9


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

Question Answer Marks

1(c) Any six from: 6


MP1 At least one input (case, RAM, HDD)
MP2 All three inputs fully prompted
MP3 An attempt at validation of input
MP4 One complete validation of input with error message
MP5 Finding the price for one chosen item
MP6 Finding the prices of the other two chosen items correctly
MP7 Calculation of price of the chosen items
MP8 …add the basic components cost to the cost of the chosen items
MP9 Storage of chosen items
MP10 Output to show chosen items and price of the computer (with
appropriate message)

Example answer:
OUTPUT "Which type of Case would you like? Input the Item
Code"
ComponentFlag ← False
WHILE ComponentFlag = False
INPUT CaseCode
Count ← 0
WHILE Count<2 DO
IF CaseCode = ComponentCode[Count]
THEN
CaseIndex ← Count
ComponentFlag ← True
Count ← 2
ENDIF
Count ← Count + 1
ENDWHILE
IF ComponentFlag = False
THEN
OUTPUT "Your case Item Code doesn’t exist, please
try again"
ENDIF
ENDWHILE
OUTPUT "Which type of RAM would you like? Input the Item
Code"
ComponentFlag ← False
WHILE ComponentFlag = False
INPUT RAMCode
Count ← 2
WHILE Count<5 DO
IF RAMCode = ComponentCode[Count]
THEN
RAMIndex ← Count
ComponentFlag ← True
Count ← 5
ENDIF
Count ← Count + 1
ENDWHILE

© UCLES 2020 Page 4 of 9


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

Question Answer Marks

1(c) IF ComponentFlag = False


THEN
OUTPUT "Your RAM Item Code doesn’t exist, please try
again"
ENDIF
ENDWHILE
OUTPUT "Which type of Primary Hard Disk Drive would you
like? Input the Item Code"
ComponentFlag ← False
WHILE ComponentFlag = False
INPUT PHDDCode
Count ← 5
WHILE Count<8 DO
IF PHDDCode = ComponentCode[Count]
THEN
HDDIndex ← Count
ComponentFlag ← True
Count ← 8
ENDIF
Count ← Count + 1
ENDWHILE
IF ComponentFlag = False
THEN
OUTPUT "Your Primary HDD Item Code doesn’t exist,
please try again"
ENDIF
ENDWHILE
TotalPrice ← 200 + ComponentPrice[CaseIndex] +
ComponentPrice[RAMIndex] + ComponentPrice[HDDIndex]
OUTPUT "Your computer consists of ",
Description[CaseIndex], " case, ", Description[RAMIndex],
" RAM and ", Description[HDDIndex], " Primary Hard Disk
Drive."
OUTPUT "The total price of your computer is $", TotalPrice

1(d) Any four from: 4


MP1 Explanation of how the number of additional parts is stored
MP2 Explanation of counting of additional parts being added to the system
MP3 Explanation of determination of additional parts being 1, or more
than 1
MP4 Explanation of using the correct percentage discount
MP5 Explanation of calculating the money saved and finding the new price
MP6 Explanation of correct output of money saved and new price

1(e) Any two from: 2


MP1 Prompt and input to ask buyer how many computers they wish to
purchase (at the start) // When the first computer is complete, prompt
and input to ask if they would like to purchase another computer
MP2 Introduce an appropriate loop structure
MP3 New storage for more than one computer // Enable the ordering of
multiple computers of the same specification

© UCLES 2020 Page 5 of 9


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

Question Answer Marks

Section B

2 2
true false
Statement
() ()

A subroutine is called from within a program. 

A subroutine is not a complete program. 

A subroutine is a self-contained piece of code. 

A subroutine must return a value to the code from 


which it was called.

Two marks for four correct rows


One mark for any two correct rows

Question Answer Marks

3 One mark for each correct type of test and one mark for each correct 6
accompanying example of test data and reason (max six) e.g.

• Extreme data
• 5000
• to check it is accepted

• Normal data
• 300
• To check it is accepted

• Abnormal data
• 10000
• To check it is rejected

© UCLES 2020 Page 6 of 9


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

Question Answer Marks

4 Any six from: 6


MP1 Initialisation of Higher to 0 before the loop
MP2 Use of IF statement
MP3 Correct condition in IF statement
MP4 Correct counting statement inside loop
MP5 OUTPUT/PRINT statement with correct reference to Higher
MP6 Appropriate message in output
MP7 Correct location of OUTPUT and IF statements

Higher ← 0
FOR Count ← 1 TO 5000
INPUT Number[Count]
IF Number[Count] > 500
THEN
Higher ← Higher + 1
ENDIF
NEXT Count
OUTPUT "There are ", Higher, " values that are greater than
500"

© UCLES 2020 Page 7 of 9


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

Question Answer Marks

5(a) 5
Num Num Num Num Num
Flag Count Store
[0] [1] [2] [3] [4]

45 56 30 12 15

0 0 45

56

1 45

3 12

15

12

0 0

One mark – Flag column


One mark – Count column
One mark – Num[0] and Num[1] columns
One mark – Num[2], Num[3] and Num[4] columns
One mark – Store column

5(b) Any two from: 2


• The algorithm sorts/orders numbers
• … into descending order / from largest to smallest

Question Answer Marks

6 Input/Output Decision 2

One mark for each correct symbol

© UCLES 2020 Page 8 of 9


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

Question Answer Marks

7(a) 17 1

7(b) One mark for correct fieldname and one mark for correct reason 2

PartNum

The data stored in this field is unique for each record

7(c) 4
Field: PartNum Description Cost Quantity

Table: AUDIOPARTS AUDIOPARTS AUDIOPARTS AUDIOPARTS

Sort: Descending

Show:    

Criteria: <10

or:

One mark for correct field and table rows


One mark for sort row
One mark for show row
One mark for correct criteria

© UCLES 2020 Page 9 of 9

You might also like