Download as pdf or txt
Download as pdf or txt
You are on page 1of 133

Scheme of Work

Cambridge Lower Secondary


Computing 0860
Stage 9
This Cambridge Scheme of Work is for use with the Cambridge Lower Secondary
Computing Curriculum Framework published in September 2021
for first teaching in September 2022
Version 1.0
© UCLES 2021
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 retains the copyright on all its publications. Registered Centres are permitted to copy material from this booklet for their own internal use. However,
we cannot give permission to Centres to photocopy any material that is acknowledged to a third party, even for internal use within a Centre.
Contents

Introduction...................................................................................................................................................................................................................................
Long-term plan....................................................................................................................................................................................................................... 4
Sample lesson plans.............................................................................................................................................................................................................. 5
Other support for teaching Cambridge Lower Secondary Computing Stage 9...................................................................................................................... 5
Resources for the activities in this scheme of work................................................................................................................................................................5
Websites................................................................................................................................................................................................................................. 6
Approaches to teaching Cambridge Lower Secondary Computing Stage 9.......................................................................................................................... 6
Unit 9.1 Algorithms and data...................................................................................................................................................................................................... 7
Unit 9.2 Computer systems and networks..................................................................................................................................................................................9
Unit 9.3 Programming.............................................................................................................................................................................................................. 15
Unit 9.4 Modelling and databases............................................................................................................................................................................................ 17
Unit 9.5 System development.................................................................................................................................................................................................. 19
Unit 9.6 End of Stage Projects................................................................................................................................................................................................. 21
Sample lesson 1.......................................................................................................................................................................................................................27
Sample lesson 2.......................................................................................................................................................................................................................28

4
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Introduction

This document is a scheme of work created by Cambridge Assessment International Education for Cambridge Lower Secondary Computing Stage 9.

It contains:
● suggested units showing how the learning objectives in the curriculum framework can be grouped and ordered
● at least one suggested teaching activity for each learning objective
● suggested projects at the end of the stage that will consolidate learning from across the stage
● a list of subject-specific language that will be useful for your learners
● additional support for the programming content, including example code that can be used with your learners.
● sample lesson plans.

You do not need to use the ideas in this scheme of work to teach Cambridge Lower Secondary Computing Stage 9. It is designed to indicate the types of
activities you might use, and the intended depth and breadth of each learning objective. You may choose to use other activities with a similar level of
difficulty, in order to suit your local context and the resources that you have available. You may also choose to adapt the suggested activities and the
projects so that they can be embedded within the teaching of other subjects.

The accompanying teacher guide for Cambridge Lower Secondary Computing will support you to plan and deliver lessons using effective teaching and
learning approaches. You can use this scheme of work as a starting point for your planning, adapting it to suit the requirements of your school and needs
of your learners.

Long-term plan
This long-term plan shows the units in this scheme of work and a suggestion of how long to spend teaching each one. The suggested teaching time is
based on 45 hours of teaching for Cambridge Lower Secondary Computing Stage 9. You can adapt the time, units and order of the units based on the
requirements of your school and the needs of your learners.

Unit Suggested teaching time


Unit 9.1 Algorithms and data 7.5 hours
Unit 9.2 Computer systems and networks 7.5 hours

5
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Unit Suggested teaching time


Unit 9.3 Programming 7 hours
Unit 9.4 Modelling and databases 7.5 hours
Unit 9.5 System development 7.5 hours
Unit 9.6 Projects 8 hours
Total 45 hours

Sample lesson plans


You will find two sample lesson plans at the end of this scheme of work. They are designed to illustrate how the suggested activities in this document can
be turned into lessons. They are written in more detail than you would use for your own lesson plans. The Cambridge Lower Secondary Computing
Teacher Guide has information on creating lesson plans.

Other support for teaching Cambridge Lower Secondary Computing Stage 9


Cambridge Lower Secondary centres receive access to a range of resources when they register. The Cambridge Lower Secondary support site at
https://lowersecondary.cambridgeinternational.org is a password-protected website that is the source of the majority of Cambridge-produced
resources for the programme. Ask the Cambridge Coordinator or Exams Officer in your school if you do not already have a login for this support site.

Included on this support site are:


● the Cambridge Lower Secondary Computing Curriculum Framework, which contains the learning objectives that provide a structure for your
teaching and learning
● grids showing the progression of learning objectives across stages
● the Cambridge Lower Secondary Computing Teacher Guide, which will help you to implement Cambridge Lower Secondary Computing in your
school
● templates for planning
● assessment guidance (to support classroom assessment)
● links to online communities of Cambridge Lower Secondary teachers.

Resources for the activities in this scheme of work


We have assumed that you will have access to these resources:
6
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

● paper, pens and pencils for learners to use


● digital devices, such as desktop/laptop computers, handheld devices and other hardware such as video and audio recording equipment
● software that will enable learners to:
o create and save digital artefacts
o communicate online
o digitally search for information.

Other suggested resources for individual units and/or activities are described in the rest of this document. You can swap these for other resources that are
available in your school.

Websites
There are many excellent online resources suitable for teaching Cambridge Lower Secondary Computing. Since these are updated frequently, and many
are only available in some countries, we recommend that you and your colleagues identify and share resources that you have found to be effective for
your learners.

Approaches to teaching Cambridge Lower Secondary Computing Stage 9


Cambridge Lower Secondary Computing can be used flexibly as a standalone subject, integrated within other subjects or used as the basis for activities
outside of the formal curriculum. During your planning you will need to decide which approach, or mix of approaches, will enable you to address each
learning objective most effectively. The activities in this scheme of work are based on Computing being taught as a standalone subject but they can be
adapted to suit an integrated approach. For example, learners can apply programming skills through activities in other subjects.

To develop their broader digital and computing skills, we recommended that you provide learners with opportunities to use a range of devices, such as
desktop computers, laptops and tablets.

7
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Unit 9.1 Algorithms and data

Outline of topic:
In this unit, learners will further develop their understanding of algorithms, using pseudocode and flowcharts. They will:
● continue to follow algorithms
● start to edit the functions within algorithms
● determine if the algorithms meet the requirements
● correct the algorithms, if required.

Learners will extend their understanding of algorithm constructs through the use of count-controlled loops, and by following algorithms that make use of
these loops. Characters will be introduced as an additional data type and learners will be introduced to the use of arrays to store multiple items of data
within a program. An additional searching algorithm will also be introduced for learners to apply. All of the pseudocode and programming activities
in this unit assume that learners will be using Python for programming activities in Stage 9.

Learners will consider the different storage units and begin to convert between these units. They will use their understanding of Boolean logic, by using the
AND, OR and NOT logic gates, to develop circuits for Boolean expressions.

Recommended prior knowledge:


Learners should have the following prior knowledge:
● follow and understand an algorithm that is presented as pseudocode
● follow, understand, edit and correct an algorithm that is presented as a flowchart
● explain the need for searching algorithms
● predict the outcome of an algorithm and test that the prediction is accurate
● identify and describe data types in a text-based program, including integer, real and Boolean
● identify nibbles, bits, bytes (kibibyte, megabyte, gigabyte, terabyte), making links to memory size and storage
● know how to convert binary to denary, and denary to binary
● know that a computer is made up of AND, OR and NOT logic gates that are represented by Boolean logic.
Learners should also have some experience of programming in the Python language but it may be necessary to support this knowledge throughout Stage
9.

8
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Language:
● Iteration
● Count-controlled
● Loops
● Storage units
● Bit / Nibble / Byte / Kilobyte / Megabyte / Gigabyte /Terabyte
● Character
● Array
● 1-dimension
● Identifier
● Index
● Indices
● Logic circuit
● Analogue / Digital / Digitised
● Binary search

9
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


9CT.01 Follow, understand, Provide learners with some algorithms that are written in pseudocode. Learners should already be able to follow and
edit and correct algorithms that Place learners into pairs and ask them to discuss the following understand pseudocode algorithms. This
are presented as pseudocode. questions in relation to each of the algorithms that they are given: activity is an opportunity to reintroduce
What does the algorithm do? pseudocode and to help learners to recall how
What are the key features of the algorithm? pseudocode works. It also provides an
What programming techniques are used in the algorithm? opportunity for them to follow algorithms of
Hold a class discussion to elicit the key observations from each pair increasing complexity.
and to identify and address any misconceptions. The key features that
learners identify should include the inputs, the decisions within the
algorithm and the result or output. The programming techniques
should include inputs, outputs and variables.
Give learners an algorithm that performs a single task and ask them to An expected answer would be:
make a change to it, for example: number1 = input("Enter a number")
change this algorithm so it multiplies the numbers instead of number2 = input("Enter a number")
adding them result = number1 * number2
number1 = input("Enter a number") print(result)
number2 = input("Enter a number")
result = number1 + number2
print(result)
Repeat the process with different algorithms that increase in
complexity, for example:

1. Adding several calculations An expected answer would be:


Change this algorithm so that it subtracts the second input number1 = input("Enter a number")
from the first, then multiplies this new value by the first input number2 = input("Enter a number")
and outputs this value result = (number1 - number2) *
number1 = input("Enter a number") number1
number2 = input("Enter a number") print(result)
result = number1 / number2
print(result)

10
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


2. Changing the outputs required An expected answer would be:
Change this algorithm so that it outputs the name and age that name = input("Enter your name")
the user has input in a sentence age = input("Enter your age")
name = input("Enter your name") print("Hello ", name, " you are ",
age = input("Enter your age") age, " years old")
print("Hello ", name)

3. Including selection statements An expected answer would be:


Change this algorithm so that it only outputs "Valid" when the value = input("Enter a number")
number is greater than 0 if(value > 0):
value = input("Enter a number") print("Valid")
if(value > 10):
print("Valid")

Change this algorithm so that if the user enters the "+" symbol, An expected answer would be:
the two numbers are added together number1 = input("Enter a number")
number1 = input("Enter a number") number2 = input("Enter a number")
number2 = input("Enter a number") symbol = input("Enter the symbol")
symbol = input("Enter the symbol") if(symbol == "*"):
if(symbol == "*"): print(number1 * number2)
print(number1 * number2) elseif(symbol == "+"):
print(number1 + number2)

4. Adding further elements to an algorithm An expected answer would be:


Change this algorithm so that is also checks if the number value = input("Enter a number")
entered is less than or equal to 1000 if(value >= 10 and value <= 1000):
value = input("Enter a number") print("Valid")
if(value >= 10):
print("Valid")

11
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


5. Changing the whole purpose and function of the algorithm An expected answer would be:
Change this algorithm so that it inputs a direction from the user x = 0
(up, down, left or right). When up is entered, the y value is y = 0
increased by 1. When down is entered, the y value is direction = input("Enter up, down,
decreased by 1. When right is entered, the x value is increased left or right)
by 1. When left is entered, the x value is decreased by 1 - if(direction == "up"):
x = 0 y = y + 1
y = 0 elseif(direction == "down"):
x = x + input("Enter x value change") y = y - 1
y = y + input("Enter y value change") elseif(direction == "left"):
x = x - 1
elseif(direction == "right"):
x = x + 1
else
print("Invalid direction”)
Discuss the changes learners have made by asking questions such
as:
What programming tools did you make use of?
Did you encounter any problems?
How did you overcome these errors?

In their pairs, give learners the description of a program and an


algorithm that does not meet the requirements, for example where a
calculation is incorrect. Ask learners to identify the problem with the
algorithm, and to explain how this should be corrected.

Ask each pair to share their corrected algorithm with the class, and to
explain the changes that they made. Hold a class discussion to
identify any differing responses or any different approaches that were
taken to correct the algorithm. This discussion will also provide an
opportunity to identify and discuss any misconceptions amongst
learners.
12
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Resources
● Key vocabulary card to support learners’ recall of pseudocode
● Range of pseudocode algorithms
● Description(s) of problems that require an algorithm
9CT.02 Follow flowchart or Evaluate learner's prior knowledge and understanding of programming Learners are only required to understand
pseudocode algorithms that and iteration by asking: count-controlled loops at this stage. These can
use loops. What is repetition? be limited to the use of ‘FOR Loops’. Although
Elicit that repetition is something that happens more than once. condition-controlled loops can be used for
9CT.07 Predict the outcome of counting, they are not required at this stage.
algorithms that use iteration. If it does not get covered by the previous answer, follow up by asking:
What does repetition mean in a computer program?
Elicit that repetition in a program is a piece, or section, of code that
runs more than once. Then ask:
What programs have you written, or seen, that use repetition?

Display the format of a FOR loop in pseudocode, that is suitable for A count-controlled loop, or FOR loop, iterates
Python, for example: the number of times specified in the loop. Link
for variable in range (start, end): the name of the iteration to the function i.e.
code 'count' controlled means it is keeping count of
something. The variable used in the FOR
Demonstrate this format in use, with examples, and demonstrate the statements has a starting value, and then
output, for example: counts from that number to the end value.
This loop will output the numbers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
for count in range(0, 10):
print(count)
Ask specific learners to demonstrate how they followed the algorithm
with different values, for example (5, 9). This demonstration could be
supported by questions such as:
What is the output if number 0 is changed to 1?
What is the output if number 10 is changed to 20?

13
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Give learners a slightly adapted loop in pseudocode, for example:
for count in range(0, 20):
print(count + 1)
Ask them to identify the differences and to predict how this will change
the purpose of the program. Repeat this with further changes in
different elements of the program, for example:
for x in range(1, 11):
print(count - 1)

Display a flowchart with a count-controlled loop. Demonstrate how to When using count-controlled loops in flowcharts
keep track of the counter variables and how to change and check its a variable needs to be declared with a start
values. Explain that this differs from pseudocode because in a FOR value, for example: count = 0
loop the four elements are given in one line, for example: The value will need to be checked against the
for count in range(0, 10) gives end value, for example: if count = 10
● the variables (count) The value will need to be incremented
● the start value (0) (increased) each time through the loop, for
● the end value (10) example: count = count + 1
● and for indicates the incrementing
In a flowchart these need to be separated and placed in the correct
position, for example:
● the variable is declared before the loop
● the start value is given before the loop
● selection is used to check the variable value
● this then increments the value within the loop
An example would be:

14
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Ask learners to identify the key features of the count-controlled


iterations in the flowchart. They should do this by referring to:
● the variable declared before the loop
● the start value given before the loop
● the selection used to check the variable value
● the incrementing the value within the loop.

Give learners two or more flowcharts with count-controlled iterations,


for example to output the numbers between 1 to 100. Ask them to
identify the common features between the two. Elicit all of the key
features, including the variables and start values, etc.

In pairs, give learners several algorithms, presented as a variation of


flowcharts and pseudocode, to follow that make use of
count-controlled loops. Example algorithms could be:

15
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


● an algorithm that takes 10 numbers from the user and adds them
together
● an algorithm that outputs the 5 times table
● an algorithm that asks the user how many numbers they want to
enter, then loops this number of times, taking a number from the
user each time, before it calculates and outputs the average.
Ask the pairs to:
● discuss what the outcome of the program will be
● then follow the algorithms individually
● join another learner to discuss if their predication was accurate.

Ask learners to create a mind map of all that they have learned during
this activity. The content of their mind maps can be informed by the
following questions:
What is repetition in an algorithm?
Answer: A piece of code run more than once
What is a count-controlled loop?
Answer: Code that runs a set number of times
When can a count-controlled loop be useful in algorithms?
Answer: When something has to happen a set number of
times
What are the key features of a count-controlled loop?
Answer: A counter with a starting value, an end value and an
increment.

Resources
● Example algorithms that use count-controlled loops, both
pseudocode and flowcharts
● Descriptions of algorithms that require count-controlled loops
9CT.08 Compare and contrast Give learners a description of a problem and then display an algorithm At this stage, care should be taken to not go too
algorithms designed for the that is supposed to solve the problem. For example: far into the comparison of algorithms. Learners

16
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


same task to determine which Problem: A program needs to ask the user to enter the mark only need to primarily consider whether an
is best suited to the purpose. they got in a test and output if they got a pass (40+), merit algorithm meets the requirements. They can
(60+) or distinction (80+). then evaluate the amount of code and the
Algorithm in python: number of variables used.
Mark = input("Enter the mark")
if(Mark >= 40): Stage 9 learners do not need to be concerned
print("Pass") with run-time, memory usage, effective
elif(Mark >= 60): constructs, constants vs variables or local vs
print("Merit") global variables.
elif(Mark >= 80):
print("Distinction")
else:
print("Ungraded")

Ask:
Does this algorithm meet the requirements?
Elicit that this algorithm does meet the requirement.

Repeat this with algorithms that do, and do not meet the requirements. The correct algorithm here should be:
An example of an algorithm that doesn’t meet its requirement is: Temperature = input("Enter
Problem: A program needs to take a number between -10 the temperature in celsius")
and 40 from the user as a temperature in Celsius, and convert Fahrenheit = Temperature *
it to Fahrenheit. The calculation required here is ‘multiply by 1.8 + 32
1.8, then add 32’. print(Temperature + " in
Algorithm: celsius is " + Fahrenheit + "
Temperature = input("Enter the in fahrenheit")
temperature in celsius") The yellow highlighting signifies the corrections
Fahrenheit = Temperature + 32 * 1.8 that need to be made to the original.
print(Temperature + " in celsius is " +
Temperature + " in fahrenheit")

For this example, ask:


17
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


What does this algorithm do instead?
What needs changing to make it work?

Display a list of some elements that impact the efficiency of an When displaying these algorithms, ask learners
algorithm, for example: to identify the variables, inputs and outputs in
● number of lines of code (which impacts the file size) the pseudocode. Questioning such as this will
● number of variables used (which impacts the memory usage). help to check whether learners are following
Display two different algorithms for each feature, such as two what it is that is being explained.
algorithms that solve the same problem but where one uses many
more variables and lines of code. For example:
Problem: Take 3 numbers as input, add them together and
output the result.
Algorithm 1:
number1 = input("Enter a number")
number2 = input("Enter a number")
number3 = input("Enter a number")
value1 = number1 + number2
total = number3 + value1
print(total)
and
Algorithm 2:
number1 = input("Enter a number")
number2 = input("Enter a number")
number3 = input("Enter a number")
print(number1 + number2 + number2)
Elicit that the second program uses fewer lines of code which means
the file size will be smaller. It also has one less variable therefore,
when running, it will use less memory.

Ask learners to each write an algorithm to solve a problem, for


example:

18
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


write a program that asks the user to enter a distance in
metres or feet, and to then convert it into the other unit.
Once they have written their algorithms, ask learners to work with a
partner to compare the two algorithms. The pairs will need to discuss
each algorithm to consider ideas such as ways of making their
algorithms more efficient. Each learner can then reflect on the benefits
of the pair discussion and feed these back as part of a class
discussion.

Resources
● Multiple algorithms that solve problems in different ways
● Description of a problem that requires an algorithm, that can be
written in many different ways
9CS.06 Know how to convert As an introduction to this activity, display the following questions about
between storage units. binary:
1. What values can a binary number take?
2. In what format is data stored in a computer?
3. Why do computers use binary?
4. What sort of data can be stored using binary?
Ask learners to write their answer to each question on a separate
sticky note. Ask them to add their sticky notes to one of four flipchart
sheets that are labelled with the questions 1 to 4.

Read out loud some of the answers that have been stuck on each
sheet and support a class discussion to arrive at the correct answer
for each question. The agreed answers should be:
1. What values can a binary number take? 1 and 0
2. In what format is data stored in a computer? Binary
3. Why do computers use binary? They use logic gates that are
either open or closed
4. What sort of data can be stored using binary? Any and every
sort of data
19
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Use the class discussion to address any misconceptions, particularly
those that are most common.

Ask learners to work in pairs to identify as many different units of The difference between kilobyte and kibibyte is
binary as they can. If necessary, provide two examples, such as ‘bit’ also widely acknowledged. A kilobyte is 1000
and ‘byte’. Ask each pair for an answer and to position their unit from bytes whilst a kibibyte is 1024. Learners only
lowest to highest unit. The final hierarchy should be: need to understand the kilobyte calculations,
bit which are 1000.
nibble
byte This will also make the conversions between
kilobyte units easier for the learners to calculate. 1024
megabyte is, however, still commonly referred to and
gigabyte therefore it should be mentioned that this is
terabyte. also a correct value.

Give learners a worksheet that requires them to complete the Some learners may require the use of a
multiplication conversion between each unit. An example worksheet, calculator for some conversions, particularly
with the answers completed is: those that skip units (e.g. bits to MB), but they
should also be encouraged to attempt the
calculations without a calculator and then check
them using the calculator.

Learners may benefit from knowing that there


are further units above terabytes, for example
petabyte and exabyte. When considering these
units, it is important that learners understand
that the conversions remain consistent, for
example there are 1000 terabytes in a
petabyte.

20
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


If some learners finish this activity early, challenge them to conduct
web research to find units that are higher than a terabyte and to
include the appropriate conversions at the bottom of their worksheet.

Provide a further worksheet that asks learners to convert units to the


next direct unit, for example 3 KB to bytes or 3 KB to megabytes.
Increase the difficulty as learners work through the sheet, for example
by slowly introducing conversions that skip units, for example 5 bits to
gigabytes.

Ask learners to create a set of conversion questions for a partner to


answer. They should also create their own version that contains the
answers. Once the questions have been completed and marked, any
discrepancies should be discussed and the correct answer agreed.

In pairs, give learners a set of values in different units. Each value


should be presented on separate cards but should be designed so that
there are pairs of equivalent values, for example 3 GB and 3000 MB.
Learners should match their cards to find the correct pairs.

Display a series of computer specifications, for example:


identifying the amount of RAM or secondary storage space.
Each specification should use a different unit, for example one
computer may have 8MB of RAM, while another has 4000 KB of RAM.
Ask the learners to rank the computers from those with the:
● highest amount of RAM to the lowest
● highest amount of secondary storage space to lowest.

Discuss learners’ understanding of this activity by asking questions


such as:
What is the highest unit of binary that you know?
Do you think there are any higher units? If so, what unit would
come next?
Why are units such as kilobytes used instead of just using bits
and bytes?

21
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


In answer to this last question, learners should conclude that it is
easier for humans to refer smaller numbers of larger units than it is to
refer to many thousands and millions of smaller units.

Resources
● Series of conversion questions for learners to convert between
● Set of computer specifications that give the amount of RAM
and secondary storage
9P.02 Identify and describe Introduce this activity by asking: If learners are not familiar with the given data
data types in text-based What data types have you used in programming? types, introduce these by displaying a range of
programs, including Integer, What is an example of each data type? different items of data and asking learners to
Real, Character, String and Learners should already be familiar with Integer, Real, String and group them. For example, putting all the words
Boolean. Boolean data types. together, the numbers, the 'true' and 'false'
together. Show learners how these are
Ask learners: grouped into the given data types.
What can be stored in a string?
Elicit that a string can include:
● lowercase letters
● uppercase letters
● numbers
● symbols.

22
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Introduce the ‘character’ data type by explaining that it only stores one It may be useful to clarify the purpose of
single character, instead of the option to store multiple characters character vs string and the benefits - it saves
in a string. memory space. When a string variable is
declared it has memory reserved for more data,
In pairs, ask learners to think of and discuss scenarios where only one but a ‘char’ is limited and therefore has a fixed
character may need to be stored. The pairs may identify elements memory size. Learners will also need to know
such as: that not all languages support the character
● entering a choice from an onscreen menu, for example 1, 2, 3 data type, for example Python only has string.
or a, b, c
● when accessing or splitting up a string or selecting specific
characters from a string
● storing a value to compare an input to.
Ask each pair to join with another pair to make a group of four. The
group should agree their top three scenarios and share these with
the rest of the class.

Display examples of data that can be entered into a computer


program, for example:
● 10
● 50
● "a"
● "bob!"
● TRUE
● "house"
● 11.738.
Ask learners to identify the most appropriate data type for each item
and to justify their choice. Ask the class to vote for the data type
and then select one learner to justify their choice.

23
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Give learners a text-based program that has already been written, The answers in this example would be:
which includes different types of data. As an example, this could be a answer1 - integer
quiz program that asks users to enter different answers. Ask learners answer2 - Boolean
to identify the most appropriate data type for each data item to be answer3 - real
entered, and to write this alongside it. An example program could be: answer4 - integer
answer1 = input("What is 1 + 2?") answer5 - string
answer2 = input("An owl is a bird, true or
answer6 - string
false?")
answer7 - integer
answer3 = input("How much will I spend if I
buy 5 items at $0.50 each?") answer8 - character
answer4 = input("What is the current year?")
answer5 = input("Identify a colour that
starts with the letter P")
answer6 = input("What does RAM stand for?")
answer7 = input("How many GB is 300MB?")
answer8 = input("Answer the first letter of
your first name")

To consolidate and check learners’ understanding of this topic,


facilitate a class discussion based upon the following questions:
● What are the 5 data types?
Answer: Integer, real, string, char and Boolean
● What data would you store in an integer?
Answer: Integer = whole numbers
● What data would you store in a real?
Answer: Real = decimal numbers
● What data would you store in a string?
Answer: String = one or more letters
● What data would you store in a character?
Answer: Character = one letter, number or symbol
● What data would you store in Boolean?

24
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Answer: Boolean = true or false
● What is the difference between a string and a character data
type?
Answer: A ‘string’ stores one or more characters, a ‘character’
only stores a single character.
● Why are different data types used in programming?
Answers here will include:
o to stop invalid data entry
o to allow for calculations on numeric forms
o limiting the data that can be used
o saving memory space
o stopping invalid data being entered.

Resources
● List of example data to be entered into a computer, at least one
for each data type
● Text-based programs that make use of data of each data type
9P.01 Explain the purpose of a Describe a scenario of a program that needs to store the first and last At this stage, learners do not need to know
1-dimensional array. names of all of the learners in a school. Ask: what is meant by a ‘1-dimensional’ array. They
How many variables will you need to store this data? should be able to use arrays with 1 dimension.
Elicit that the answer will depend on the situation within the school, for
example, a school with 300 learners will need 2 variables for each Although the programming of arrays is not
learner, one for first name, and one for last name, which will mean 600 required at this stage, it would be beneficial to
variables in total. introduce learners to the concepts of identifiers
and indices, for example Colours[0], so that
Ask: they are already familiar with these references
What problems does this many variables cause? when they need to program them in later units.
Elicit that:
● defining each variable individually will take time Hard coding means that the value of the data
● remembering the identifiers will be difficult becomes fixed.
● each variable will need to be 'hard-coded'.

25
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Introduce arrays as a means of storing multiple items of data under Learners are only required to understand the
one identifier. Explain that this allows for lots of data to be stored purpose of arrays at this stage but accessing
without needing a variable for each item. and manipulating the data will allow them to
gain a better understanding of its purpose and
Display a table with indices above and data in each space, for how it will function.
example:

Ask specific learners questions, for example


What is the data in index 1?
Answer: Blue
What will happen if I change the data in index 3 to Grey?
Answer: The word ‘Green’ would be crossed out and replaced
with ‘Grey’.

In pairs, give learners a series of arrays, each containing indices and


data. For example:
Colours:

Numbers:

Countries:

26
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Provide each pair with a series of questions and ask them to look at
the example arrays to find the answers. Example questions could be:
What is in Colours[5]? Purple
What is the result of Numbers[0] + Numbers[1]? 11

Ask each pair to swap their answers with another pair. Before
discussing the answers, each pair should compare their own answers
with those of the other pair and consider whether they need to make
changes to their own answers. Any outstanding differences should
then be discussed by the group of four and a final outcome agreed.

Each group should then share their final answers as part of a whole
class discussion. Any further differences should be discussed until
agreement over the final, and correct, answer has been achieved.

Resources
● Examples arrays with indices and data
● Set of questions to access data from given arrays
9CS.07 Know how to draw Introduce this unit by asking the following question to recall learners’ Learners may become confused by the
logic circuits for Boolean understanding of logic gates: similarities between the shapes of the AND and
expressions. What are the three logic gates? the OR gate. Explain the similarities and the
Answer: AND, OR and NOT differences, so that learners are given regular
When does an AND gate output a 1? opportunities to express their understanding of
Answer: when both inputs are 1 these two symbols.
When does an OR gate output a 1?
Answer: when one or both inputs are 1. At this stage learners do not need to be able to
When does a NOT gate output a1? create circuits that include many gates, a
Answer: when a 0 is input. maximum of 3 gates is sufficient.
What is the difference between an AND and OR gate?
Answer: OR also outputs a 1 when only one of the inputs is a
1.

27
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Display the shapes for the three different gates in turn. For example:

Explain that AND and OR gates always have 2 inputs. NOT always
has 1 input. All gates always have 1 output.

Run a quiz: show gate diagrams and ask learners to identify each one.
Ask the class to vote, or select individuals to answer. Repeat this with
the three gates in different orders until learners can identify the
shapes.

Display a logic expression that uses one of the gates, for example: X =
A AND B. Demonstrate how to draw the two inputs, connect them to
the gate and draw the output. An example would be:

Give learners a slightly different expression, for example X = A OR B,


and ask them to draw the new diagram.

28
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Repeat this process by increasing the difficulty and the number of
gates, for example X = NOT(A AND B)

Ask learners to write a logic expression for a partner, for example X =


(A AND B) OR NOT C. They should then swap their expressions and
draw the circuit for that statement. The pair should then work together
to check whether the circuits are correct and to agree a final response.

Provide learners with a series of logic expressions that increase in


complexity, for example by starting with X = A AND B, moving to X =
(A AND NOT B) OR (B AND C). Ask learners to draw the circuit for
each expression. Ask learners to return to their pairs to mark each
other's answers and to explain any corrections.

Display or give learners some logic diagrams that do not match their
logic expression. Ask learners to find which element is incorrect, and
to draw the corrected circuit. For example:
Expression: (NOT A OR B AND C)
Circuit: (which is actually NOT ((A OR B) AND C)

Ask: In mathematics the order of operation is:


What do brackets signify in mathematics? Brackets
Elicit that the brackets are used to identify which calculations to Indices
perform first. Ask a learner to explain the difference between: Division
3 + (2 * 3) and (3 + 2) * 3. Multiplication

29
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Addition
Explain how the same rules apply in Boolean expressions and logic Subtraction
circuits. Display two expressions with different brackets and the
different circuits they produce, for example:

X = NOT(A AND B):

compared to a similar expression without brackets


X = NOT A AND B:

Resources
● Images of the three logic gates
● Logic expressions and matching logic circuits
● Logic expressions and circuits that make different uses of
brackets
● Logic expressions that require logic circuits drawing
● Logic expressions with incorrect logic circuits

30
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


9CS.05 Describe how Introduce this activity by asking: If learners are unfamiliar with sound waves,
analogue sound is digitised. What is a sound wave? then draw one to show the different values.
Elicit that a sound wave explains the amplitude and frequency of
sound in a visual form. Then ask: Learners do not need to understand how
Are there any limits on what value the amplitude could be? different sounds are stored in the waves, such
Elicit that a sound wave is continuous and has no limits on value. as how the amplitude and frequency affects the
sound produced. They just need to understand
Now display the following questions: that the wave height has values, and these can
What does a sound wave look like? be recorded and converted into binary.
How could binary be used to represent a sound wave?
Place learners into groups and ask them to discuss how a sound wave Learners should identify digital sound wave is
image could be stored in binary, such as digitised. Ask them to think not identical to an analogue sound wave. For
about what they could assign binary numbers to, for example by example, it is only recording some of the
adding the wave to a graph with numerical values on the y axis and values, not every part of the sound, therefore:
time on the x axis. Ask the groups for their ideas and discuss the ● if the wave was measured more times, it
possibilities for each. will be more precise
● if it is measured less times, it will be less
Display or give learners a diagram of an analogue sound wave on precise.
graph paper, or equivalent, with a labelled y axis with values, for The digitising of sound is the turning of the
example 0 1 2 3 4 5, and a labelled x axis with times, for example 0 wave into binary numbers.
0.01 0.02 0.03. Ask learners to write the numeric values for the sound
wave at each time interval.

Repeat the activity by giving learners the graph paper with the labelled
axis, but ask them to draw their own sound wave. Learners record
their own sound using audio recording software and then look at the
sound wave that is produced. They should write the values at each
sampling interval on the graph template, and then give these values to
another learner, who then has to try and reproduce the sound wave
using the same software.

31
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Display an analogue sound wave alongside its digital equivalent, for
example:

Credit: Xander1980

Ask:
How is a sound wave different to the data stored by a
computer?
Elicit that analogue sound wave is smooth, while digital jumps from
one number to another. Then ask:
What would happen if the height of the wave was measured
more times, or less times, a second?
Elicit that:
● More times = a more accurate sound wave
● Less times = a less accurate sound wave.
Ask:
What is meant by digitising sound?
Elicit that digitising sound is the process of converting an analogue
sound wave into a series of set values to store on a computer.

Ask learners to work individually to create an illustrated set of


instructions for how to digitise a sound wave. They can choose their
own method for presenting these instructions but should share their

32
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


completed work in groups of three to discuss any different approaches
and to identify any misunderstanding.

Resources
● Graph paper, or equivalent, set up with time on the x axis and
values on the y axis
9CT.05 Describe and use Provide learners with a dictionary and ask them to find the definition Learners do not need to be able to write or
binary searches. for a particular word. Explain that they need to start by opening the follow an algorithm to perform a binary search.
dictionary at the centre and decide whether the word they are looking They need to know that, for a binary search to
comes before or after the word that they see at the centre. Learners be successful, the data needs to be put into an
should then repeat this until they find the word that they are looking order; this could be ascending or descending.
for. Ask:
Is this method faster than looking through the dictionary from A common misconception is that searches only
the start? Or from the end? work with numbers, because these are what
When will this search be slower than starting at the beginning are commonly used in examples. Learners
of the dictionary? should have experience of searching text.
Elicit that, if the search item is near the start, searching in this way will
be slower. Ask: Another common misconception is that all
What would happen if the words in the dictionary were not in searches are on data that is in ascending order.
alphabetical order? Learners should also have experience working
Elicit that it would not be possible to use this method because the data with data in descending order.
is not in an order. Ask:
Does this limit when this searching algorithm can be used?
Elicit that the answer is yes, because the data needs to be in recorded
in a searchable order.

Demonstrate how to do a binary search by displaying a series of


numbers, in ascending numerical order, in a row. Ask learners to find a
particular number, and explain that they need to find the position of
that number. Demonstrate how to compare the number with the middle
number, for example:

33
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


● if not equal then:
o select the numbers to the left if it is less than the middle
number
o select the numbers to the right if it is greater than the
middle number
o discard the remaining numbers.
● repeat this process until the correct number has been found or
until there are no elements left.

Repeat this process with numbers in different positions in the set of


numbers, as well as with numbers that do not exist in the set. Explain
what to do when there is an even number of cards e.g. if there are 10
cards then the middle card is the 5th or 6th (either can be chosen as
long as used consistently) in each search.

Place the learners into pairs and give each pair a set of, up to 10,
cards. Use a set of playing cards. Ask the pairs to put the cards into
order, ascending or descending, and then to turn the cards face down.
Name a specific card and ask the pairs to use a binary search to find
out if they have that card.

Repeat the process of performing a binary search, this time giving


learners a set of cards with words on, for example ten colours. Ask the
learners to work in their pairs to perform a binary search on the word
cards, based upon the first letter of each word. For colours such as
‘Brown’ and ‘Blue’, learners will also need to consider the second letter
of each word in the searches.

Ask each pair to write a set of instructions on how to perform a binary


search. They should then swap their instructions with another pair,
who should follow the instructions precisely to see if they work. If the

34
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


instructions do not work, the second pair should identify the changes
or improvements that need to be made.

Hold a class discussion to elicit each pair’s experience of creating,


and checking, the instructions for a binary search. This discussion
could be structured around the following questions:
How easy or difficult is it to write a list of instructions to perform
this task?
What changes did you have to make to your instructions?
Provide an opportunity for each of their pairs to speak and use this as
an opportunity to address any misunderstanding or misconceptions.
Then ask:
How can you turn this into an algorithm?
Learners may find it helpful to limit their thinking here to a sequence of
steps rather than thinking about flowcharts or pseudocode.

Summarise what has been covered in this activity and ask:


Why are searching algorithms important?
Elicit that these algorithms allow particular data items to be found in a
collection of data. Then ask:
Why are there multiple searching algorithms and not just one?
Elicit that different algorithms are more appropriate in different
scenarios. Learners may benefit from recalling earlier learning about
linear searches when answering this question and comparing these
with the searches that they have used in this activity. Ask:
How practical do you think it would be to do a linear search for
a particular definition in a dictionary?

Resources
● Dictionaries or similar, such as phone books
● Playing cards, or other numbered cards

35
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

36
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Unit 9.2 Computer systems and networks

Outline of topic:
In this unit, learners will explore the purpose and use of system software in a computer system. They will develop an insight into:
● the actions that are carried out by a processor
● the functions of an Operating System that allow a computer system to run, and that allow the user to interact with it.
Learners will also gain an understanding of some of the utility programs and how these are used to keep a computer system running.

Learners’ existing knowledge of networks will be developed further, through the exploration of the different topologies that are used to set-up devices. They
will consider how data is transmitted and the importance of protocols to lay out how to transmit data, as well as using parity bits for error detection.

The unit will require learners to apply their understanding of machine learning and autonomous processes to a range of contexts, and to consider the
benefits and drawbacks of these applications.

Recommended prior knowledge:


Learners should have the following prior knowledge:
● describe the purpose of operating systems and utility programs.
● explain the role of primary and secondary storage within a computer.
● explain the role of a processor within a computer.
● identify benefits and using robotics in industry, such as car manufacturing or food production.
● explain the use of automation in at least two industries, such as health, manufacture or advertising.
● describe how autonomous programming and ai is used in robotics.
● know that all devices on a network have an IP address which is used by data to identify its destination.
● understand how bandwidth affects network performance.
● describe the advantages of disadvantages of wired and wireless networks, including performance and security aspects.
● outline why errors occur in data transmission.
● explain the need to keep data secure during transmission.
● describe the different types of user authentication, including password, fingerprint and facial recognition.
● explain the use of encryption to keep data secure during data transmission.
● explain the role and the importance of a firewall in a network.
37
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

● explain the use of antivirus and antispyware to keep data secure while on a network.

Language:
● Operating system
● Memory management
● File management
● Security / Firewall / Anti-virus
● Utility program
● Defragmentation
● Driver
● Instruction
● Fetch-Decode-Execute
● Scalability
● Topology, including Ring topology / Star topology / Bus topology
● Parity
● Protocols
● Artificial Intelligence (AI)
● Machine learning
● Industry 4.0

38
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


9CS.02 Understand Introduce this activity by gathering an understanding of the learners’ existing
which tasks are carried knowledge of computer systems, for example by asking:
out by the operating What is an Operating System?
system. Elicit that the operating system is a piece of software that manages the
hardware and allows the user to interact with the computer. Learners may
refer to specific operating systems such as Windows, Mac O/S and Android.
Then ask:
Why does a computer system need an operating system?
Elicit that the computer system needs an operating system to manage its
resources, including its memory, storage, input and output devices.

Briefly introduce each task (left -hand column of the table) that is performed
by an operating system, these should include:

Display a list of actions (right-hand column - description) that the operating


system performs, for example creating a directory. Give learners a series of
options as to which type of operating system task performs this, for example
the memory, file or device management. Ask learners to vote which task
each option is related to. Then ask
Why is this related to this operating system task?
Why is it not related to [insert a different management task]?

39
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


In pairs, ask learners to log onto a computer. Each pair should discuss and
identify all the different actions they can perform with a file or directory. For
example, that they can rename, delete and create copies of files. Ask the
pairs for their answers and create a list of the file management tools that are
available on the particular operating system. Review each item on the list
and ask learners whether they think it is specific to that operating system or
whether other operating systems contain the same functions. Encourage
learners to think about devices other than standard desktop and laptop
computers, for example tablets and mobile phones.

Resources:
● Prepared list of actions performed by an Operating System

9CS.03 Describe In groups of four, give learners a set of cards where: Other examples of utility programs can also
examples of utility ● some cards contain the names of utility programs, including drivers, be discussed. These could include:
programs including security software and defragmentation ● Compression software: used to reduce the
drivers, security software ● other cards contain functions that these utility programs perform, for size of a file so it takes up less memory
and defragmentation. example: space and is faster to transmit
o moves segments of files so they are contiguous (connected to ● System update: automatically downloads
each other) updates to an operating system and
o moves all free space together. installs them without the need for user
Ask the groups to match the functions with the utility programs. interaction
● Backup: creates a copy of data (files and
Run a defragmentation program to analyse your hard disk, for example software) in case the original is lost
Windows defragmentation. You may need to search the web for instructions
of how to do this for your operating system. It is also recommended that you A common misconception is that
walk through this in advance of the lesson to check: defragmentation is used to allow larger files to
● the school system allows you to do this fit. The same amount of free space is
● you actually have a hard disk upon which to run the utility program. available before and after defragmentation.
The difference is that all the free space is
together, so that when the file is read the data

40
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


If it is not possible to run the program in front of your learners, you may be is contiguous and, therefore, it is faster to
able to find a video, on a video sharing platform, that shows this process. A access as it does not have to search for the
video which shows any operating system can be used for this. next part.

Display an empty memory space, for example: Another misconception is that because there
is a defragmenter, there is also a ‘fragmenter’
and that this is used to purposefully fragment
a disk.

Explain that each space is worth 1 unit. Provide digital copies of this memory
Application software could include text
space to each group of four learners.
processing software, database or spreadsheet
software etc. Try and avoid the use of brand
Ask one learner from each group to shade a new file, that contains a set
names to encourage learners to think about
number of units. For example, the learner might add a file that takes up 4
the type of software, rather than one specific
units as follows:
version.

A second learner in the group should shade a further file, using a different
colour, for example to take up two additional units:

The third learner in the group should then take control and follow an
instruction to delete file 1:

41
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Ask the fourth learner to add a file that takes up 7 units. Support them to
understand that this file will need to be split:

At the end of the activity, there should be a fragmented disk because the
deleting of files should create empty space, that is then filled by new files
that are separated across the memory space. Learners should understand
that, when this happens, the computer cannot run from one part of a file to
the next. They should also understand that it therefore takes time for the
whole file to be found. Learners could be supported in their understanding by
considering a bookshelf, where:
● that shelf contains books on a range of topics
● the books are ordered based upon the author’s surname
● new books are added wherever space has been created by books
that are currently in use
● the user needs to find all of the books that are about one topic, for
example Computing, in order to help them complete a project.
Learners should consider this bookshelf as being fragmented.

Share a visual image of a file system and the segmented files using colours
or symbols. This could be set-up in a spreadsheet, for example:

42
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Ask each learner to move the file segments so that they are all together, i.e.
so that they are grouped by the same colour or symbol. They should also
observe that all of the free space is now also together. Learners should
understand that this is what defragmentation does and that, if a computer
starts running slow, defragmentation may be a solution.

Ask learners to list all the different security measures they have ever used to
access a computer or particular files, for example by asking:
Have you found you cannot access a computer or a file?
What did you have to do to gain access?
When discussing not being able to access a file, learners may talk about
connectivity issues, however the focus here should be on:
● usernames and passwords
● access rights
● two-step verification
● biometrics.
Collate the answers that are provided by the class and guide them towards
any that have been missed.

Ask learners to work in their groups of four to put these security measures
into an order that starts with those that offer the most protection through to
those offering the least. Ask one learner from each group to read out their
order and to justify their choices. This justification can be prompted by
questions such as:
Why will [protection method] offer more protection than [protection
method]?

43
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Discuss any differences within the lists that are provided by different groups
and agree a final order through a class discussion. Display the agreed order
so that learners can copy, or photograph, this for their own notes.

Ask learners to recall the security measures that can be used to protect
data, for example:
● encryption
● firewall
● antispyware
● antivirus.
Ask:
What security measures do you usually get with a new computer?
As an example answer, learners may mention Windows firewall.
What security measures do you usually have to buy separately for
your computer?
Explain that when these come with a computer, they are known as utility
programs.

Display the word ‘driver’ and ask learners to consider how people who speak
different languages can communicate. For example, by asking:
If someone walked into the room who could only speak a language
that you do not know, what would you do to understand what they
were saying?
Elicit that learners could use a translator or language dictionary, etc. Relate
these suggestions to the use of a driver as a piece of software that converts
data in one language, when it is received from an external device, to that of
the main computer.

Play a game of 'utility program or not'. Show, or read out, the name of a type
of software (utility or application) and challenge learners to identify if it is a
utility program, or not. Examples of utility software could include:
● encryption

44
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


● firewall
● antispyware
● antivirus
● defragmentation
● drivers
Application software could include text processing or database software.

In pairs, ask learners to conduct research to find a utility program that has
not yet been mentioned during this activity. Some learners may benefit from
being given a specific utility program as a starting point for their research.
The pairs should identify the type of utility program, the actions it performs
and the reason why it exists. An example that they find might be Antivirus,
which scans files to detect threats and removes them, it exists to stop data
being damaged or lost.

As the pairs are each researching a separate utility program, ask them to
report their findings back to the class. The remaining learners should make
notes, possibly by completing the following table:

At the end of the activity, learners can also add the utility programs that were
discussed earlier in the activity to their notes.

Resources
● Set of cards detailing utility programs and functions
● Defragmentation visual image, or editable version, for example,
using a spreadsheet

45
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


9CS.08 Understand that Provide learners with a series of instructions to follow. These could be In reality the instructions will not be stored in
computers store lists of practical actions such as 'stand up, sit down, clap your hands' etc. Ask order in memory, and the instructions and data
instructions to be run learners to carry out the instructions one at a time. Repeat this activity but will be stored separately. This level of
one at a time. with more mathematical related actions, for example: knowledge is not required at this stage.
add 10 and 3, subtract 7, multiply by 10. Likewise, the instructions would often be
9CS.09 Understand the Relate this activity to computers and programs, by explaining how the taught as assembly language; converted from
Fetch-Decode-Execute programs are stored as a list of instructions that the processor runs one at a binary. This is also not required knowledge at
cycle. time. this stage, and therefore using direct
statement instructions will help learners
Display a set of instructions, with data, and a binary code for each understand the processes involved without
instruction, for example: getting stuck in the finer detail.

The FDE cycle could be combined with


programming, where each line of the program
is fetched and executed one at a time to
simulate how a program will run.

Also display an example of memory with the code for the instruction in each
location, for example:

46
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Explain how the processor performs the Fetch, Decode, Execute cycle by:
● fetching the first instruction from the memory, for example memory
location ‘0001’ fetches instruction code ‘10001000’
● decoding it by, in the case of ‘10001000’, turning it into ‘Input a
number from the user’
● then performing, or executing, the action. It may be appropriate for some learners to
Ask learners to follow the program in ‘memory’ by performing the FDE cycle either create or follow smaller or larger sets of
to write the instructions in the order that is defined by their memory location. instruction here.

In pairs, ask learners to create a list of instructions for their partner to follow, Learners also do not need to use 8-bit code,
similar to those that have been demonstrated above. These can be practical they can use 4 to 6. They should ensure that
actions, or mathematical operations, or anything that is sensible and can be the codes are unique.
written as a set of instructions. Ask learners to convert each instruction into
binary, with each instruction being given a unique binary number, and
provide a table that will enable their partner to translate the instructions. The
partners then need to swap their instructions and attempt to follow them.

Hold a class discussion that supports learners to reflect upon this activity.
The discussion could be prompted by questions such as:
Was your partner able to convert your instructions accurately?
Did you make any mistakes in your binary?
How easy is it to follow the binary numbers?
Learners could also produce a flowchart that includes the three stages of the
FDE cycle and illustrates the cycle element by returning to the top at the end
of the sequence.

Resources
● Lists of instructions for learners to follow

9DC.03 Explain the Introduce this activity by asking: Scalability can be limited to factors including:
scalability factors that Have you ever found an area where you have a strong wireless ● Distance data has to travel
should be considered signal? ● Amount of data to be transmitted
47
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


when designing Or a weaker wireless signal? To ensure the scalability, the distance can be
networks. If it was weak, what did you do to make it stronger? mitigated using boosters (wi-fi and/or
Ask learners to consider why there can be differences in signal strength and ethernet).
lead them towards factors such as distance, wireless frequency and
obstacles. The amount of data can be mitigated by
having further bandwidth, or by using multiple
Ask: smaller networks that then connect together.
How can the connection be improved? This will mean that all the data is not all
How can you get a better signal? travelling on the same route at the same time.
Elicit that improvements could be made through the addition of signal Transmission can instead be managed in
boosters or the removal of obstacles. smaller areas and, therefore, not all be using
the same transmission media all the time.
Create a simulation of cable transmission. This can be done by:
● setting up a single channel that data can be transmitted down, for Learners are likely to have some experience
example a pipe of problems associated with transmission, for
● giving learners several pieces of physical data, either on paper or as example being out of range, or having a slow
an object that will fit down the channel connection. Relate the content to their
● select one learner to transmit their data down the channel experiences, for example by asking:
● repeat with two learners transmitting at the same time how did you get a better signal?
● gradually increase the amount of data until there are many learners what did you have to do to improve
trying to get down the same channel at the same time. your download speed?
Relate this to the problem with bandwidth by explaining that the more Discuss the steps that learners took can be
devices trying to transmit data at the same time, the slower it will be, scaled to provide solutions to wider problems.
because the devices are competing for space in the channel.

Repeat the process with a larger channel, for example a wider pipe, and link
this to how increasing the bandwidth allows more data to be transferred at
the same time.

Discuss the findings by asking questions such as:


What happens where there is not enough bandwidth?
How does this affect your network usage?

48
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


How can you improve your network performance?
An outdoor space may be required for this
Setup a data transmission system between learners, using items such as activity.
tennis balls. One learner will act as the router and other learners will act as
the devices that are sending and receiving the data. The router has to send
data to the devices by throwing the item for them to catch, and vice-versa.
Add more learners that are further away. Elicit that the greater distance
results in the throws becoming less accurate and an increased likelihood
that the data will not reach that distance.

Introduce a further learner as a signal booster, who will stand between the
router and some of the devices. The router sends the data to the booster
who then throws it onwards, allowing the data to arrive at its destination.
Discuss learners’ reflections on this activity by asking:
What is the role of a router in a network?
Answer: To receive and forward data, to connect a network to the
Internet
How does a signal booster help transmit data in a network?
Answer: It allows devices that are further away to connect with the
network
Why is a signal booster sometimes needed in a network?
Answer: Because the signal does not reach far enough, or because
obstacles are in the way.

Ask learners to consider the cost factors that need to be considered when
designing, or adding to, a network. Elicit that:
● wi-fi might be cheaper than cable because new devices can be
added without adding more cable but this might create security
issues or the need for additional boosters.
● a wi-fi network might have limited bandwidth therefore whole new
networks might need to be created to reach other areas within a

49
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


building. Therefore, initial savings could lead to an increase in costs
as a network grows.

If applicable, conclude this activity by asking learners to suggest why all of


the computers in the class are hardwired. They should consider security,
scalability and cost in their responses.

Resources
● Items to act as data for transmission such as pipes, ropes or balls.
9DC.05 Explain the Display the following questions and ask learners to consider their responses When discussing encryption, learners may
choices that should be for a short period: consider that only private data, such as login
made when What security do you have on your own computers? details, payment details etc., should be
implementing network What does a firewall help to prevent? encrypted. It is important to discuss whether
security, including How can you stop data being intercepted during transmission? all data should be encrypted, especially over
accessibility, cost and In pairs, ask learners to discuss their responses and to agree an answer to wi-fi, because it might contain other data that
the relative security the second and third questions. Ask each pair to share their answers with can also be misused. This data could include
requirements of different the class. Elicit that a firewall prevents unauthorised access through the a range of private information.
data sets. Internet and that you cannot prevent data from being intercepted, but you
can use encryption to stop it from being read.

Ask each pair to join one other to form a group of four. Give each group a list
of data items to be transmitted. These should include a range of data, with
some needing to be secure and others not. Examples could include:
● a social media post
● log-in details for a bank account
● an email with a piece of homework attached
● a video being downloaded from a website
● a novel being emailed to a publisher
● an upcoming exam paper that is being emailed to schools
● credit card details to purchase an item

50
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Ask the groups to put the data in order from those requiring the highest
security to the least security. Ask the groups to share their ordering, and to
justify their choices.

Review each item from the highest security down and ask learners to vote
on whether they think encryption should be used during transmission.
Welcome different opinions and ask learners to justify their choices by
asking questions such as:
Why should encryption be used during transmission?
Why is encryption not needed in this scenario?
Is this data important or private enough to use encryption?
Should all data always be encrypted?
There is not necessarily a correct answer to whether all of these should use
encryption. Some of the examples, such as log-in details and exam papers,
should always be encrypted but others, such as a piece of homework, could
be argued as not needing encryption.

Ask learners to return to their groups of four to discuss the following


questions:
How would you connect a new device to your home network?
If I wanted you to connect my phone to the school's network, what
would you have to do?
Do you know your network password, or do you have to look it up
each time you need it?
Ask for a small selection of answers to be shared with the class, ensuring
that no passwords are shared.

Give each group a different scenario, for example:


A small accountancy firm has 5 employees. It works with customers
through the Internet and in person. It stores financial information
about its customers and takes payments by bank transfer and card
payment.

51
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Give each group a budget for their scenario's security, for example $1000
(US), based on the company size and their requirements, etc. Display a list
of options for each security item that each group can select from. For a
firewall, the examples could be:
● Central firewall that filters data coming from the Internet - $200
● Central firewall that checks incoming and outgoing data from the
Internet - $350
● Firewall on each device that monitors data incoming and outgoing
from that device - $150 per device
Ask the groups to decide how their budget should be spent and to justify
their expenditure. Ask the groups to present the outcome of their discussions
to the directors of the company. The presentation should include a clear
recommendation and a discussion around the compromises that needed to
be made. Ask a range of questions, to each group to check their individual
understanding, for example:
Why did you select this firewall instead of [insert a strong/weaker
one]?
Why did you think that [insert method] was more important than
[insert method]?
Conclude the activity by eliciting that, ideally, each company and individual
would be able to select all of the security that they need but that there are
financial and practical considerations that affect the decisions that are made.
Therefore, careful consideration and selection is required so that the best
compromise can be achieved. Ask:
Even if everyone were able to obtain all of the security that they
needed, would this be the ideal scenario?
Elicit that, while this scenario would be good, an even better one would be if
there was no need for security in the first place. Support learners to
understand that the ‘ideal world’ where no security is required, is
increasingly less likely to ever exist.

Resources

52
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


● List of data items that can be transmitted over the Internet
● Scenarios of companies, or people, who require security systems
9DC.01 Know that there Set-up a simulation of a network. For example: Learners need to understand that there are
are different network ● position learners to act as computers on a network different layouts but do not need to know
topologies, including ● explain who they are connected to and can transmit data to. This can in-depth how these work. For example, in a
bus, ring and star be by description or they can have a piece of string or rope to ring network, it is sufficient to know that the
connect them to the other 'devices' data travels through each device in turn to its
● ask one specific learner to write a message on a piece of paper and destination. An understanding of the use of
to 'transmit' it to another specific device. tokens within a ring network to control which
● repeat this process with different learners transmitting and receiving. device can transmit is not required.
Ask learners to remain in their positions and ask the following questions:
What happens if [select a student] stopped working? Similarly, the benefits and drawbacks of these
Would the other devices still be able to communicate? topologies are not needed, although they may
What happens if the number of computers increased? come up in discussions, or in practical
Would the network still run as efficiently, or would it slow down activities where topologies are being 'acted
significantly? out'. For example, in a bus if everyone is
sending data at the same time, then they
Display the word ‘topology’ and representations of the ‘bus’, ‘ring’ and ‘star’ might collide.
network topologies, for example:
If learners have the scope to understand
potential benefits and drawbacks, ask what
happens if a computer stops working. If the
topologies are being acted, then a connection
can be broken. In a ring, the network will stop
working, but in a star all other devices can
continue to work.

Support learners to represent each of these networks in turn, starting with There are many more topologies, and quite
the ‘star’ network. When simulating the star network, one learner will need to often networks are made of many different
act as the server. This learner will receive all messages and then forward topologies joined in different ways (to avoid
learners thinking that these are the only

53
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


them on to the recipient. Ask specific learners who have sent or received options). A common one would be the mesh
messages questions such as: network where every device is connected to at
Where did you receive messages from? least one other device and the signals move
Where did you send messages to? through the devices to the destination.
What are the key features of this topology? How does this topology
differ from a [insert topology] topology?

Repeat this with each topology, so that star, bus and ring are all considered.

Give each learner a printed diagram with several computers displayed.


Name a topology and ask learners to draw the connections to produce the
topology design.

If your school has a network and an IT department, ask one of the


technicians to bring a diagram of the school's network to show the class. Ask
the technician to describe the topologies that are used. Learners can then
visit the rooms or areas where the topologies are implemented, so that they
can see the cables and switches.

Resources
● Network diagrams

9DC.04 Understand the Play a game where one learner is given a 15-bit binary number and has to Common misconceptions about errors in
role of parity bits in error whisper it to the next person. The number continues to be passed until it transmission and parity bits include:
detection. reaches the last person, who can then compare the first number with the one ● that the parity is even if there is a 1 in the
that has arrived. parity space, and odd if there is a 0 in the
parity space
Explain that a parity bit, 1 or 0, is appended to each 7-bit binary number, to ● that the data is transmitted correctly if
make a byte, and to make the total number of ‘1’s odd or even. This is so, there is a 1 in the parity space, and
that when the receiving device receives the data it can check whether there incorrectly if there is a 0 in the parity
is still an odd or even number of ‘1’s. If the match is not correct, the receiving space

54
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


device will therefore detect an error. Before transmission, the two devices ● that the parity bit is part of the actual
will agree whether ‘odd’ or ‘even’ should be used. data. A byte of data that uses parity has
7 bits of data, and 1 parity bit. The parity
Select even parity first, then work through a series of 7-bit binary numbers, bit is not included as part of the data.
demonstrating how to count the number of 1s and then add a ‘1’ or ‘0’
accordingly to make the number of 1s even. Select specific learners to Learners do not need to consider when parity
complete some of the bytes by adding the 1 or 0. Repeat this using odd will not identify an error, but some learners
parity. may come across this themselves, or raise it
as a question. If an even number of bits have
Give learners a set of bytes with parity bits, for example 10001001. Explain changed, then the parity will be correct but the
that all bytes have been transmitted correctly. Ask: data will be incorrect.
Was each byte sent using even or odd parity?
Elicit that, in the example, the answer would be ‘odd’. Then ask:
How do you know this?

Give learners a set of bytes, each with 1 bit being the parity bit, and
confirmation of whether odd or even parity was used for each. Ask them to
identify if there is an error in each byte by working out whether the number of
‘1’s matches the parity. Ask leaners to compare their answers with a partner
and to identify any they got different answers for, and to find the correct
answer.

Hold a class discussion to support learners’ reflections on this activity. Ask


the following questions:
What is a parity bit?
Answer: An extra bit added to a binary number to identify if there is
an odd or even number of 1s.
How do you know what the parity bit should be?
Answer: Add the number of 1s, and add a 1 or 0 to make it odd or
even as required
How does parity help you identify if there has been an error in
transmission?

55
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Answer: If the received data is not odd or even as required, then an
error has occurred.
Remind learners to make personal notes during this discussion.

Resources
● Series of bytes and parity bits
9DC.02 Explain the role As an introduction to this activity, place learners into pairs and ask one Learners need to understand the purpose of
of protocols in learner to write a word to send to their partner in binary. The learner should protocols, and in general what TCP/IP and
transmitting data, know what their binary means but their partner should not. Do not give the HTTP are for. They do not need to know
including TCP/IP and learners any input about: in-depth how these work or the different
HTTP ● what the binary should represent functions they allow, for example the use of
● how it should be written layers.
● how many bits there are per character, etc.
Ask the first learner to pass on the binary message, and for their partner to
try and work out what it is. The partner should find that this is not possible
because there is no basis for what the binary means, such as what binary
number represents each character.

Discuss what further information the learners need, for example:


● the number of bits per character
● the bits that represent each character.
Ask learners to repeat the process, this time by first sending the required
data, including the bits per character, and bits that represent each character.
Relate this to the purpose of a protocol, which is to set up the rules for
transmission before it begins and to make sure both devices are 'talking in
the same language'.

In pairs, ask learners to discuss the following questions:


What are the different types of data that can be transmitted over the
Internet?

56
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Example responses: requests for webpages, the webpages, emails,
files, payment details
What are the differences between these different types of data?
Will they all have the same amount of data to be transmitted?
Will they all be transmitted with the same encryption?
Will they all have the same error detection?
Once the pairs have had an opportunity to discuss each question, hold a
class discussion to support learners to understand that different data
transmissions may have different requirements. Link this to the need for
different protocols, depending on the data.

Discuss learners’ prior knowledge by asking a series of further questions, for


example:
What does IP stand for?
What is the purpose of an IP address?
How and when is an IP address used?

Introduce learners to TCP/IP as the protocol, or set of rules, that dictates


how data is transmitted over the Internet. Explain that any data being
transmitted is formatted and sent by these sets of rules.

Introduce learners to HTTP as the protocol, or set of rules, that dictates how
HTML webpages are requested by web browsers and transmitted by web
servers.

Show learners a list of actions that take place over the Internet, for example:
● watching a video
● opening a webpage
● emailing a file
● downloading a file from a server.
For each item on the list, ask learners whether:

57
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


● TCP/IP will be used, which is used for everything transmitted over
the Internet
● HTTP is used, which is everything that involves a webpage, for
example downloading a file from a server may not use HTTP if it is
not going via a webpage.

To capture their learning from this activity, ask learners to create a mind map
with the word ‘protocol’ written at the centre. They should then make a note
of all that they have understood from this activity, including:
● definitions
● purpose of having protocols
● examples of protocols.
9CS.10 Describe a Introduce this activity by asking different learners to explain what is meant by Learners do not need to understand the
range of scenarios ‘machine learning’. The first learner should provide their definition and this benefits and drawbacks of machine learning,
where machine learning should then be challenged or built upon by other learners. Elicit that machine but this does not prevent a discussion taking
is used. learning occurs where a program is able to change its own programming or place. Learners are likely to have opinions on
rules. the use of AI and machine learning and this
would be a suitable opportunity to discuss the
Discuss what it means to 'learn' something by asking: benefits and drawbacks.
How do you learn something new?
Support learners to place their responses into the context of the agreed
understanding of what machine learning is.

Introduce a generic application of machine learning, for example: Machine learning and artificial intelligence are
● image recognition terms that are often used interchangeably.
● voice recognition These terms should have been covered
● a game learning how to play something, such as chess. previously, but it may be necessary to remind
Ask: learners that machine learning is one part of
Have you ever used this application? artificial intelligence, so that they do not
Learners may identify how they log onto a mobile device using image confuse the terms. This could be supported
recognition or how smart devices, such as speakers use voice recognition. through examples of applications, making it

58
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


clear that in some scenarios identified by
In pairs, give learners an example of an application of machine learning. The learners, artificial intelligence may be used,
pair should discuss the application and produce an output, such as a poster, but machine learning may not. For example, in
video or written report that explains their understanding of how it works and many computer games characters are moved
how machine learning is applied. Their discussions can be prompted by the by AI but they do not learn or adapt their
following questions: movements based on their experiences.
What are the features of this system?
How is machine learning used?
What is machine learning?
What is this particular machine learning?
Why is a machine learning system better than a non-learning
system?
Can the use of machine learning have any drawbacks? For example,
will everyone agree to the use of machine learning?
Why might some people not want machine learning to be used?

Ask each pair to join with one other, to make a group of four. Give each
group a newspaper article, or online report, about how machine learning is
used in a specific scenario. Ask each group to write a summary of the article
including:
● the machine learning used
● why it is used
● the benefits it brings
● the drawbacks.
This could be presented in a variety of forms depending on learners’ own
choice, for example it could be a presentation, a written report, a poster etc.
Ask the groups to present their findings to the class, encouraging other
groups to ask questions about their findings, for example:
How was machine learning used in the scenario?
How did machine learning improve the actions?
Were there any problems?

59
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Conduct a research race by asking learners to remain in their groups of four.
Give each group a type of machine learning, for example image recognition
and a small, and set, amount of time to find as many uses for this type of
machine learning as they can. This can be conducted using search engines,
their own ideas, textbooks etc. Ask each group in turn for an application for
their given type of machine learning and create a class list on a board,
continuing until there are no remaining examples. Ask each learner to make
a personal note of all of the examples that are listed, they can supplement
their lists with any personal reflections that they would like to add about what
they have discovered during this activity, for example:
do they personally feel more comfortable with some applications of
machine learning than they do with others?

If possible, arrange a visit to a local business, or other organisation, that


uses machine learning. Alternatively arrange a visiting presentation from
someone who makes use of machine learning. Examples could include:
● a factory that uses machine learning to monitor its processes
● police who use facial recognition in crowds, etc.
Ask the presenter to explain the machine learning that they use, how they
use it, and why they use it. If a suitable presenter cannot be found, show
learners a selection of videos that demonstrate applications of machine
learning, for example:
● how machines learn to recognise faces in facial recognition
● how a computer could learn to play chess through playing multiple
repetitions of the game.

Resources
● Articles or reports about machine learning
● A visit to or from an organisation that uses machine learning, or
videos of machine learning in action.

60
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


9CS.11 Describe the Introduce this activity by asking the following questions: Learners often find it challenging to think
benefits and drawbacks What is automation? about other perspectives, especially when
of the computerisation of Answer: A system operating without human interaction they have never experienced a given context.
traditional manufacturing What autonomous systems have you seen or used? This will be relevant with manufacturing and
and industrial practices, What are some other examples of autonomous systems? industrial practices where learners may be
for example Industry 4.0. What is meant by autonomous programming? unaware of the requirements. Visiting
Answer: A robot that moves dependent on its surroundings. industries, arranging talks, and watching
What is meant by robotics? videos of these systems in action will help
Answer: The design, construction and use of devices that simulate learners to understand how computers are
human actions. used. By talking to people affected, or by
pretending they are a person that has been
Place learners into groups and give each a video of a manufacturing or affected, such as someone whose job has
industrial practice, for example: been replaced, learners can start to
● the building of vehicles understand the benefits and drawbacks.
● the use of automated tractors in farming
● the packing and distribution of products in a factory. To provide a context for understanding the
evolution of Industry 4.0, learners may find it
Ask each group to watch their video more than once and to make a note of: helpful to acknowledge the relevance of the
● the elements of the process that are computerised ‘4.0’. They can do this by giving an outline of
● why they think each of those elements is computerised what versions 1.0 to 3.0 entailed. This
● the benefits understanding can be limited to an outline, for
● problems that automation could introduce. example:
‘1.0’ was the first industrial revolution
Ask the groups to conduct background research into their given scenario which involved the use of steam power
and to present their findings. Follow up each presentation by asking in tasks that had previously only been
questions such as: done by human hands.
Why is this process computerised? This outline understanding could also be
Why is a computerised system better than a human-operated supported by drawing attention to the fact that
system? the time gap is shortening between each
Are any problems found when implementing the system? revolution.
What are the long-term benefits?

61
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Describe a context to the class, for example a video of an automated stock
management system. Ask them to identify benefits and drawbacks, for
example:
● cost
● jobs
● efficiency.
Each group should identify at least one benefit and one drawback. Ask each
group in turn to share their observations and use these to create a class list
of the overall benefits and drawbacks. Ask the class to vote whether the
computerisation of this system is positive, or negative. Select individuals to
justify their vote by referring to cost, jobs, efficiency or a combination of
these points.

In pairs, give learners an example manufacturing scenario where


computerisation might be introduced. Ask one learner to write an argument
for the benefits of computerisation, and the other to write an argument
against. Ask the class to then vote on whether it should be implemented or
not.

Show learners a list of statements about the impact of computerisation that


are stated as either positive or negative, for example:
● jobs are replaced by robots
● new technical jobs to maintain the computers are created
● less expense to be spent on employing people.
Ask learners to use the statements to write a balanced argument as to
whether computerisation should be introduced.

If possible, arrange a visit to a business or organisation that has


computerised some, or all, of its systems. Alternatively, arrange for
someone to visit the class to describe their organisation’s computerised
systems. Challenge learners to find out from the organisation at least three
positives and three negative implications of the computerisation.

62
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Resources
● Video of a manufacturing or industrial process
● Description of contexts that make use of computerisation
● Positive and negative statements about the impact of
computerisation

63
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Unit 9.3 Programming

Outline of topic:
In this unit, learners will implement algorithms using pseudocode, flowcharts and a text-based programming language. They will explore further
programming features in a text-based language to extend their learning from earlier stages. This will include the implementation of count-controlled loops.

Learners will need to make use of pre-existing subroutines to write programs, and will be introduced to string manipulation features, including length,
uppercase and lowercase. They will also be introduced to accessing data from arrays.

Learners will also explore the use of compilers and interpreters, including their role in the translation of program code, and the specific features of each.

Recommended prior knowledge:


Learners should have the following prior knowledge:
● Follow a flowchart or pseudocode algorithm that uses conditional statements
● Explain the purpose of a 1-dimensional array
● Know how to develop text-based programs with conditional (selection) statements
● Follow a flowchart or pseudocode algorithm that uses loops
● Understand and use iteration statements, limited to count-controlled loops, presented as either a flowchart or pseudocode
● Know that computers represent data in binary (0, 1)

64
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Language:
● Iteration
● Count-controlled loop
● Subroutine
● Lowercase / Uppercase
● String length
● Array
● Index
● String manipulation
● Translator
● Compiler / Interpreter
● Executable file

65
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


9CT.03 Know how to create Introduce this unit by checking learners’ prior knowledge of There are a range of possible standard flowchart
algorithms using flowcharts flowcharts and pseudocode. Ask: symbols, the ones listed here are those that match
and pseudocode. What are the standard flowchart shapes? the ones used in the Cambridge International
What does an arrow in a flowchart show? qualifications:
Answer: The direction of flow ● Rectangle for process
What rules does pseudocode have? ● Rectangle with rounded corners for start
Answer: There are no set rules, but standard programming and stop
symbols should be used instead of English-style sentences ● Parallelogram for input and output
When are flowcharts and pseudocode used? ● Diamond for selection.
Answer: When designing algorithms and solutions to problems

Display a flowchart, for example:

The matching pseudocode for this flowchart would


be:
num1 = input("Enter a number")
num2 = input("Enter a number")
total = num1 + num2
print("The total is ", total)

66
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Ask learners to convert this flowchart into pseudocode. They should
compare their response with a partner and discuss any differences.
They should consider if these differences are valid or whether there
are errors in one, or both, pseudocode algorithms.

Repeat this activity with flowcharts of increasing complexity, for


example:
● by introducing multiple operations
● then introducing selection statements. A flowchart solution to this algorithm would be:

Give learners a pseudocode algorithm, for example:


number1 = input("Enter a number")
number2 = input("Enter a number")
number3 = input("Enter a number")
number4 = input("Enter a number")
if(number1 > number2 and number1 > number2
and number1 > number3 and number1 >
number4):
print(number1, " is the largest")
elif(number2 > number3 and number2 >
number4):
print(number2, " is the largest")
elif(number3 > number4):
print(number3, " is the largest")
else:
print(number4, " is the largest")
Ask them to present this pseudocode as a flowchart. They should
then compare their responses with a partner and identify any errors,
or to determine if they have different, but still accurate, flowcharts.

Give each pair the description of a problem, for example:

67
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Freya wants to work out how much money she will have left
at the end of the month. She needs to enter the amount of
pocket money she gets each week for 4 weeks. She then
needs to enter the 5 products she has bought and how
much they cost. The program then needs to output how
much money she will have left.

In pairs, ask learners to write a pseudocode algorithm to solve this A pseudocode solution to this problem would be:
problem. Each pair should then swap their solution with another, week = input("Enter the amount
and test whether they work. To support their testing, provide of money you get a week")
learners with some input data, for example: totalMoney = week * 4
● the amount of pocket money received each week product1 = input("Enter the
● a list of items and their costs. cost of the first item you
bought")
Hold a class discussion to summarise this task. This discussion product2 = input("Enter the
could be prompted by the following questions: cost of the second item you
Did your solutions solve the problems? bought")
Did you find any errors? product3 = input("Enter the
What were the errors? cost of the third item you
How did you solve them? bought")
How did you test whether your solution solved the problem? product4 = input("Enter the
cost of the fourth item you
Resources: bought")
● Set of flowcharts for learners to convert to pseudocode totalLeft = totalMoney -
● Set of pseudocode algorithms for learners to convert to product1 - product2 - product3
flowcharts - product4
● Set of problems showing algorithms print("You will have ",
totalLeft, " money left")
9CT.04 Know how to use Display the term ‘sub-routine’ and ask a learner to explain their
predefined sub-routines in understanding of its meaning. Ask other learners to add to the
flowcharts or pseudocode. answer until a suitable definition has been achieved. Elicit that:

68
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


● a sub-routine is a self-contained program that that can be
called from other programs
● sub-routines can be used multiple times in an algorithm and
can be used across different algorithms.

Display a list of instructions for actions that include a subroutine, for


example:
Define: Action 1 = clap 3 times, jump twice, clap 3 times
Action 2 = turn around three times, clap 10 times

Ask learners to follow these sub-routines, by calling out the


following sequence of instruction:
Stand up
Action 2
Action 1
Sit down
Stand up
Action 1
Action 2
Action 1
Sit down

Hold a class discussion to determine learners’ understanding of


what they have done during this activity. Ask:
What did you do for Action 1?
How did you know what you had to do?
Why was it easier to write Action 1 instead of 'clap 3 times,
jump twice, clap 3 times' each time?

Remind learners that these are subroutines and help them to recall
the definition that was agreed earlier in the activity. Explain that a
sub-routine is:

69
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


A set of commands that is given an identifier and can be
called from anywhere in an algorithm.
Elicit that using subroutines means that:
● you do not need to write the same code every time it is used
● each small programme or algorithm only has to be written
once but can be used many times within a larger
programme or algorithm.

Display a flowchart subroutine that has already been written, for


example a subroutine that converts Celsius to Fahrenheit:

Also display a flowchart that makes use of the subroutine, for


example:

70
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Ask learners to work in pairs to follow the algorithm. Ask one pair to
demonstrate the steps they followed, by explaining which instruction
they followed.

Give learners another flowchart, for example for a different


conversion. Ask them to draw a flowchart that calls this flowchart as
a subroutine.

Display a pseudocode subroutine, for example:


subroutine addition()
firstNumber = input("Enter the first
number")
secondNumber = input("Enter the second
number")
result = firstNumber + secondNumber
print(firstNumber, " + ", secondNumber, "
= ", result)
endsubroutine

Now provide a program that uses this subroutine, for example:


answer = input("Do you want to add two
numbers together?")
if(answer == "yes"):

71
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


addition()
else:
print("Program exiting")
In pairs, ask learners to follow this program by entering different "yes", 2, 3 would give the output: "2 + 3 = 5"
data, for example: "yes", 1, 19 would give the output: "1 + 19 = 20"
● "yes", 2, 3 "no" would give the output "Program exiting"
● "yes", 1, 19
● "no".

Provide each pair with pseudocode subroutines for other


mathematical operations, for example subtraction and A subroutine for subtraction could be:
multiplication, etc. Ask them to extend the above pseudocode subroutine subtraction()
program by allowing the user to input which mathematical firstNumber = input("Enter the
calculation to follow, and then call the appropriate subroutine. first number")
secondNumber = input("Enter the
Summarise learner's work by asking second number")
What is a subroutine? result = firstNumber - secondNumber
Answer: A section of code with a name that can be called print(firstNumber, " - ",
from another program. secondNumber, " = ", result)
How do you call a subroutine in a flowchart or pseudocode? endsubroutine
Answer: Use its identifier.

Resources:
● Set of instructions to follow including one or more
subroutines
● Flowcharts that use subroutines
● Pseudocode that use subroutines
● Algorithms in flowchart or pseudocode that include
pre-written subroutines
9CT.06 Understand and use Gather learner's existing knowledge of count-controlled loops by
iteration statements, limited asking the following questions:

72
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


to count-controlled loops, What is iteration?
presented as either Answer: Code that repeats multiple times.
flowcharts or pseudocode. What is special about a count-controlled loop?
Answer: It runs a set number of times.
9CT.09 Combine multiple What features do you find in a count-controlled loop?
constructs (sequence, Answer: A variable, its start value and its end value.
selection, count controlled
iteration) to write algorithms Provide learners with a problem that will require them to make use A pseudocode solution, that follows python syntax,
as flowcharts or of a count-controlled loop, for example to output the numbers 1 to would be:
pseudocode. 100. In pairs, ask them to discuss how to solve the problem. One of for x in range (1, 101):
each pair should draw a flowchart to solve the problem, and the print(x)
9P.03 Know how to develop other should write a pseudocode algorithm. The pairs then compare In this example, ‘101; has been used because in
text-based programs with their ideas to see if they both perform the same function. python this would be where the loop stops. Other
count-controlled loops. languages would stop at ‘100’, for example:
Introduce learners to the syntax for programming count-controlled for x = 1 to 100
loops in a text-based programming language. In Python, this is: print(x)
for variable in range(startvalue, endvalue +1): next x
code
A flowchart solution would be:
Provide learners with a help sheet which details the format and
example programs that use count-controlled loops. Support them to
make their own notes so that they can refer to it when
programming.

Ask learners to convert their pseudocode or flowchart into a


program using a text-based program, using the sample programs
on their help sheet for guidance.

Display a problem that requires the use of a count-controlled loop,


for example:
a program needs a user to enter the cost of 20 items, and
then output the total and the average.

73
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Ask learners to write a solution to the problem in the text-based
language.

Hold a class discussion to check learner’s confidence during this


task. This discussion could be informed by the following questions:
Did your programs work first time?
If not, how did you find the error?
How did you correct that error?

Resources:
● Problems that require the use of count-controlled loops
● Help sheet that provides the syntax for count-controlled
loops in text-based language
9P.04 Know how to access Display an array as a table, for example: Most arrays start with index 0, learners will need
data from an array using a reminding that the first element is in index 0, the
text-based language. second in index 1, etc.

Python does not have an inbuilt array data


Ask a series of questions to check learners’ understanding of this
structure. Instead it uses lists that have similar
array, for example:
functionality and can be used in place of arrays.
What data is in index 0?
Answer: 30
What is the result of the data in index 2 + the data in index
3?
Answer: 35
What will be output if the pseudocode statement
OUTPUT(array[4]) is run?
Answer: 6

74
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Display the syntax for accessing an array in a text-based language Python syntax involves the array name, followed by
and talk through it. Provide learners with a print-out of the syntax or square brackets with the index inside, for example:
ask them to make their own notes. Learners’ notes should include: myArray[0]
● how to output the value
● how to store it in a variable to perform other functions, for
example to add to another number.

In pairs, give learners a program that already has an array


declared, with values inserted, for example:
myArray = [1, 4, 5, 3, 15, 64, 27, 54]

Give the pairs a list of questions that requires them to write code to
produce an answer, for example: This would then need further code adding to enable
Output the second element in the array. it to do something with the value, for example:
Solution: print(myArray[1]) ● to output it: print(myArray[0])
Output the data in index 0 in the array. ● to store it and perform a calculation with it:
Solution: print(myArray[0]) myVar = myArray[0] + 2
print(myVar)
Gradually increase the complexity of the questions, for example by
requiring a combination of elements. Example questions include:
● Output the value in index 0 added to the value in index 5.
Solution:
print(myArray[0] + myArray[5])
or
firstNum = myArray[0]
secondNum = myArray[5]
total = firstNum + secondNum
print(total)

● Add together all the elements in the array.


Solution:

75
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


print(myArray[1])

For an additional challenge, the use of arrays can be combined with


a count-controlled loop, for example:
● Use a count-controlled loop to output each of the array items
in turn.
Solution:
for x in range(0, 8):
print(myArray[x])

Give each pair a program that makes use of two arrays, for
example one with text and one with numbers such as:
numberArray = [10, 5, 22, 100, 55, 82, 1]
colourArray = ["red", "purple", "blue",
"green"]

Provide a set of questions to write code to produce answers that


involve both arrays, for example:
● Output the third element in the number array with the
second colour.
Solution:
print(numberArray[2], " ",
colourArray[1])

Hold a class discussion to review learners’ understanding of the


programming that they have done during this activity. This
discussion can include the following questions:
How do you access data in an array (list) in Python? Some learners may identify that some languages
Answer: The array’s identifier [index] start at 1. Also rounded brackets are used in some
What is the first index in an array? other programming languages.
Answer: 0

76
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


What types of bracket do you surround the index with?
Answer: In Python, square brackets are used.

Resources:
● Array as a table with indexes and data.
● Program with a numeric array, and list of questions for
learners to write code
● Program with two arrays (one numeric and one text-based),
and a list of tasks that require learners to write code.
9P.05 Know how to develop Display a set of words stored in variables, for example:
text-based programs using word1 = "programming"
string manipulation, word2 = "MANIPULATION"
including length, upper case, Discuss the following questions:
and lower case. How many letters are in word2?
What would the data in word1 look like if it was all in
capitals?

Discuss the need for string manipulation by asking: Learners may need prompting, for example with
Why do you need to change any words entered into a scenarios such as entering a password to help
computer? them identify when these may be needed.
Answers could include:
● to access only certain characters
● to split an address
● to check what has been entered.
Why would you need to find out how many letters were in a
word?
Answer: To make sure it was the correct length, to check if
a word is entered.
Display the text-based programming language code for:
In Python these would be:
● finding the length of a string len(string)
● converting a string to upper case

77
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


● converting a string to lower case. upper(string)
Either give learners a handout that explains the syntax or ask them lower(string)
to make notes.

Share a text-based program that has multiple strings stored in


variables, for example:
word1 = "PROGRAMMING"
word2 = "MaNiPuLaTiOn"
word3 = "eNCRYPTION"
word4 = "network"

Give learners a set of tasks to add to the program, for example:


● Output the length of the string in word1
Solution: print(len(word1))
● Convert word2 to lowercase and store it back in the
variable word2
Solution: word2 = lower(word2)
● Store the length of word3 in a variable
Solution: length = len(word3)
● Convert word3 to uppercase and output the result
Solution: print(upper(word3))
● Find and output the longest word
Solution:
length1 = len(word1)
length2 = len(word2)
length3 = len(word3)
length4 = len(word4)
if(length1 > length2 and length1 >
length3 and length1 < length4):
print(word1)

78
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


elif(length2 > length3 and length2 >
length4):
print(word2)
elif(length3 > length4):
print(word3)
else:
print(word4)

Give examples that combine strings with an array, for example:


wordArray = ["house", "car", "balloon",
"greenhouse"]
Ask learners to output the length of each word in the array. The
solution is:
for x in range(0, 4):
print(len(wordArray[x]))

Check learners’ understanding by holding a class discussion to


consider the following questions:
What does the function ‘length’ do?
Answer: It returns the length of the string.
What does the function ‘lower’ do?
Answer: It returns the string in lower case.
What does the function ‘upper’ do?
Answer: It returns the string in upper case.
What would you do to find the length of a string?
Answer: Use the function len
How would you find the shortest word?
Answer: Find the length of each word and then use an if
statement to compare them.
How would you check if the word a user has entered is long
enough?

79
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Answer: Find the length of the word and use an if
statement to compare it to the minimum length.

Resources:
● Print-out of string manipulation syntax
● Programs with strings assigned and list of tasks to
complete
9CS.04 Understand that To introduce this activity, place large sheets of paper around the
there are different types of room. Each sheet should contain one of the following questions:
translator, including the main In what language does a computer store data?
characteristics of compilers In what language does a computer need instructions, to
and interpreters. execute them?
In what language is a text-based programming language,
such as Python?
What has to happen for a computer to run the program you
write?
Ask learners to discuss their answer to each question in pairs and
to write their agreed answer on a sticky note and at it to the
appropriate sheet of paper.

Hold a class discussion to agree a final answer to each question


and to address any misconceptions. The answers are:
In what language does a computer store data?
Answer: Binary.
In what language does a computer need instructions, to
execute them?
Answer: Binary.
In what language is a text-based programming language,
such as Python, in?
Answer: English.

80
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


What has to happen for a computer to run the program you
write?
Answer: It has to be converted into binary.
Learners do not need to understand how the data
When discussing the final question, explain that converting a is translated, or the use of assembly language as
program into binary is the role of the translator. an intermediary.

Demonstrate the actions of an interpreter and a compiler, for


example Python IDLE is an interpreter. Run a program that contains
a syntax error which runs up to the point where the error occurs in
an interpreter. Explain that it will not run with a compiler. Where only
one of either a compiler or an interpreter is available for the chosen
language, such as when only a suitable interpreter can be found for
Python, demonstrate a compiler through another language, for
example Visual Studio and VB.NET.

Ask the following questions and support learners to provide the


answers from their prior knowledge:
What do you run when you want to install, or run, a program
on a computer?
Answer: A single file is usually opened that installs the
software.
What type of file is this?
Answer: An executable file. Be aware that this will need
explaining to learners, for example by drawing attention to
the ‘.exe’ at the end of the filename.
Can you view the code for a program that you buy?
Answer: Not usually.

Explain how a compiler produces an executable file when it is run,


and how this means that:

81
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


● the program can be run without other people being able to
access the code
● you can run the file without having to compile it.
Also explain that the interpreter does not produce this, it has to be
interpreted each time.
This is a good place to link to copyright, that the
In pairs, provide learners with a set of cards, each showing a code is protected from anyone stealing or editing it.
feature of a compiler or interpreter, for example:
● creates an executable file Demonstrate this by showing the same program
● translates high-level language to low-level language but once when it is interpreted and once when it is
● will not run if there are any syntax errors compiled. Some school networks will lock down
● will run until it finds a syntax error, and then stops .exe files, therefore permission for this
Ask the pairs to group the cards into those that: demonstration may need to be sought in advance.
● only apply to an interpreter
● only apply to a compiler
● apply to both.
Review each card and address any misconceptions.

Hold a class discussion to consider the following questions:


What software is used to allow you to run your program
code?
Answer: A translator
What actions does a translator perform?
Answer: It converts high-level language to low-level
language. It also checks for syntax errors
What are the two types of translator?
Answer: Compilers and interpreters
How does a compiler differ from an interpreter?
Answer: A compiler checks all the code and reports all
errors and it creates an executable file. An interpreter
translates just one statement of a program into machine
code at a time.

82
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Resources:
● large sheets of paper, each displaying a different question
● sticky notes
● cards containing features of compilers and interpreters

83
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Unit 9.4 Modelling and databases

Outline of topic:
In this unit, learners will explore modelling through examples and simulations. They will analyse these models to determine the benefits and drawbacks
associated with each. Learners will extend their knowledge of spreadsheets, through the introduction of functions including min, max, count and if
statements. They will also make use of a spreadsheet to create a model to meet a set of given requirements.

Learners will also extend their knowledge of databases. They will gain an understanding of the need for multiple linked tables and will implement these for
a database. They will also create queries that make use of two or more criteria, by making use of Boolean AND and OR conditions.

Learners will consider the term ‘Big Data’ and will relate this to the amount of data that is generated every day, and how this needs to be analysed to make
it useful.

Recommended prior knowledge:


Learners should have the following prior knowledge:
● Identify key features of a model such as a simulator, including its data requirements
● Know how to use a spreadsheet that is a model of a real-life system, using what-if analysis to compare alternative scenarios
● Evaluate the suitability of data that has been collected for a particular purpose
● Design and create a single table database, including data attributes and data types, for a given purpose
● Know how to search a pre-existing database using a single criteria, such as <, >
● Know that data is used to model scenarios within a range of industries, including health, manufacture and retail
● Understand the purpose of a primary key and be able to identify an appropriate field to be the primary key.

84
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Language:
● Model
● Minimum / Maximum
● Selection / IF
● Count
● Relational database
● Relationship
● Linked
● Boolean comparison (AND, OR, NOT)
● Criteria
● Big Data

85
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


9MD.01 Evaluate the Place learners into groups and give each group a different example of a model for a The models selected should be familiar
use of models that system, for example: to learners, but they may require further
represent real-life ● a flight simulator explanation of the context and the
systems. ● a virtual world simulator, such as a computer game function of the simulator.
● a biological model, such as one which simulates how a bacteria multiplies
9MD.04 Evaluate the ● a geological model, such as for earthquakes or volcanos.
suitability of The examples may be:
pre-existing ● a description, for example a flight simulator allows pilots to train using a
spreadsheets for simulated cockpit
given purposes. ● a video, for example of a simulated volcano
● an article that describes the use of a particular model.

Ask the groups to discuss their example and identify:


● the purpose of the model
● the reasons why a model is used
● any potential problems associated with the use of the model.
For the flight simulator, example answers might include:
● Purpose: to train new pilots how to fly an aeroplane
● Reasons for use: it is safer than teaching using actual aeroplanes and can
simulate extreme conditions that may not be experienced often
● Potential problems: pilots may react differently when there is real risk, it
cannot be 100% accurate and cannot foresee every possibility.

Ask each group to present their findings and check the class understanding of each
example by asking:
When would this model not be appropriate to use?
Can the model predict every possible factor that can influence the outcome?

In pairs, give learners a spreadsheet that has a specific purpose. Limit the total The spreadsheets may need to be
number of spreadsheets, so that some pairs are working on the same document restricted so that learners can only edit
and can combine their findings. Examples could include: specific cells, e.g. lock the cells that have

86
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


● a model of sales at a shop formulae so that learners can only enter
● a model of fundraising activities and change data in cells that will make
● a model of income and expenditure other values change.
● a model for stock control
There should be at least one element in each spreadsheet that could be improved, Learners do not need to understand the
for example calculations or formulae used, but they
● insufficient labels should be able to understand the
● poor layout spreadsheet structure.
● incorrect data types, such as decimal places for whole numbers
An example spreadsheet could be:

Ask the pairs to evaluate their given spreadsheet and identify:


● the purpose of the spreadsheet
● how the spreadsheet works
● the positive points of the spreadsheet (what it does well)
● the negative points of the spreadsheet (what it does not do well or elements
that can be improved).

Ask the pairs that analysed the same spreadsheets to share their findings with
each other. Then ask each larger group to present their overall findings. Their
presentations should answer the following questions:
Does the spreadsheet do what it is supposed to do?
Which parts of the spreadsheet work really well?
How easy is the spreadsheet to use?
What would you do to improve the spreadsheet?
87
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


If you were creating this spreadsheet, what would you have done
differently?

Support learners to work individually to capture their learning from this activity, by
producing a mind map or infographic. The content of this could be informed by their
answers to the following questions:
What is a model?
When is it appropriate to use a model?
What are the benefits of using models?
What are the drawbacks of using models?

Resources:
● Scenarios that make use of models, descriptions, videos etc.
● Spreadsheets that model systems, that have faults of limitations
9MD.02 Know how to Display a set of data, for example:
use functions in
spreadsheets to
analyse data,
including if, min, max,
count

88
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Elicit that, in this example, there are three columns of meaningless data, some of The structure of these formulae will
which is numeric and some which is text. Ask a series of questions about the data, depend on the software spreadsheet
for example: chosen. In MS Excel the format is:
What is the smallest number in the first column? ● =MIN(First cell: Last cell)
What is largest number in the third column? ● =MAX(First cell: Last cell)
How many colours are there? ● =COUNT(First cell: Last cell)
Ask different learners for their answers and then find out whether other learners The cell references do not need to be
agree. entered manually as learners can
highlight the cells instead.
Link the answers to the use of the functions within the spreadsheet software, for
example min, max and count, or their equivalents. Demonstrate how to use these
functions in a spreadsheet that contains the same data as above. Model how to find
the answers to the questions.

Place learners into pairs and give each pair a spreadsheet containing a range of
data and a list of tasks to complete that make use of the min, max and count
formulae. For example:

89
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

If learners have not studied selection


statements, then introduce these using
the example given, with a focus on the
command word IF, the condition and then
the result if it is true, and the result if it is
false.
In Excel the format is:
● =IF(condition, output if true, output if
false)
Therefore, in the age checking
spreadsheet below, the formula in cell B2
would be:
=IF(A2 >= 16, "Yes","No")
Ask the pairs to discuss their answers and to complete them within the
spreadsheet.
The mathematical conditions may need
Based on the example above, ask specific learners to demonstrate how to write the
recapping, these should include
specific formula for each cell in column ‘I’.
= (equal to)
> (greater than)
Discuss learner's prior knowledge of selection in programming, including the use of
< (less than)
IF statements. Support this discussion by displaying a series of IF statements with
>= (greater than or equal to)
actions for learners to follow, for example by giving each learner a playing card and
<= (less than or equal to)
the following instructions:
IF your card is red stand up
ELSE IF your card is black sit on the floor.
Demonstrate how to create an IF statement in a spreadsheet, for example in this
spreadsheet:
● "Yes" is to be displayed if the criteria is met
● "No" if the criteria is not met.

90
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Give learners access to a copy of the spreadsheet and ask them to complete the
remainder of the formulae. Remind them how to copy a formula from one cell to
those below it.

In pairs, give learners a prepared spreadsheet with a set of data entered, and that
contains cells where IF formulae are required. Example spreadsheets could
include:
● a set of data for a shop

● a set of data about users and logins to a system

91
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Ask the pairs to work together to complete the formulae in the spreadsheet. They
should then compare their answers with another pair, identifying any differences or
errors.

Support learners to recall their learning from this activity by asking the following
questions:
Which formula finds the smallest number in a list?
Answer: MIN
Which formula finds the largest number in a list?
Answer: MAX
Which formulae counts how many items are in a list?
Answer: COUNT
Which formula do you use to find the highest number of sales?
Answer: MAX
Which formula do you use to find how many records are in a spreadsheet?
Answer: COUNT
What are the similarities between an IF statement in programming and in
spreadsheets?
Answer: They both have:
o the same key word
9MD.03 Create Introduce this activity by holding a discussion to help learners to recall their prior
spreadsheets that understanding of spreadsheets. Base this discussion around the following
model real-life questions:
systems. What is the purpose of spreadsheet software?
Answers will include: to enter numerical data, to perform calculations
92
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


What are the key features of a spreadsheet?
Answers will include: Cells, formulae
What formulae can you use in a spreadsheet?
Answers will include: SUM, COUNT

Provide learners with a narrative for a spreadsheet, for example:


A model is needed to help the school to work out how much to charge for each
learner to attend a school trip. The cost will change depending on the number
of learners that decide to attend. The total cost includes:
o entry to the museum, which is $15.00 per learner
o lunch, which is $3.50 per learner
o coach hire, which is $500 overall
o insurance, which is $150 overall.
Explain that the spreadsheet needs to allow the user to enter the number of
learners who will be attending the trip and needs to output the cost for each learner.

Some pairs may need further support


In pairs, ask learners to design the structure of a spreadsheet and enter the data
with identifying the required data, and
that they have been given. They should not enter the formulae at this moment.
this could come from a simplified
description where they are given:
Ask each pair to join with one other pair to compare their spreadsheet designs. This
● the labels and data, for example:
comparison should identify differences between the designs, any missing items,
Entry cost = $15.00
any incorrectly entered data etc. Ask learners to nominate a spreadsheet from one
● a description of the formulae, for
of their group that demonstrates a good and accurate example of what is required
example:
for this task. Ask the nominated pair to display their spreadsheet design and to
Divided costs = (coach +
explain the key elements.
insurance) / number of
learners
Lead a discussion of the calculations that will be needed, for example:
This will support the pairs to convert this
● you will need to divide the coach and insurance total by the number of learners
into spreadsheet formulae.
that are attending
● you will need to add the costs for lunch and museum to find the total cost for
each learner.

93
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Ask the pairs to continue with their spreadsheet, by entering the formulae and
formatting their spreadsheet to make it appropriate for its end purpose.

Ask the pairs to compare their spreadsheets with another pair, and to test whether
they get the same results. Where the results differ, the group should discuss the
changes needed to create a final version of each spreadsheet.

Discuss learners’ experience during this activity by asking:


What are the key features of your spreadsheet?
What decisions did you make while creating the spreadsheet?
Were the results correct first time? If not, what did you change?
How did you make sure your spreadsheet worked?
Did your spreadsheet meet all of the requirements? How did you make sure
they were all met?
How effective do you think your solution is? Does it solve the problem?
Is it appropriately designed? It is usable?

Resources:
● Description of a model for a spreadsheet
o a condition
o a process that runs if the condition is true
o a process that runs if the condition is false.
9MD.05 Know how to Display an example set of data that contains many repeated values. For example,
create relational data regarding user's logging onto a website, and the posts that they make:
databases with two or
more linked tables.

94
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Ask learners to imagine that this data set was a large quantity of data, for example
with millions of rows. Ask:
What are the potential problems with this volume of data?
Discuss the learners’ responses and, in particular, elicit the following:
● it will take up a lot of memory because the same data is stored many times
● there is more likely to be a mistake if the same data is recorded multiple
times.
Display the term ‘Primary Key’ and ask a learner to explain, from their prior Learners do not need an understanding
knowledge, what it is and why it is needed in a database. Elicit that it is a unique of the term ‘foreign key’. The foreign key
identifier for a record, so that records that contain some of the same data can be is a field within a table that is the primary
differentiated. key in another table. Learners do need to
understand that this field is in both tables
Give learners the same set of data as above, but this time split into two tables. as it joins the tables together.
There will need to be a primary key in one table that is also present in the second
table, for example:
95
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Provide learners with a set of questions that they should answer using this data.
Ask:
Identify the title of all the posts by Fred.
What is the earliest date post of the user who joined in 2017?
Learners need to gather the information in one table, and then use the linking field, At this level there is no requirement to
which in this case is ‘Username’, to find the results. Explain that this is what is understand that there are different types
meant by a relational database, because there are links, or relationships, between of relationship. Learners are also not
the tables. expected to achieve normalised
relational databases. However, the use
Elicit the importance of the primary key field being in both tables, as this is what of carefully chosen scenarios will make
allows a user to find the matching data in both tables. sure there are clear links between the
tables.

96
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Demonstrate how to create two database tables and how to link them in your The method of completing this will
chosen database software. For example, in Microsoft Access, learners will need to depend on the chosen software. Creating
set up the primary key in one table, then navigate to the relationship function and the key field needs to be done before
drag the primary key field to its equivalent in the second table. linking the tables to avoid errors
occurring in the relationship.
Ask learners to work in pairs to setup the two tables for the example used above.
Provide a printout of the data and ask them to insert some of this data into the The data needs to be entered in this
database, as follows: order because a post cannot be added
● firstly, add to the table the primary key which, in the tables above, is the until there is a matching username in the
users table user table.
● then add the remaining data to the linked table, which is the posts table.

Display the following questions and ask learners to discuss them in groups of four.
Why is it sometimes better to have two linked tables rather than one table?
Why is the amount of data being stored reduced?
What do both tables need to contain, for them to be linked?

Ask one group to share their answer to the first question and then ask if any of the
other groups disagree or have further detail to add. Repeat this for the remaining
questions but choose a different group to offer the first answer on each occasion

Resources:
● Set of data with repeated data items
● Same set of data but split into two related tables
● Set of questions to find answers to from the related tables
● Print-out of data for learners to enter into their database
9MD.06 Know how to Display a table of data, for example: A complex query could make use of AND
create complex (both criteria are required), or it could
searches for data in a make use of OR (only one of the criteria
database using two or is required).
more criteria

97
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


9MD.07 Create At this level, queries only need to take
complex searches in place on a single table.
relational databases.

Provide a series of questions worded in prose, as opposed to a query language.


Start with simple searches (one criteria) and then move to complex (2+ criteria).
For example:
1. Which food items cost more than $1.00?
2. Which items are fruits?
3. Which items are fruit, and cost more than $1.00
4. Which items have either more than 25 in stock, or less than 10 in stock?
5. Which vegetables have more than 50 items in stock?
Ask learners for their answers. Draw attention to the use of 'AND' and 'OR' in these
questions. In the examples above:
● Q3 includes 'AND'
● Q4 includes 'OR'
● Q5 includes 'AND', although it is not explicit. In Microsoft Access, AND would contain
two criteria on the same row. OR would
Discuss learner's prior experiences of creating queries by asking: contain one criteria on one row, and the
What is the purpose of a query? second on a different row.
How do you create a query in our database software, for example Microsoft
Access?
Display a database table that matches the fruit and vegetable example above. Ask
specific learners to either describe or demonstrate how to create the single criteria
queries.

98
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Demonstrate how to add a second criteria using ‘AND’, and then how to create one
using ‘OR’.

In pairs, give learners a database and a list of questions about the data that make
use of complex queries. The database could include:
● a list of items that are sold in a shop, for example computer games
● a list of books available in a library
● a list of learners in a class and their grades

Ask the pairs to write queries to answer each question. They should compare the
results of their queries with another pair, and work as a group to identify the reason
for any differences. Review the answers by asking specific learners to give their
answer to each query in turn. Address any differences or misunderstanding.

Display a database table alongside multiple complex queries, that are displayed
one at a time. Also display four possible answers of what is returned by the query.
Ask learners to vote for which is the correct answer. Ask the following questions to
specific learners before allowing other learners to speak:
Why is this answer correct?
Why is this answer not returned?

Display a database table with complex queries that are incorrect, the queries
should be displayed one at a time. Ask learners to discuss in pairs why the query is
incorrect. Ask the following questions to specific learners before allowing other
learners to speak:
What is the error in the query?
How can we correct the query?

Demonstrate how to setup a query across two tables, for example by adding both
tables to the query and then selecting fields from both tables. Give each pair of
learners a database with two linked tables, for example a relational database that

99
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


includes film titles and actors. Also provide a set of questions and ask them to write
the appropriate queries, for example:
Which films have actors with the surname 'Smith' been in?
Which actors are been in [insert film title]?
Review each query in turn, by asking a pair to give their answer and to explain the
tables, fields and criteria that they have selected.

Remaining in their pairs, ask learners to revisit the relational databases they have
created in previous activities, such as that related to users and their media posts.
Ask each learner to give their partner a set of queries to answer. The partners
should then write the queries to answer the questions before discussing and
agreeing the solutions with their partner.

Display the following questions and ask learners to create written answers, based
upon what they have learned during this activity:
What is a complex query?
Answer: A query that has more than one criteria, or that is across two
database tables.
What is the difference between AND, and OR in a query?
Answer: AND requires both criteria to return a value, OR requires one or
both.
How do you make a query across multiple tables?
Answer: Add both tables to the query and then the fields from each.
Discuss the answers as a class and encourage learners to either add to, or change,
their written answers based upon what they learn during the discussion.

Resources:
● Example database table and prose-style questions
● Database and list of queries to write
● Set of example database tables and queries that are correct, and that are
incorrect

100
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


9MD.08 Describe the Introduce this activity by asking the following question: When discussing the quantity of data, it
term 'Big Data' and its What data is collected when you visit a website? is important to emphasise how large it is.
applications. Elicit example answers such as: Learners need to understand that a
● the links you have clicked on person could not possibly look through
● the pages you visited the data to find specific data or trends,
● how long was spent on a page. and that a computer would not be able to
instantly generate an answer. This
Now ask: understanding could be related to the
What extra data is generated if you use the website to create an account? database work that was completed
Elicit a range of answers, including earlier in the unit. Learners need to
● name understand that, comparatively, their own
● address databases contained a very small
● email address amount of data. Support them to
● age. visualise a database with hundreds of
tables, with billions of entries in each
Continue to ask a range of questions to illustrate the range and volume of data that one, by providing figures such as the
is generated by online activity. Ask: number of purchases that are made from
What data is generated each time a person buys an item? major online retailers each month.
Example answers: item name, cost, quantity, date of order. Estimates of this information are readily
How much data will be collected if a website has 100 members? available on the web.
What about 1000? What about a million?
Discuss the large quantity of data that is collected and how this is referred to as
'Big Data'.

Ask learners to speculate about how many people have access to the internet
globally. Lead them to understand that the answer is in excess of 4.5 billion. Ask
them to consider the amount of data that this generates based upon the fact that
information is gathered from every online input, including clicks, personal
information and searches.

101
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Give learners an example of an organisation that would collect large amounts of It is important that the scenarios are
data, such as a computer game company where users can play games online. related to the learners’ own experience,
Discuss some examples of data this company would collect, for example: so they can identify some of the data that
● player name could be collected. As an example,
● player date of birth learners may not be aware of the data
● games the player has downloaded that a government might collect about tax
● date the games were downloaded payers, but they may have experience
● date and time each time the player logs on using game websites.
● amount of time spent on each game
● progress on each game.
Ask the learners to work in small groups to discuss how the company could make
use of this data. Support them to get started in their discussion by providing the
following example:
in finding out which age group has the most players, the company would be
able to make decisions about who to target future games to.
Collate each groups’ answers through a class discussion to generate a list of ways
the data might be used.

Give each group a different scenario, such as:


● an internet search engine
● an online video sharing website
● an online clothes shop
● a social networking website
Ask the groups to complete the following table to identify the data that could be
collected from its users, and how it could make use of the data.

Ask each group to present their data and to explain how each could be used.

102
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

Resources:
● Example organisation and data that it could collect
● Table for groups to complete
● List of scenarios that could collect and make use of big data

103
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Unit 9.5 System development

Outline of topic:
In this unit, learners will extend their understanding of the testing of systems by considering the different types of test data that should be used. They will
also understand how testing can be planned and documented in a systematic way, through the use of a test plan.

Learners will consider the different types of error that can occur when they are programming and they will look at examples of these. They will also make
use of trace tables to:
● follow algorithms
● find and correct logic errors.

Learners will gain an understanding of iterative development and make use of this to develop a solution to a problem. They will also evaluate their own,
and other, systems against a range of criteria including accessibility, user experience and ergonomics.

Recommended prior knowledge:


Learners should have the following prior knowledge:
● Evaluate the design of a computer device or system
● Know how to develop a program for a physical computing device to generate multiple outputs, based on multiple inputs
● Know how to develop and apply a test plan
● Know how to test an algorithm using suitable data
● Use an iterative process to develop a program

104
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Language:
● Ergonomics / Accessibility
● Prototype
● Test data, including normal, extreme and invalid
● Trace table
● Syntax error / Logic error / Runtime error
● Iterative development
● Emerging technology

105
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


9P.09 Identify test Introduce this unit by discussing learner's prior understanding of testing. Example
data that covers questions could include:
normal, extreme and Why is it important to test a program?
invalid. Answer: To make sure that it meets its criteria and that it does not crash
Why do you need a plan to determine how to test a program?
9P.08 Know how to Answer: To make sure every element is tested
develop and apply Why do you need to test a program with a range of data?
test plans that include Answer: To make sure all acceptable values are accepted, and that any
normal, extreme and unacceptable values are rejected.
invalid data.
Discuss the term 'a range of data'. Introduce an example such as a program that Learners should focus on at least one
allows a user to enter their age as a whole number between 10 and 80 inclusive. of each three types of test data and
Ask learners to write all the different ages that they would enter to make sure the understand that it is not worth testing a
program works. Ask learners for their answers, then write these on the board and program with every possible piece of
group them into: normal test data. With extreme, it is
● normal – those that are acceptable, for example between 10 and 80 important to test all extreme points, in
inclusive the case of a number between 10 and
● extreme – those that are on the edge of acceptability, for example 9, 10, 80 80 there are two extreme points. Invalid
and 81 data should include:
● invalid - data that should be rejected, such as 8, 100, twenty, 11.73, -22. ● data outside of the range,
● invalid data types
Display and explain the structure for a test plan, using some examples of the data ● not entering any data when it is
given in the age checking example above. An example could be: expected.

Learners will also need to understand


that not all systems will have extreme
data, for example a system where
users need to enter 'yes' or 'no' will only
have normal ('yes', 'no') and invalid
(anything else). In this example, there
is no range for extreme.

106
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Provide a scenario for a program, for example:
a program needs to work as a calculator, taking two numbers as input, and Learners should already have some
either + - / or * as an operator, then output the result. experience of using test plans but, if
Ask learners to work in pairs to design a test plan for this program. They should they do not, these can be introduced
include all three types of test data in their plan. here through examples for short
programs first and then building up to
Ask the pairs to compare their plan with one other pair, and check that there is at longer, and more complex, systems.
least one normal, extreme and erroneous piece of test data.

Give learners access to a program and ask them to test it using their test data and
to record the results. This could be done with a working program, or with a program
that contains an error. As an example, the following program does not check for For this example, normal tests could
invalid data entry, beyond invalid numbers: include:
number1 = input("Enter a number") ● 10 20 +
if(number1 < 0 or number1 > 100): ● 5 100 -
print("Invalid") ● 89 22 /
else: ● 33 1 *
number2 = input("Enter a number") Extreme:
symbol = input("Enter + - / or *") ● 0 20 +
if symbol == "+": ● -1 50 /
result = number1 + number2 ● 100 2 *
elif symbol == "-": ● 101 66 -
result = number1 - number2 Invalid:
elif symbol == "/": ● Ten 20 +
result = number1 / number2 ● 22 one -
else: ● 11 99 multiply
result = number1 * number2
print(result)

Ask learners to select a program that they have previously written and to develop a
test plan for that program. Ask them to swap with a partner to evaluate their test

107
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


plans and add any further tests that should be included in the plan. Ask the pairs to
work together to test the programs using their test plans.

Summarise the learning from this activity by asking learners to reflect on the
following questions:
What are the three types of test data?
Why do we test a program with normal data?
Why do we test a program with extreme data?
Why do we test a program with invalid data?
Would happens if a program is not tested thoroughly?
Learners should make personal notes in response to these questions but can
choose their own format for these notes, such as ‘question and answer’ or a visual
representation.

Resources:
● Example program
● Test plan template
9P.10 Identify a range Introduce this activity by asking: The syntax errors will depend on the
of errors, including What errors do you make when you write a program? programming language that is being
syntax, logic, and Can you recall any of your programs that did not work first time? What did used. As pseudocode does not have a
runtime errors. you do wrong? set syntax, syntax errors are not easily
Ask learners to make a note of up to three separate errors that they can recall. identifiable.
9P.11 Use trace tables They should answer the above questions for each of their errors on a separate
to systematically sticky note.
debug text-based
programs. Introduce and explain the following types of error: Learners need to understand runtime
● syntax - when the grammar of the programming language is broken, such errors, but it is not always possible to
as using ‘pint’ instead of ‘print’ simulate these, the most common ones
● logic - the program runs but it does not do what you intended, such as include invalid input data without
writing ‘+’ instead of ‘*’ validation, so that the program crashes.

108
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


● runtime - the program stops running and crashes when set criteria are met,
such as dividing by zero or an attempt to calculate with an invalid data type
for example trying to multiply 3 by "house".

Place three large sheets of paper around the room with one labelled ‘syntax’,
another labelled ‘logic’ and the third labelled ‘runtime’. Ask learners to review the
sticky notes that they created at the beginning of the activity and to place them on
the sheet that is relevant to the type of error that they identified. Hold a class
discussion to review the errors that have been listed and to identify any that have
been identified against an incorrect error type.

Place learners into pairs. Provide each pair with a program that contains multiple
syntax errors and ask them to identify, and then correct, those syntax errors. For
example:
total == input("Input the first number" * 2
for count in rnge(0 to 100)
value 2 = input(Enter the second number")
total = total+ value2
average = total / 100
output("Total is " * total, " average is , value2)

Discuss learners’ findings by asking the pairs to provide one syntax error. They
should also explain the correction that they made. The errors in this program are
highlighted in the version below:
total == input("Input the first number" * 2
for count in rnge(0 to 100)
value 2 = input(Enter the second number")
total = total+ value2
average = total / 100
output("Total is " * total, " average is , value2)

109
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Introduce learners to trace tables, by explaining that the purpose is to provide a
structure for conducting a dry run of the code so that changes in values can be There is no correct way to complete a
identified and so that errors can be identified. trace table, other than to write every
change below the appropriate identifier.
Also explain that each variable in a program has its own column in a trace table and One method is to put every change on a
that there will also be a column for output. Explain a program line by line and new line, whilst another is to put each
write the changes on each line in the table. An example program for this part of the change directly below the previous value.
activity could be:
num1 = 10 Learners may be tempted to jump ahead
num2 = 20 in the algorithm and to predict its
num3 = 15 outcome, rather than walk it through line
total = 1 by line. It is therefore recommended that
if num1 > num2 and num1 > num3: they cover the code with a sheet of paper
total = total + num1 and only reveal it line by line as they are
elif num2 > num3: completing the trace table.
total = (total * 2) + num2
else:
total = total + num3 + num3
print(total)

The trace table for this example is:

In pairs, provide learners with an edited version of the last program, for example
where the numbers are input instead of stored and give them multiple sets of input
data to trace the algorithm. Ask the pairs for the outputs from the program for each
set of input data and discuss any differences.

110
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Extend the use of trace tables by using different constructs such as a introducing a
count-controlled loop to trace.

Now provide each pair with a program that includes at least one logic error. As an
example, the following program should output the smallest number entered and the
largest number entered: A completed trace table for this input
smallest = 100 data would be:
largest = 100
for x in range(0, 10):
number = input("Enter a number between 1 and 100")
if(number > largest):
largest = number
elif(number < smallest):
smallest = number
print("The largest is ", smallest)
print("The smallest is ", largest)

Give the pairs a set of input data, such as 98, 44, 82, 4, 18, 41, 27, 91, 3, 22. Ask
them to complete a trace table for the program to:
● identify the logic error The logic error is that the largest does
● then identify how to remove this error. not work, it would need to be initialised to
a small value, for example: -1
Support learners to make personal notes based upon what they have understood
from this activity. The notes can be presented in a format of their own choosing but
should be informed by the following questions:
What are the three types of programming error?
Answer: Logic, syntax and run-time
What is an example of a syntax error?
Answer: A spelling mistake in a keyword
What happens when you have a logic error?
Answer: The program runs but does not produce the correct output.
What happens when you have a runtime error?

111
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Answer: The program crashes.
What can you do to find a logic error?
Answer: Test the program with a range of data, including normal, extreme
and invalid. The program could also be tested through the completion one or
more trace tables.

Resources:
● Sticky notes
● Large sheets of paper
● Program with syntax errors
● Program with at least one logic error
● Example trace table with program
9P.12 Know how to Ask learners to think about the following questions: If a programmable device has not been
program physical Do you always program a solution to a problem correctly first time? used before, or a new device is being
devices to use data to If not, what do you do when it goes wrong? introduced, explain and demonstrate the
solve problems. Ask for a small summary of learners’ reflections on these questions and elicit that, commands that can be used. Learners
when errors occur, they make changes and improvements to their programs. may need time to program the device to
9P.06 Use iterative perform simple tasks to learn the syntax.
development on Explain how this process of improvement is called an iterative development. Display
software prototypes to the word ‘iterative’ and link the term to iteration in programming. Explain that both
produce solutions to uses of the word mean ‘repeating’. Describe iterative development as the process
problems. of continually adding to, and amending, a program until it meets the requirements.

9P.07 Evaluate the Recap learner's existing knowledge about a programmable device that they have
processes that are used before, such as the micro:bit. Ask learners:
followed to develop What commands can you use with this device?
programs. How can you control this device?
What can the device be programmed to do?

Place the learners into groups. Give each group a device and a description of a
problem. Explain that the groups need to write a program for the device that will

112
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


solve the problem. The problem must make use of data, for example where the
device receives data from an input and then produces an appropriate output.
Example problems: The problem, or problems, that you
● a robot needs programming to move around a room, stopping and turning choose here will be determined by the
each time that it meets an obstacle devices that you have available.
● using a pair of devices, one needs to encrypt a message and transmit it to
the second, which then deciphers and outputs the message
● creating a mathematics game for young learners where the device outputs a
question. The user then has to input their answer by pressing a button the
correct number of times and the device will then output an appropriate
message, image or sound, to indicate if the answer is correct.

Ask the groups to collaboratively develop a solution to the problem iteratively.


Ask each member of each group to write an evaluation of their iterative
development of the solution. Ask them to include:
● a description of how they developed their solution
● the successes
● the problems that were encountered and how these were overcome

Ask each group to present their solution to the problem, and to nominate one of
their members to give their evaluation of the process that they followed.

Ask each learner to consider the following questions about this activity and their
experience of working in their group:
How did you approach the problem?
How well did you work as a team?
Did you split tasks between yourselves, or did you all contribute to each
part? Did that method work?
Did you make use of iterative development?
Was the iterative development naturally occurring, or did you have to stop
and make sure you were using it?

113
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


The learners should make notes based upon their responses to these questions
and should reflect upon anything that they would do differently next time and why.

Resources:
● A set of devices for learners to program

9CS.01 Identify Introduce learners to the factors that can be used to evaluate a program design, for Learners may need some support in
improvements to the example a prototype. Example factors could include: thinking about the requirements of other
design of computer ● User experience; is the system appropriate for users who have never seen people. For example, in terms of
devices based upon a it before? Is it intuitive? Are there suitable instructions? accessibility, learners may be unaware
prototype and upon a ● Accessibility; is the system appropriate for users who may have difficulty in that some people find specific coloured
range of factors using certain tools? For example, is the text clearly readable? Is there an text easier to read than others.
including user option to change the colours? Is there an option for audio output? Does the Responses to this particular issue could
experience, system require particular motor skills? be demonstrated by showing a website
accessibility, ● Ergonomics; how well does the system fit its purpose and the conditions in that contain accessibility options for
ergonomics and which it will be used? Are the physical inputs suitable? Is the size users to change the layout, colour
emerging ● appropriate? scheme, font size etc.
technologies. Ask learners to consider a device that they use regularly, or display a device such
as a smartwatch or smartphone. Ask the learners to work in pairs to consider the
three factors that are listed above. Review each of the three factors in turn, by
asking the pairs for their evaluation of the system against each one. Whenever a
negative point is identified, ask learners to identify what they would do to improve
the design.

114
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes

In pairs, give learners access to a device or piece of software, for example: It will be necessary to either develop
● an interface for a system that has not yet been programmed these examples or to source them. Key
● an outline of a computer game without any graphics or content features that could be presented to
● the design for a device, for example a robot or a new piece of wearable learners include:
technology. ● physical items that are designed to
Ask the pairs to consider the prototype and to identify the positive elements as well be small, but may present issues for
as any problems. Ask them to suggest how the prototype could be improved. Ask those with sight or motor issues
each pair to present their system and to identify how they would improve it. ● onscreen items that are designed to
be vibrant but that could rely on
Give learners a problem to solve. This could either be: colour or upon flashing images.
● they design a program or interface
● they design a device
that will be suitable for use by a person with a selected accessibility issue while
attempting to retain many of the design requirements that are expected of modern
digital devices, such as sizing and portability.
Each learner should swap their solutions with a partner to evaluate their designs.
For every point that the partner identifies, they should also explain what they would
do to improve the system.

Ask learners: Learners may consider emerging


What new technologies are you aware of? technology to be that which is brand new
What is an emerging technology? and has never been seen before. The
Learners may identify technology that is no longer emerging. Use this as an widely accepted definition includes recent
opportunity to introduce the speed at which new developments are appearing. developments, as well as those that have
been around a long time but are still
Suggest some examples of emerging technologies and ask learners if they have evolving such as AI.
ever knowingly made use of them. These emerging technologies could include:
● biometrics e.g. fingerprint recognition, facial recognition
● artificial intelligence e.g. image recognition, computer game AIs
● higher bandwidth transmission

115
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Suggested teaching activities and resources Additional notes


Provide learners with a scenario for a computer device, or system, For example:
A security system needs to be developed for a building where only approved
people are allowed entry. The system has been designed where employees
have ‘key cards’ that they have to swipe.
Ask learners to work in pairs to identify any emerging technologies that could be
used in this system. They may consider which technologies, such as AI and Ideas could include facial recognition,
biometrics, can be applied. Ask the pairs for their ideas and discuss the fingerprint recognition, RFID tags
improvements that can be made to this system using emerging technologies.

End this unit by holding a class discussion to consider the following questions:
Why is it important to evaluate a prototype or idea for a system?
Answer: To make sure it meets the requirements and is appropriate
Why should you look for areas to improve?
Answer: To make the best product possible
What are ergonomics?
Answer: The layout and design of an item in terms of how a human uses it
How can you make sure a system is ergonomically designed?
Answer: Test it with a range of people with awareness of a range
requirements
Why should you take into account user's experience when designing a
system?
Answer: Experts may want shortcuts, novices may need more instructions
How can you make sure a system is accessible?
Answer: Give it to a range of people to test with acknowledgement being
made of a range of requirements
Encourage learners to make their own notes about the key messages and their own
reflections about the discussion.

Resources:
● Example device for learners to evaluate
● Prototype for a device or software
● Scenario for a device, system or software

116
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Unit 9.6 End of Stage Projects

Outline of topic:
This final unit provides you with five projects to offer your learners. These are:
Project 1: Shopping trends
Project 2: Adventure game
Project 3: Programming guide
Project 4: Spreadsheet
Project 5: Networks

The projects have been designed to consolidate and build on learning already covered in the previous units. They have also been designed to give you
guidance about:
● what you should expect learners to do independently, as individuals or within pairs or groups
● how you can support learners during each project
● what outcomes are expected to support you in your teacher assessments.

The total number of hours for all the projects may be greater than the hours you have available. There is no expectation to teach all of the projects. You
are able to pick and choose the ones that are most relevant for your learners and that you can fit into the teaching time you have remaining for Stage 9.

You can also edit and change the projects, including giving learners more time or less time for each project. You can also use the suggested projects as
templates for developing ideas of your own. Whichever projects you use, they should consolidate the learning and could build on other aspects of your
curriculum.

While the projects have been provided in this, final, unit you are able to use the projects throughout the year where you feel appropriate.

117
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Project 1 title Shopping trends

Learning objectives Project overview Resources required


9MD.05 Know how to create A shop that sells items over the Internet needs to store data about its Database software.
relational databases with two orders and would like to make use of Big Data. Learners should
or more linked tables. consider how the shop can make use of Big Data and create a
database to store data about customers and their orders.
9MD.06 Know how to create
complex searches for data in
databases using two or more
criteria.

9MD.07 Create a complex


search in a relational
database.

9MD.08 Describe the term


'Big Data' and its
applications.

Project details Teacher guidance


Explain that learners will be working for the owners of a shop that sells a range of items over the Select a range of large online retailers that
Internet. They will be working in small groups, with a suggested maximum of 3, to make some learners may be familiar with to contextualise:
decisions about: ● the purpose of the shop
● the software that the company will use ● the type of information that is provided
● the data they will collect to customers on its website and is
● how they will make use of this data. collected from customers.
The shop would like to make use of Big Data. The groups will therefore need to identify: Remind learners about the quantity of data
● three ways the company could make use of Big Data required to be considered 'Big Data'. Remind
● the data the company would need to collect from its customers and its website, to support the them that data will need to be gathered from
analysis many different sources, including from other

118
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

● the data the company would need to collect, or buy, from other sources shops, to be sufficient to analysis that will
identify trends.
The shop also needs a database to store data about each order that they receive. Provide the groups Provide learners with the outline that allows
with an outline for the different tables that will be needed, for example: them to focus on the different items of data that
● a table about its customers, each customer will need a customer ID as a primary key they need within each table, instead of how the
● a table about each order, each order will need an order ID as a primary key, and will need the tables are going to interlink.
customer ID linked to it
● a table about the items in each order, this will need an ID as a primary key, and will need the The order data can include the date of the order
order ID linked to it. and the total cost.
The groups need to create a design for each table, identifying the fields and requirements of the data
for these fields, for example the data type. The item data will consist of one record for
each item ordered. This setup allows for one
The groups also need to consider the data that they need to record to use alongside the Big Data. As order to have lots of different items ordered.
an example, if they want to identify what products people under 21 are purchasing, then they will need
to capture their customer's date of birth. There can also be a fourth table about the
items in stock, but this simplified model will be
more accessible.
The groups need to create the database that they have designed. They will need to: Following the outline above, the following links
● set up the database tables using appropriate field names and data types should be made:
● join the database tables ● Customer ID linked between Customer
● populate the database tables with some sample data and Order
● Order ID linked between Order and
Items
Learners must fully setup the database before
populating it with data, otherwise they may be
unable to set up the relationships because
there might be orders for customers who do not
yet exist.
The groups need to pose up to three questions that they can find the answers to using their database.
They should refer back to the information they have identified the shop uses when deciding on these
questions.

119
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

These questions should include at least one multi-table query, for example:
Find all of the items ordered in the order with ID 123
at least one multi-criteria query, for example
Find all the customers who made orders on the 3/2/2022 with a total cost of more than $40.00.
The groups then need to write a query to answer each of these questions.
The groups should then create a presentation to give to the shop owners. This needs to include:
● how the shop can make use of Big Data
● the database design, including the data they will be storing in the database
● a demonstration of the database, including the results from the queries, and what these will
show the shop.
The groups should then deliver their presentation to the rest of the class.

Expected output
● A database with 3 tables, populated with data and set of queries
● A presentation that summarises how the shop can use Big Data and a walk through of the database that the group have designed

120
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Project 2 title Adventure game

Learning objectives Project overview Resources required


9P.03 Know how to develop In this project, learners will work in pairs to develop a prototype for a Scenario for a computer game.
text-based programs with computer game, from a given outline. They will need to:
count-controlled loops. ● plan their prototype A programming language translator.
● develop it
9P.06 Use iterative ● then test it.
development on software
prototypes to produce
solutions to problems.

9P.07 Evaluate the processes


that are followed to develop
programs.

9P.08 Know how to develop


and apply test plans that
include normal, extreme and
invalid data.

9P.09 Identify test data that


covers normal, extreme and
invalid.

Project details Teacher guidance


Explain that an idea for an adventure game now needs to be programmed as a prototype to decide on The game layout will depend on the chosen
the structure of the game. The game outline that is given to learners could include following: programming language. For example, in Python
● the game starts with the user trapped on a boat that is sinking. The aim of the game is to find a a text-based game would be appropriate, where
way to get off the boat to a nearby island, and then to escape from that island. the narrative is output, and the user enters

121
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

● it is a narrative game where the user has to make choices based upon a series of prompts that words to make choices. Other languages may
are presented as text. These choices determine what happens next in the game. provide interfaces for learners to develop.
● the game should start with the following output:
"You wake up on a small boat in the ocean. There is an island a hundred metres away and you This is only a prototype, and therefore only part
want to row there, but the boat has a hole in the bottom and is sinking. You look around and of the game should be developed to outline
there is a bucket, an oar and a plastic sheet. Would you like to try and row to shore?” how it works and what it will look like. This can,
● the game must give the user options to select from, each of which leads to another option, or for example, be limited to 4 different choices to
ends the game. The player can have a set number of attempts at completing the game before it be made, and what happens in response to
ends. each of these.

Explain that the pairs need to:


● design a prototype based on the game concept, using the introductory paragraph.
● consider how users will enter their responses, for example by considering different spellings of
words, the use of case, and the instructions for what they need to do
A suitable method for designing the structure
In pairs, learners first design the structure of their prototype, by deciding what the first few decisions would be in a diagram such as:
are and where these could lead. They should then write a program that matches their plan.

The pairs will then design a test plan, and the associated test table, for their prototype. They will
identify normal, extreme and invalid data where appropriate. They then need to test the program by
completing the test table with the results.

Ask each pair to present their prototypes to the class. Their demonstration should explain:
● how their prototype meets the requirements
● how they have made sure it is appropriate for its intended use
● how they made sure it is fully working
● their evaluation of the iterative process that they followed.

Expected output
● A plan for the prototype
● A programmed prototype for the game

122
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

● A completed test plan


Project 3 title Programming guide

Learning objectives Project overview Resources required


9CT.01 Follow, understand, In this project, learners will create an instruction guide for using Example flowcharts and pseudocode that make
edit and correct algorithms count-controlled loops and string manipulation in algorithms and use of count-controlled loops and string
that are presented as programming. The target audience will be those that are starting to manipulation functions.
pseudocode. create programs in a text-based language for the first time.
A template document for learners to complete.
9CT.02 Follow flowchart or
pseudocode algorithms that
use loops.

9CT.03 Know how to create


algorithms using flowcharts
and pseudocode.

9CT.06 Understand and use


iteration statements, limited
to count-controlled loops,
presented as either
flowcharts or pseudocode.

9CT.09 Combine multiple


constructs (sequence,
selection, count controlled
iteration) to write an algorithm
as a flowchart of
pseudocode.

123
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Learning objectives Project overview Resources required


9P.03 Know how to develop
text-based programs with
count-controlled loops.

9P.05 Know how to develop


text-based programs using
string manipulation, including
length, upper case and lower
case.

Project details Teacher guidance


In pairs, ask learners to produce an instruction guide on how to write algorithms that make use of The focus for this project should be on the
count-controlled loops and of string manipulation. The guide must include: content, and not on the presentation. Learners
● an explanation of count-controlled loops should have the freedom to choose their own
● an example of a count-controlled loop in a flowchart, and in pseudocode method of presentation but it may help to give
● an example of a count-controlled loop in a text-based language them appropriate headings or prompts to help
● at least two ‘challenge’ questions that ask the user of the guide to produce an algorithm that them structure the content.
uses a count-controlled loop
● an explanation of common string manipulation functions, including length, upper case and
lower case
● an example of each string manipulation function in a flowchart, and in pseudocode
● an example of each string manipulation function in a text-based language
● at least two ‘challenge’ questions that ask the user of the guide to produce an algorithm using
the different string manipulation functions
● example answers for each of the challenges.

Ask pairs to test their instructions, questions and answers by swapping their guides with another pair.
The second pair should read through the guide, by carefully following the instructions and by writing
answers to the challenges to make sure they are accurate. Each pair should feedback to each other
and agree, and make, changes to each of the guides.

124
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Expected output
A guide that explains how to produce flowcharts and pseudocode that make use of count-controlled loops and string manipulation functions.

Project 4 title Spreadsheet

Learning objectives Project overview Resources required


9MD.01 Evaluate the use of In this project, learners will create a spreadsheet to model the finances A context for a school event
models that represent real-life for a school event, such as a play or concert. They will calculate the
systems. costs of the event and the potential sources of income. They will also
model different scenarios to decide which is the most profitable.
9MD.02 Know how to use
functions to analyse data,
including if, min, max, count.

9MD.03 Create spreadsheets


that model real-life systems.

Project details Teacher guidance


Provide learners with a context for a school event, such as a concert or other art event. This context The chosen scenario needs to be large enough
should include: to allow learners to approach it individually, but
● a description of the event sufficiently contained to limit what learners need
● an explanation of the costs that are likely to be incurred to do. Ideally this scenario should be something
● options of charging for different items. that they can relate to, such as through prior
experience, so that they have an understanding
An example context could be: of the context, before identifying how it will
The school is going to hold a show to showcase learners’ skills in performance. There will be work.
costs involved in the show, but the school is also looking to charge people to watch. They will
also sell refreshments. Any profit from the event will be given to charity.

125
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

The costs involved are:


● $100 school hall hire and electric bills for each show
● $1 for enough drinks for 10 guests
● $2 for enough cake for 10 guests

The possible income can come from:


● Charging for entry, the hall can hold a maximum of 200 people each show
● Charging for a drink
● Charging for cake
The higher the cost of the ticket, the fewer people are likely to attend. There can be a minimum of 2
shows, and a maximum of 5 shows.

The school would like to make a charity donation of $2000 and they would like some different models
of how they could achieve this, for example by considering different: These findings should be presented by saving
● charges two versions of the spreadsheet, one for each
● number of shows different scenario, or by using a screenshot of a
● estimated number of people attending completed scenario and using this within
● estimated number of people who buy food and drink. another document.

Learners need to work in pairs to develop a spreadsheet that will allow the school to model the costs
and income from the event. The costs are set, but the school needs may change:
● the number of people attending
● the number of shows
● the amount to charge for a drink and for cake.

The pairs summarise their findings by presenting at least two different scenarios to the school,
detailing numbers and prices, for the school to choose from. They also need to evaluate their model by
identifying the positive features, its effectiveness, and any further improvements that can be made.

Expected output
A spreadsheet to model the event costs.

126
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Two scenarios of costs that the school can use.


An evaluation of the model.
Project 5 title Networks

Learning objectives Project overview Resources required


9DC.01 Know that there are In this project, learners will develop a network plan for the school, A description of the school requirements for the
different network topologies, including outlines of topologies and security requirements. network.
including bus, ring and star.
An adult who will be available throughout the
9DC.03 Explain the scalability project to:
factors that should be ● answer questions about the school’s
considered when designing requirements
networks. ● to review the learners’ proposals
● to make, and justify, a decision about which
9DC.05 Explain the choices proposal to accept.
that should be made when
implementing network
security, including
accessibility, cost and the
relative security requirements
of different data sets.

Project details Teacher guidance


Explain that the school would like to design a new network which will improve access to the network The scope can be limited or extended
and Internet, both physically and wirelessly, from all areas of the school. The school leaders are depending on your specific school, for example
particularly keen for teachers and learners to be able to access the network when they are working it may be more appropriate to limit it to one
outside in the school grounds. building, or one floor.

Learners will need to work in groups to develop a proposal. They will:

127
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

● decide on the topologies that will be used in different areas of the school, and how these will be
joined together. There should be a central server room that contains the servers and also has the
connection to the external internet. Costs are to be estimates but learners should
● draw a layout for the school including the rooms, devices and connections. research the potential costs of cables, access
● identify where wireless access points will be located to support wireless access throughout the points etc. and provide an approximate cost,
school premises not including labour.
● identify the security that the school should have in place
● estimate the cost of the new network
● justify all of the recommendations that are made.

The groups can choose their own method for presenting their information but should consider that the
school’s representative is very busy and will therefore need all of the information to be presented
clearly and as briefly as possible.

An adult will need to act as the representative from the school. This can be you, another teacher or a
network technician. The representative should be available to answer any questions from the pairs, for
example by providing clarification on:
● the number of computers
● the type and level of security required.
This representative will also make the decision as to which proposal to support.

The groups need to present their layout and justify their choices to the school representative. The
representative should ask questions to elicit the reasons for their choices. The representative then
needs to decide which proposal to support, or if they would like to combine aspects from different
proposals, and to explain the reasons for that decision.

Expected output
A network design including a layout of rooms, devices and topologies. A report of cost, security and justification for choices.
Depending on time available, a presentation of the proposal.

128
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Sample lesson 1

CLASS:
DATE:
Learning objectives ● 9CS.07 Know how to draw logic circuits for Boolean expressions.
Lesson focus / Learners are able to:
success criteria ● convert a Boolean expression into a series of logic gates.
● be able to draw a logic circuit for a given Boolean expression
● explain their thinking to a partner and to the class as a whole
Prior knowledge / ● Know that a computer is made up of logic gates that are represented by
previous learning Boolean logic
● Understand the role of logic circuits in a circuit, including AND, OR and NOT
● Complete truth tables for AND, OR and NOT gates

Plan
Lesson Planned activities Notes
Introduction Starter question: Encourage learners to
What are the names of the three logic gates (AND, define the functions in
OR and NOT) and what is the function of each? terms of inputs and
Ask learners for their answers, and write the correct outputs, using the binary
definitions of each on the board. values 1 and 0.
Main activities Explanation: Some learners may need
Display the three different shapes of logic gate and the support with the
name of each. Ask learners to make a copy of the gates in mathematical context, for
their books, taking careful note of the shapes. Draw example displaying maths
attention to the fact that AND has a straight back and expressions with brackets
rounded front, OR has a rounded back and pointed front, such as (1 + 2) * 3 vs 1 +
and NOT is a triangle. (2 * 3) to emphasise the
importance and the role of
Demonstration: the brackets.
Start with a small Boolean expression that only uses two
gates, for example (A AND B) OR C. Ask learners what
brackets mean in mathematics and discuss how the content
within brackets have precedence. Demonstrate how to first
draw the circuit in the brackets and then add the exterior.

Repeat this with a second expression, for example NOT(A


AND B). Pause to ask learners which part they should
tackle first, and then ask them which gate to draw, what to
connect etc.

Task: The pairings could provide


Place the learners into pairs and give them a set of 2-gate an opportunity for some
Boolean expressions to draw logic circuits for. The pairs learners to support their
should discuss their responses and agree on the logic peers. The pairings could
circuit for each expression. Each member of the pair should then be swapped part way

129
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

have responsibility for actually drawing the different through with


responses. encouragement offered for
other learners to take the
Display a 3-gate Boolean expression, for example (A AND lead role.
B) OR NOT C.

Ask the pairs to attempt to draw a logic circuit for this


expression. Ask certain pairs to share their answer with the
class and to walk through the example step by step.

Give the pairs a set of 3-gate Boolean expressions and ask


them to draw a circuit for each. They should again swap the
responsibility for creating the drawings after each
expression but the output is one that should be discussed
and agreed before it is drawn.

Hold a class discussion to review each 3-gate expression in


turn by asking different pairs to draw and explain their
answer for each one.
End/Close/ Display a set of logic circuits and their Boolean expressions. Introduce a range of errors
Reflection/ Some of these should be correct circuits while others will for learners to identify
Summary contain errors. including:
● Incorrect gate symbols
For each circuit, ask learners to vote whether the circuit is ● Incorrect input letters
correct, or incorrect. Where it is incorrect, ask a learner to ● Incorrect connections,
explain why it is incorrect. such as two inputs to a
NOT gate
● Incorrect use of
brackets, such as
drawing (A AND B) or
C instead of A AND (B
OR C)

Reflection
Use the space below to reflect on your lesson. Answer the most relevant questions for your lesson.
Were the learning objectives and lesson focus realistic? What did the learners learn today?
What was the learning atmosphere like?
What changes did I make from my plan and why?
If I taught this lesson again, what would I change?
What two things went really well (consider both teaching and learning)?
What two things would have improved the lesson (consider both teaching and learning)?
What have I learned from this lesson about the class or individuals that will inform my next lesson?
Next steps
What will I teach next, based on learners’ understanding of this lesson?

130
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

Sample lesson 2

CLASS:
DATE:
Learning objectives ● Describe a range of scenarios where machine learning is used
With an introduction to:
● Describe the benefits and drawbacks of the computerisation of traditional
manufacturing and industrial practices, for example Industry 4.0
Lesson focus / Learners will understand the practical applications of machine learning in different
success criteria contexts.
Prior knowledge / ● Know that Artificial Intelligence (AI) is a simulation of human intelligence within
previous learning computer systems.
● Know what is meant by machine learning.
● Describe how autonomous programming and AI is used in robotics

Plan
Lesson Planned activities Notes
Introduction Display the following questions: Encourage learners to
What have you learned recently? consider a range of
How did you learn it? learned items including
Lead a class discussion about something they have both mental and physical,
recently learned and how they did this. Support the at school and externally.
discussion so that learners are able to consider:
● what it means to learn It is unlikely that learners
● whether they are always aware that they are learning will have considered how
● what it is they are learning they learn before.
● how they approach their own learning. Therefore, they may need
support to contextualise
their thinking in this area.
Main activities Place learners into groups and give each group a different The given scenarios are
scenario from: generic, some groups may
● image recognition benefit from a more
● natural language processing specific example, such as
● voice recognition Image recognition to
● computer game AI identify people entering a
● medical diagnosis. building. AI to play the
game of chess.
Ask the groups to research how machine learning is used in
this area and to create a short presentation that includes: It may be helpful to
● an example of the use of AI provide the groups with a
● a description of how machine learning is used starting point, for example
● a description of the reasons why machine learning is a link to a textbook or
used in this area. website that includes
The groups will primarily use the web for their research but information on their
should be encouraged to seek a range of sources, specific scenario. Make
including: sure that these are

131
Cambridge Lower Secondary Computing (0860) Stage 9 Scheme of Work

● the websites of organisations that either use or facilitate accessible, as many


the use of AI and / or machine learning websites about AI and
● commentaries on the use of AI and / or machine machine learning are very
learning, including news articles. technical.

Ask the groups to present their findings to the rest of the


class. Each group can choose their own method of
presentation but should understand that the focus needs to
be upon the research and its findings rather than on the
quality of the delivery.

When the presentations are delivered, encourage the


learners to ask questions of each other, for example:
● why is machine learning used in this industry?
● how is it used?
● how do the machines learn?

End/Close/ Support learners to identify as many different examples as


Reflection/ possible of how their given area of AI can be used.
Summary
For example, if they are considering image recognition, they
need to identify the different scenarios where image
recognition can be used.

Gather learners’ answers and ask question such as:


Why would they use machine learning in this
scenario?

End the lesson by asking learners to speculate how


machine learning and AI could be used within
manufacturing processes, such as on production lines.
Explain that they will be considering this area in more detail
in the next lesson and will be discovering more about the
term ‘Industry 4.0’. Learners may want to do some
background research into this term prior to the lesson.

Reflection
Use the space below to reflect on your lesson. Answer the most relevant questions for your lesson.
Were the learning objectives and lesson focus realistic? What did the learners learn today?
What was the learning atmosphere like?
What changes did I make from my plan and why?
If I taught this lesson again, what would I change?
What two things went really well (consider both teaching and learning)?
What two things would have improved the lesson (consider both teaching and learning)?
What have I learned from this lesson about the class or individuals that will inform my next lesson?
Next steps
What will I teach next, based on learners’ understanding of this lesson?

132
Cambridge Assessment International Education
The Triangle Building, Shaftesbury Road, Cambridge, CB2 8EA, United Kingdom
t: +44 1223 553554 f: +44 1223 553558
e: info@cambridgeinternational.org www.cambridgeinternational.org

© UCLES September 2021

You might also like