You are on page 1of 36

Lesson Solutions Year 1, Term 2

LESSON SOLUTIONS FOR YEAR 1, TERM 2

Week 1
Lesson 1 Solutions

Activity 1.1.1
 What is a computer network?

A computer network is a group of computers (and other hardware) linked


together to provide access to shared resources.

Activity 1.1.3
 Write a list of the activities computer networks make possible:
For example:

Sharing hardware (for example printers)

Sharing data

Accessing the internet

Playing multiplayer games

etc.

Pearson Edexcel International GCSE in Computer Science (4CP1) 1


Lesson Solutions Year 1, Term 2

Lesson 2 Solutions

Activity 1.2.1
Lists and for loops revisited.

 The command stores the country names in a data structure called a list. A list
stores things at index locations within the list.

 To display all the values:


print(countries)

 To display just ‘China’:


print(countries[3])

 To display just ‘Japan’:


print(countries[0])

 To address the third item in the list?


print(countries[2])

 The command in the ‘for’ loop is repeated for each item in the list. Each time
through the loop, the variable ‘name’ is assigned the next value in the list.
The program prints out the name of each item in the list a line at a time.

 The program uses list comprehension, which is a short way of creating a list
where all the elements contain the same value. This program creates a list
with ten elements all filled with the number 43.

 A program that creates a list with each element initialised to 0:


length=10
myList= [0 for number in range(length)]
print(myList)

Pearson Edexcel International GCSE in Computer Science (4CP1) 2


Lesson Solutions Year 1, Term 2

Activity 1.2.3
 The program creates and displays a two-dimensional array with each element
set to zero (0). The array consists of four ‘rows’, each made up of six
‘columns’:
[[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]

 Every element in the array is set to 86.

 A different size of array has been created with nine rows with five columns in
each row. All the elements of the array are set to zero.

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0,


0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

 Values have been assigned to array elements, as follows:

[[0, 0, 0, 0, 99], [0, 0, 0, 0, 0], [0, 0, 0, 74, 0], [0, 0, 0, 0, 0], [0, 0, 0,
0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

It can be visualised like this table of rows and columns

0 0 0 0 99

0 0 0 0 0

0 0 0 74 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

Pearson Edexcel International GCSE in Computer Science (4CP1) 3


Lesson Solutions Year 1, Term 2

 A ‘for’ loop is used to iterate over the number of rows and each row listed in
the array is printed out.

Activity 1.2.4
How to use two-dimensional arrays in Python (nested lists which start from zero)
Task Example

How to initialise a two-dimensional numbRows = 4


array numbCols = 6
myArray=[[0 for column in
range(numbCols)] for row in
range(numbRows)]
print(myArray)
How to address an array element [row][column]

How to assign values in a two- myArray[0][4] = 99


dimensional array myArray[2][3] = 74

How to print a two-dimensional # print out a row at a time


array for row in range(rowLength):
print(myArray[row])

Activity 1.2.5

A program that creates a 10 x 10 grid and populates it with the result of


multiplying each number in the first row (1 – 10) with each number in the
first column (1 – 10).
# create a 10 x 10 table
# set up the 2 dimensional lists and initialise with 0
myList= [[ 0 for column in range(10) ] for row in range(10) ]

# use nested loop from 1 to 10


for row in range(1,11):
for column in range(1,11):
myList[row-1][column-1]=row*column
# print out a row at a time
print(myList[row-1])

Pearson Edexcel International GCSE in Computer Science (4CP1) 4


Lesson Solutions Year 1, Term 2

Activity 1.2.6
‘One’ player Battleships game program:

Simple implementation
import random

# One player battleships


# set up the 2 dimensional list and initialise with 0
board= [[ 0 for i in range(10) ] for j in range(10) ]

# use nested loop from 1 to 10 to set location of ships


for row in range(10):
for column in range(10):
board[row][column]=random.randint(0,1)

# uncomment to display board for testing purposes


#for row in range(10):
# print(board[row])

# give player 10 chances to guess where a battleship is


# if battleship found then increase score by 1
score = 0
for attempt in range (11):
print("Attempt: ",attempt)
#get co-ordinates from player
x = int(input("Enter X co-ordinate of your guess. "))
y = int(input("Enter Y co-ordinate of your guess. "))

#check co-ordinates
if board[x][y] == 1:
print("Direct hit!")
score += 1 #increase score by 1
board[x][y] = 0 #stop player hitting same place again!
else:
print("Missed!")

# display score
print("You scored ",score, "hits!")

Pearson Edexcel International GCSE in Computer Science (4CP1) 5


Lesson Solutions Year 1, Term 2

Week 2
Lesson 1 Solutions

Activity 2.1.1
 An explanation of the client-server model.

A server waits for requests from clients.

A client makes a request from the server. The server then fulfils the request.

 An explanation of the peer-to-peer model.

A peer-to-peer system doesn’t have any servers (as in computers that just
provide services).

Any computer in a peer-to-peer system can act as a ‘server’ that supplies a


file or resource but this computer is also a client and can request files from
any other computer within the system.

Pearson Edexcel International GCSE in Computer Science (4CP1) 6


Lesson Solutions Year 1, Term 2

Lesson 2 Solutions

Activity 2.2.1

Type of Description Example


validation
length Checks the data entered is not too A password needs to be
short or too long. 8 characters.

presence Checks that data has been entered. An email address must
be entered.

range Checks that the value entered falls Marks for an exam
within a given range. should be between 0 and
100.

type Checks that the value entered is of Age should be entered


the expected type. as an integer number.

look-up Checks the entered value is a value A twitter hashtag must


that is expected. Checks value contain a ‘#’
against a look-up list or string.

Activity 2.2.2
Validation: length check

length=False
while length == False:
ans=input("Please enter password:" )
if len(ans) >= 8:
length=True
else:
print("Your password must be at least 8 characters long.")
print("Thank you for entering your password")

Pearson Edexcel International GCSE in Computer Science (4CP1) 7


Lesson Solutions Year 1, Term 2

Activity 2.2.3
Validation: presence check

present=False
while present == False:
ans=input("Please enter your name; " )
if len(ans) > 0:
present=True
else:
print("I’m waiting!")
print("Thank you for entering your name")

Activity 2.2.4
Validation: type check

try:
ans=int(input("Please enter your age: "))
except:
print("Age must be a whole number please try again")
else:
print("Thank you for entering your age")

Activity 2.2.5
Validation: look-up check

containvalue=False
while containvalue == False:
ans=input("Please enter email address: " )
for i in range(len(ans)):
if ans[i]=="@":
containvalue=True
print("Thank you for entering an email address which includes an @
symbol")

Activity 2.2.6
Validation: range check

inRange=False
while inRange == False:
ans=int(input("Please enter the % charge of your phone: "))
if ans >= 0 and ans <= 100:
inRange=True
print("Thank you for entering your phone charge level")

Pearson Edexcel International GCSE in Computer Science (4CP1) 8


Lesson Solutions Year 1, Term 2

Activity 2.2.7
Try command: divide by zero error check

numOne=int(input("Enter first number: "))


numTwo=int(input("Enter second number: "))
try:
ans=numOne/numTwo
except ZeroDivisionError:
print("The second number you entered was zero. Division by zero is
not allowed!")
else:
print("The answer is: ", ans)

Pearson Edexcel International GCSE in Computer Science (4CP1) 9


Lesson Solutions Year 1, Term 2

Week 3
Lesson 1 Solutions

Activity 3.1.1

Acronym Meaning

bps Bits per second

Mbps Megabits per second

Gbps Gigabits per second

Pearson Edexcel International GCSE in Computer Science (4CP1) 10


Lesson Solutions Year 1, Term 2

Activity 3.1.2
 Calculate the times to download the following files on a 10 Mbps network
connection.

File Size Time to transfer

5 KiB File: 5 KiB x 8 x 1024 = 40,960 bits

Network: 10 Mbits per second = 10 x 1000 x 1000 =


10,000,000 bits

40,960 / 10,000,000 = 0.0041 seconds (to 4 d.p.)

100 KiB File: 100 KiB x 8 x 1024 = 819,200 bits

Network: 10 Mbits per second = 10 x 1000 x 1000 =


10,000,000 bits

819,200 / 10,000,000 = 0.082 seconds (to 3 d.p.)

1 MiB File: 1 MiB x 8 x 1024 x 1024 = 8,388,608 bits

Network: 10 Mbits per second = 10 x 1000 x 1000 =


10,000,000 bits

8,388,608 / 10,000,000 = 0.8 seconds

Pearson Edexcel International GCSE in Computer Science (4CP1) 11


Lesson Solutions Year 1, Term 2

Lesson 2 Solutions

Activity 3.2.1

My name is George Wales and I am 0


The parameter values ‘George’, ‘Wales’ and ‘0’ are passed to the function and
override the default values.

My name is Amelia Jones and I am 21


The parameter values ‘Amelia’ and ‘Jones’ are passed to the function and
override the first two default values. The default value ‘21’ is printed.

My name is Vicky Bloggs and I am 21


The parameter value ‘Vicky’ is passed to the function and overrides the first
default value. The default values for {1} and {2} are printed.

My name is Fred Bloggs and I am 21


The default parameter values are printed.

Activity 3.2.3
Example:

def name_age(Name, Age):


print(Name, " is ", Age, " years old")

Activity 3.2.4
Example:

def square(side):
area = side * side
print("The square has an area of",area,"cm squared")

Pearson Edexcel International GCSE in Computer Science (4CP1) 12


Lesson Solutions Year 1, Term 2

Activity 3.2.5
Example:

def numbers(start, end):


for count in range(start,end + 1):
print(count)

Activity 3.2.6
 Appropriate comments added to the program.

 Colour coding used:

programming constructs (black text, pink highlight)


subprograms (black text, yellow highlight)
return statement (red text, yellow highlight)
parameters (green text, yellow highlight)
arguments (white text, pink highlight)
Program with colour coding outlined above:

# outputs a number:
def display(number, answer, type):
print("This number {0} has been {2} the answer is
{1}".format(number, answer, type))

# squares a number
def square(number):
answer = number * number
return(answer)

# main program
amount = int (input("Please enter number : "))
for next in range(1,amount):
ans = square(next)
display(next, ans, "squared")

 .The function square returns a value so this is assigned to a variable. The


variable can then be used by the function display to display that value along
with the for next control value and some meaningful text.

Pearson Edexcel International GCSE in Computer Science (4CP1) 13


Lesson Solutions Year 1, Term 2

 Amended program:
# outputs a number
def display(number, answer, type, answer2, type2):
print("This number {0} {2} is {1} and {4} is
{3}".format(number,answer,type,answer2,type2))

# squares a number
def square(number):
answer = number * number
return(answer)

def cube(number):
answer = number * number * number
return(answer)

# main program
amount = int (input("Please enter number : "))
for next in range(1, amount):
ans = square(next)
ansCube = cube(next)
display(next,ans,"squared",ansCube,"cubed")

Activity 3.2.7
Advantages of subprograms:
 code is easier to test thoroughly
 code can be reused
 code is easier to read
 code is easier to maintain
 program is easier to understand, reducing the chance or errors.

Pearson Edexcel International GCSE in Computer Science (4CP1) 14


Lesson Solutions Year 1, Term 2

Week 4
Lesson 1 Solutions

Activity 4.1.1

Bus Ring

Advantages Advantages

 Relatively inexpensive to install  Better performance under heavy load


 Can add additional computers/other (large number of computers and/or
network hardware easily lots of traffic) than a bus network
 Requires less cable so costs are
reduced.
Disadvantages Disadvantages

 Performance(Speed of data transfer)  Damage to cable is likely to mean


gets worse with more whole network fails
computers/traffic
 All data is sent to all
computers/network hardware – poor
security
 signal degradation / more collisions

Pearson Edexcel International GCSE in Computer Science (4CP1) 15


Lesson Solutions Year 1, Term 2

Activity 4.1.1 continued

Star Mesh
Example of a full connected mesh network

Advantages Advantages

 If 1 cable breaks then that device fails  Fault-tolerant – failure of links


but the rest of the network still runs shouldn’t impact much as data can be
 With a Switch, data is sent out to sent via other links
recipients only; therefore better in  High performance
terms of security and performance
Disadvantages Disadvantages

 More expensive to install – hub/switch  Expensive to install


 More cabling  Difficult to manage due to number of
connections

Pearson Edexcel International GCSE in Computer Science (4CP1) 16


Lesson Solutions Year 1, Term 2

Lesson 2 Solutions

Activity 4.2.1
Local and global variables

 This is what happens when the program is run:


Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
print(variableTwo)
NameError: name 'variableTwo' is not defined

The global variable variableOne is available outside of the function, as it has


been assigned as a global variable, but variableTwo is not available outside of
the function, as it is a local variable.

Activity 4.2.2
 This is what happens:
>>>print(number1)
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
print(number1)
NameError: name 'number1' is not defined
>>>print(number2)
Traceback (most recent call last):
File "<pyshell#36>", line 1, in <module>
print(number2)
NameError: name 'number2' is not defined

>>>print(answer)
21.666666666666668

This shows that only the variable answer is known outside of the function. It is
the only global variable. The other two variables (number1 and number2) are
local within the function and their values are only known within the function.

Pearson Edexcel International GCSE in Computer Science (4CP1) 17


Lesson Solutions Year 1, Term 2

Week 5
Lesson 1 Solutions

Activity 5.1
 Protocol definition:

A protocol is a common set of rules that specifies how devices on a network


comminicate.

 What characteristics could a network protocol specify?

Characteristic Details

Error checking Each protocol could use a different type of error checking,
for example parity. Error checking allows errors to be
detected so that the corrupted data is rejected.

Addressing system How each computer will be identified on the network.

Routing information How will data get to its destination on the network.

Acknowledgment Will each part of a message be acknowledged?

Speed What speed will the data be sent at?

Pearson Edexcel International GCSE in Computer Science (4CP1) 18


Lesson Solutions Year 1, Term 2

Week 6
Lesson 1 Solutions

Activity 6.1.1

Protocol What is it used for?

Ethernet A family of protocols used in LANs. (Specify details ranging from


physical connectors and cables to how data is sent, error
checking used and acceptable speeds)

Wi-Fi A trademark relating to LANs that use radio signals for


communication. Also known as IEEE 802.1 standards

HTTP Hypertext Transfer Protocol

Used to transfer data between web browsers and web servers,


often for the display of web pages

HTTPS Hypertext Transfer Protocol Secure

Secure version of the above – data is encrypted before being


sent and decrypted at the other end of the communications link.

FTP File Transfer Protocol. This protocol is used to transfer files over
a network.

POP3 Post Office Protocol, Version 3. Used for retrieving email from
an email server.

SMTP Simple Mail Transfer Protocol. This protocol is used when


sending email.

IMAP Internet Message Access Protocol. Used for email retrieval and
storage. Allows multiple email clients to access an email account
and keep changes synchronised.

Pearson Edexcel International GCSE in Computer Science (4CP1) 19


Lesson Solutions Year 1, Term 2

Lesson 2 Solutions

Activity 6.2.1
The negative impact of computers on the environment.

Area Issue Ways of limiting the


environmental impact
Manufacture Pollution Provide safe recycling schemes,
perhaps offer an incentive to use the
Use of heavy metals such as lead, scheme.
mercury and cadmium
Look for ways to reduce use of heavy
metals/poisonous chemicals

Buy materials from companies that


use environmentally friendly mining
methods

Usage Consumption of electricity Produce efficient computer systems

Large numbers of computers generate Provide settings that minimise power


heat requiring the use of air- consumption such as hibernation if
conditioning, therefore further power not in use for a period of time
consumption

Disposal Recycling computers is often done in Provide safe methods of recycling,


developing countries. The heavy reduce the amount of heavy metals
metals and chemicals used in used in production, label parts so that
production can be harmful to health extra care can be taken when
during the recycling process. necessary.

Manufacturers could make upgrading


easier to help reduce the amount of
computers disposed of.

Pearson Edexcel International GCSE in Computer Science (4CP1) 20


Lesson Solutions Year 1, Term 2

Activity 6.2.2
Ways in which computers are helping to safeguard the environment

Computers are being used to …. For example


Collect and analyse data about aspects Create models to help predict flooding
of the environment, enabling us to get a
better understanding of how the Provide accurate weather forecasts
environment works, predict trends,
manage scarce resources and plan
ahead.
Protect wildlife. Identify hot-spots of vulnerable species

Use for tracking rare animals

Modelling of migration routes

Camera traps for safeguarding animals


Deal with forces of nature.  Track hurricanes/storms to help emergency
services and homeowners plan
 Provide accurate weather forecasts
 Tsunami warning system
Develop low-impact alternatives to  Smart-home devices may allow homes to use
current activities, which harm the less energy by turning off lights and heating
environment. when not needed in parts of a home

Pearson Edexcel International GCSE in Computer Science (4CP1) 21


Lesson Solutions Year 1, Term 2

Week 7
Lesson 1 Solutions

Activity 7.1.1
 What is a protocol and why are protocols needed?

A protocol is a set of rules that specify the format of communications. They


are needed to standardise communications so that various devices can
interoperate successfully.

Activity 7.1.3
 What is a protocol suite?

A protocol suite is a group of network protocols that can be used together. It


is often organised in layers, where one protocol passes its data to the next
before being sent across a communications system. TCP/IP is probably the
most well-known suite.

Pearson Edexcel International GCSE in Computer Science (4CP1) 22


Lesson Solutions Year 1, Term 2

Activity 7.1.4
TCP/IP

Layer What does the layer do? Protocols used at this


layer
Application Interacts with user to provide access  HTTP
to services and data  HTTPS
 FTP

Transport Manages end to end communications  TCP


 UDP

Internet Deals with routing data from one  IP


network to another

Data link Controls sending/receiving packets of  MAC


data to the local network

Activity 7.1.5
 What is a network packet?

Data sent across a network can be broken up into packets. A packet will
contain a small amount of data and a packet header. The header will contain
details such as the sending address, recipient’s address, packet number etc.
Actual contents depend on the protocol and version of the protocol.

Pearson Edexcel International GCSE in Computer Science (4CP1) 23


Lesson Solutions Year 1, Term 2

Week 8
Lesson 1 Solutions

Activity 8.1.1
 AND GATE

 Truth Table for AND gate


Inputs Output

P Q R

0 0 0

0 1 0

1 0 0

1 1 1

 An AND gate will only output true if both of its inputs are true.

Pearson Edexcel International GCSE in Computer Science (4CP1) 24


Lesson Solutions Year 1, Term 2

Activity 8.1.2
 OR GATE

 Truth Table for OR gate


Inputs Output

P Q R

0 0 0

0 1 1

1 0 1

1 1 1

 An OR gate will output true if either or both of its inputs are true.

Pearson Edexcel International GCSE in Computer Science (4CP1) 25


Lesson Solutions Year 1, Term 2

Lesson 2 Solutions

Activity 8.2.1
Types of errors

Type of Description Example from your


error programming
experience
runtime Errors detected during the
program execution, often from
mistakes in the algorithm used or
type of data used.

syntax Errors that occur when the


program statements cannot be
understood because they do not
follow the rules of the
programming language.

logic Errors in the design of the


program, such as the use of the
wrong programming control
structures or the wrong logic in
condition statements. This type of
error may not produce error
messages just the wrong answer.

Pearson Edexcel International GCSE in Computer Science (4CP1) 26


Lesson Solutions Year 1, Term 2

Activity 8.2.2
Trace tables

for next in range(1,10,2):


number1 = next
number2 = next * next
number3 = next / 2
next number1 number2 number3

1 1 1 0.5

3 3 9 1.5

5 5 25 2.5

7 7 49 3.5

9 9 81 4.5

Pearson Edexcel International GCSE in Computer Science (4CP1) 27


Lesson Solutions Year 1, Term 2

Week 9
Lesson 1 Solutions

Activity 9.1.1
 NOT GATE

 Truth Table for NOT gate

Input Output

0 1

1 0

 A NOT gate reverses its input, from false to true and true to false.

Activity 9.1.2
Truth table to reverse the state of the blue light

R NOT(R)

0 1

1 0

 A truth table to for the logic statement S =(NOT R) AND B.

R B NOT R S

0 0 1 0

0 1 1 1

1 0 0 0

1 1 0 0

Pearson Edexcel International GCSE in Computer Science (4CP1) 28


Lesson Solutions Year 1, Term 2

 The speaker sounds is the red light is off and the blue light is on.

 A logic statement to determine if either light is on at the same time as the


speaker (S) is on.
Q = (R OR B) AND S.

Pearson Edexcel International GCSE in Computer Science (4CP1) 29


Lesson Solutions Year 1, Term 2

Week 10
Lesson 1 Solutions

Activity 10.1.1

 Truth Table A
OR gate

 Truth Table B
AND gate

 Truth Table C
NOT gate

Activity 10.1.2
 S AND D AND W

Activity 10.1.3
 (P AND L) OR (P AND O)
P AND (L OR O)

Pearson Edexcel International GCSE in Computer Science (4CP1) 30


Lesson Solutions Year 1, Term 2

Lesson 2 Solutions

Activity 10.2.1
Stephen Waddington’s blog post: ‘My mobile phone knows more about me than
my family’.

How might advertisers make  Companies may want to lure mobile phone users
use of location information? with details of shops, restaurants and special
offers.

What are the benefits of  Adverts may be useful


making location information  You can find out where friends are
available to others?  You can find nearby coffee shops etc.

What are the drawbacks?  Location might be intercepted – people you don’t
want knowing your location might know exactly
where you are at all times, for example parents,
stalker, employer and so on.
 Your future locations might be predictable from
past locations.
You may get adverts that are related to where you
are.

What does the algorithm  It can predict the location of an individual at a


developed by the research point in the future based on data from their mobile
team from Birmingham phone.
University do?

Activity 10.2.2

Pearson Edexcel International GCSE in Computer Science (4CP1) 31


Lesson Solutions Year 1, Term 2

James Ball’s article: ‘Me and my data: how much do the internet giants really
know?’

What personal information  His logins in the past month, including countries,
does Google hold about James? browsers, platforms and how much he has used the
services.
 That he is a member of a few internal Google
groups, and has a blogger account used to
collaborate with some researchers on Twitter riot
data.
 His work Gmail account has 877 contacts and a list
of the 398 Google docs he has opened. It also
knows the contents of all emails he has sent and
received.
 His chat history, logging 500 conversations with
177 colleagues.
 The link to his Youtube account – showing his
viewing history.
 His search results – every search he has done
whilst logged into his personal google account.
What other information is there  login IPs and other anonymised non-logged-in data
about James that he can’t find
out about?

Google uses cookies to  A text file placed on your computer when you visit
determine which adverts to a website. A cookie is unique and can be used to
display. What is a cookie? identify you/your browsing habits.

Pearson Edexcel International GCSE in Computer Science (4CP1) 32


Lesson Solutions Year 1, Term 2

Week 11
Lesson 1 Solutions

Activity 11.1.1
How could text be stored within a computer system?

1. Each letter would need to be stored twice – one code for lowercase,
another code for uppercase.

2. Each number would require its own code.

3. Symbols, Control characters (Carriage Returns etc.)

Activity 11.1.2
 Sending data or opening files from one computer on another wouldn’t work –
some kind of converter would need to be implemented on each computer.
Also, there is the same issue for any data sent by network – web pages/email
wouldn’t display correctly.

Pearson Edexcel International GCSE in Computer Science (4CP1) 33


Lesson Solutions Year 1, Term 2

Activity 11.1.3
1. American Standard Code for Information Interchange

2. A commonly used format for text stored within computers where each
character/number/control code has a unique associated number

Character Binary Decimal


a 01100001 97

b 01100010 98

c 01100011 99

A 01000001 65

B 01000010 66

C 01000011 67

1 00110001 49

2 00110010 50

3 00110011 51

4. Control codes run from 0 to 32 (decimal), then symbols, then numbers,


then mathematical symbols followed by letters. Letters are in alphabetical
order, capitals first then lowercase with a few symbols between.

5. Symbols – needed for displaying text correctly (“ ‘ etc.)


Mathematical symbols – displaying/allowing calculations to be represented
Control codes – alter formatting of text (spaces, CR etc.)

Lesson 2 Solutions

Pearson Edexcel International GCSE in Computer Science (4CP1) 34


Lesson Solutions Year 1, Term 2

Activity 11.2.1

Security threat Description, including What organisations can do to


threat to personal data prevent them
Viruses A program that can  Install and update anti-virus
replicate itself. Some software.
viruses will steal personal  Educate users on how to reduce
data. risks.

Hackers Someone who gains or  Educate users on how to reduce


attempts to gain risks and use complex passwords.
unauthorised access to a  Implement two-factor
computer system. A hacker authentication.
could potentially copy or  Use a well-configured firewall.
change any data stored on
the computer system.

Phishing Sending emails that appear  Educate users on how to reduce


to be from risks.
somewhere/someone  Use software that filters out known
they’re not and attempting phishing emails.
to get a user to give
sensitive details away (like
logins/passwords etc.)

Trojan horses A program that appears to  Install and update anti-virus


be innocuous but actually software.
has a hidden purpose such  Educate users on how to reduce
as aiding a hacker gain risks.
access to a computer
system.

Worms A worm spreads from  Install and update anti-virus


computer to computer, software.
often using the network it is  Educate users on how to reduce
attached to. May be used to risks.
create a Denial of Service.

Impersonation Pretending to be someone  Ensure that identity checks are


you’re not. Likely to be performed whenever potentially
used by a hacker to help sensitive actions happen, for
gain access to a computer example when changing a
system. password.

Password Attempting to guess a  Ensure users use complex


cracking password or recover a passwords.
password from a source of  Use two-factor authentication.
data to enable a hacker to  Introduce some form of rate limiting
login with it. for password attempts.

Pearson Edexcel International GCSE in Computer Science (4CP1) 35


Lesson Solutions Year 1, Term 2

Denial of A deliberate attack to stop  More difficult to prevent.


service attacks a computer or network from  Ensure that computers/servers are
operating correctly. configured correctly and software is
updated.
 Use a specialist company to provide
help.
Eavesdropping Eavesdropping is secretly  There are many different ways to
listening to a conversation. eavesdrop on a network.
In networking it is likely to  To prevent It depends on how the
refer to listening in to traffic eavesdropper is listening.
on a network. Can be used  Things to consider: physical
to steal data. security, network segmentation,
encrypting transmitted data
Network Spoof means to fool. There For examples see:
spoofing are many different types of
network spoofing. 

https://www.enisa.europa.eu/ac
tivities/Resilience-and-
CIIP/critical-
applications/smartphone-
security-1/top-ten-
risks/network-spoofing-attacks

https://en.wikipedia.org/wiki/IP
_address_spoofing
Mail bombing Sending of a massive This is difficult to prevent! See:
amount of email to a
person or organisation. 
Possible to use as a DoS
attack. http://www.cert.org/historical/tech
_tips/email_bombing_spamming.cf
m - III.C
Macro viruses A virus written in a Macro  Educate users about opening
language. Many applications unexpected file.
have a macro language to  Ensure anti-virus software is
aid automation of repetitive installed and up to date.
tasks. (MS Office has Visual  Ensure that the 3security level
Basic for Applications). It configured within applications is
can be used for many of the suitable.
same purposes as a
“normal” virus.

Pearson Edexcel International GCSE in Computer Science (4CP1) 36

You might also like