On Track Scheme of Work Unit 4293 - Programming For A Purpose - For Assessment From January 2019
On Track Scheme of Work Unit 4293 - Programming For A Purpose - For Assessment From January 2019
Purpose
Introduction
This document is a scheme of work created by Cambridge International as a suggested plan of delivery for the Cambridge ICT Starters Initial Steps
module ‘Programming for a Purpose’. Learning objectives for the module have been arranged in a recommended teaching order but you are free to
teach them in any order to suit your local requirements and resource availability.
Several suggested activities have been given for each learning objective. Some are short introductory or revision activities and some are more
substantial learning activities. You need to choose a variety of activities that will meet the needs of your learners and cover all of the requirements of
the learning objectives. You will need to decide on the teaching time necessary for each activity, both to suit the pace of your learners and to fit the
work comfortably into your own term times.
Suggested approaches on integrating teaching on eSafety and ethical behaviour have been included. You will need to adapt these to be suitable for
the age of your learners and to include information about local policies and laws.
There is no obligation to follow the published Cambridge International scheme of work in order to deliver Cambridge ICT Starters. This document has
been created solely to provide an illustration of how delivery of this module might be planned.
Overview
The Programming for a Purpose module is part of the On Track certificate. The progression of modules that relate to this topic are shown in the table
below.
Underpinning knowledge
Before commencing this module it is recommended that learners know:
have completed the Next Steps module ‘Exploring Programming’ or know how to create simple programs using repetition and procedures
how to access a website using a url (web address)
multiplication tables up to 12 x 12
flowchart symbols for starting and ending instructions (oval shape), a decision (diamond shape) and a process step (rectangle).
eSafety guidance
We recommend that each school has an Acceptable Use Policy (AUP) which describes the activities that learners can, and cannot, do when
using the internet in lessons.
Explain to learners what they should do if they feel unsafe or if inappropriate content is evident on their device. This can be integrated with age-
appropriate teaching on topics such as ‘stranger danger’ and bullying.
Learners should be given guidance as to what content is appropriate to include within their interactive programs and care should be taken to
ensure this is suitable for the age of the learners.
For this module, learners that are using Scratch may wish to share their programs on the community’s website. It is advisable to obtain
permission from parents or guardians before allowing this. Guidance should also be given on appropriate online behaviour, including the
importance of following the community’s guidelines. Teachers may wish to setup a ‘Scratch teacher’ account to manage their learners’
programs online. Further information can be found at https://scratch.mit.edu/educators/faq.
Further information about learner safety and responsibility can be found in section 5 of the Syllabus.
Explain that learners are going to pretend to be the computer Computing unplugged activities
by using an unplugged activity. are those which take place away
from the machines without the
Display the following written instructions and explain that the use of technology.
“word” is the input, whilst the actions of “clap hands” or
“stamp feet” are the output:
Ask them to discuss how the program could work and what
information the user would need to enter, the input, what
’decision’ the computer would need to make and what it
would need to then display, the output. The responses
should include the following:
The multiplication question for the young
Output learner to answer.
The young learner’s answer to the
Input
question.
Decision Is the answer the user has input correct?
The response based upon whether a
Output correct or incorrect answer has been
‘input’.
Example Scratch
Scheme of Work – Cambridge ICT Starters On Track, Programming for a Purpose 7
Display the example program ‘ot_example1.sb2’ and ask program:
learners to predict the program’s output by working through ot_example1.sb2
each instruction block in order. Demonstrate inputting a
range of text, including “left”, “right”, “lft” and “move” and
discuss the program’s behaviour.
Learners should alter the question and the answer within the
duplicate in their program to produce an additional question. When testing, encourage
learners to work through each
Ask learners to repeat the process of testing their program instruction in turn to determine
and to ensure that the second question functions as where an error takes place or to
expected. Also ask them to test a peer’s program and to describe to a peer the intended
ensure their test data is correct. They should “debug”, or fix, functionality of each instruction,
any errors that are identified. as oral description can also help
to identify errors.
Learners should ensure they save their work or download
the file to their computer, which will ensure they are able to It might be necessary to remind
enhance their program in later activities. learners how to save their work.
This can be done using the
“Save” option (in the offline
version of Scratch) or the
“Download to your computer”
option (online version) from the
“File” menu.
Discuss the actual output and where the bugs are within the
algorithm. If necessary, explain there are two errors:
- The “<” operator is incorrect, as it currently only
allows people smaller than the height limit to go on
the ride. It should be altered to an “>” operator.
- The output text is incorrect, as it currently states the
“name of the ride is able to go on name of person”. It
should read the “name of person is able to go on
name of ride”
Learners should be given a flowchart for an interactive program and asked to predict the output following the input of data (3). Learners should be
given a flowchart containing more than one error and asked to debug the instructions (5).
Stage
1 Plan an interactive program using abstraction
2 Create and test an interactive program using selection, input and output
3 Predict the output of an interactive program that uses input and selection
4 Create and formally test an interactive program using selection, input and
output
5 Correct (debug) a short interactive program containing more than one error
Start
Output – Display
the multiplication
question
YES NO
End
Expected
Test case Input data Actual output Notes
output
Start
Output – What is
the capital city of a
specific country?
YES NO
End
Start
Output – What is
the name of the
fairground ride?
Output – What is
the ride’s height
limit?
Output – What is
the person’s
name?
Output – What is
the person’s
height?
End
Activities to introduce learners to using a text based programming language for creating an interactive program.
Create and test an Introducing selection, inputs and outputs using a text based
interactive program programming environment
using selection,
input and output
The following activities will enable learners to begin Example flowchart
implementing selection within Python. For these activities (See Appendix A)
Predict the output
of an interactive
they will need to refer to the flowchart for a multiplication
program that uses game (appendix A)
input and selection
Show learners the Python interface and explain that they will trinket.io online Python An offline Python editor can be
now need to type in commands, or instructions, rather than 3 editor is available at: downloaded from:
by dragging blocks together. https://trinket.io/python https://www.python.org/downloa
3 ds/
Demonstrate typing in the “print” command to output text to
the screen and emphasise the importance of spacing, capital
/ lower case letters and punctuation. Explain that this forms
Python’s ’syntax’, or the set of rules defining the combination
of symbols in a language. An example of what could be
typed would be as follows:
Run the program to demonstrate the program’s output. Within trinket.io the run button is
in the row of buttons at the top of
Ask learners to experiment with displaying different text to the editor.
the screen. Encourage them to assist each other with
debugging their work and discuss how this is different or
similar to debugging with block based programming
Scheme of Work – Cambridge ICT Starters On Track, Programming for a Purpose 21
languages.
The program’s output is
Remind learners of their previous work on inputs and outputs displayed in the right hand
in programming and explain that, in Python, the “input” window of trinket.io
command is used to allow the user to type in text. Explain
that the user’s answer is then stored using a variable, which If there are errors in the
is a way to store information in the computer’s memory. For program, Python may display a
the purposes of the following demonstration the variable has “Syntax Error”. Learners should
been called “answer” but any word could be used as long as read the error message carefully
it matches what is then used in the selection command. It is and examine the line the error
however important that the chosen word reflects what the occurred on.
variable is intended to be used for as this will make testing
and debugging easier.
Explain that instructions that are not part of the “if, else”
statement should not be indented. Therefore it may be
necessary to remove the indentation before entering the next
command.
Activities to for enhancing and testing interactive programs in a text based programming language.
Create and formally Enhancing and formally testing an interactive program using a
test an interactive text based programming environment
program using
selection, input and
The following activities will ensure that learners’ programs trinket.io online Python 3
output
are fully tested. Learners will also be given the opportunity to editor is available at:
enhance the programs that they created in Python. https://trinket.io/python3
Explain that learners are now going to enhance and An offline Python editor
thoroughly test their multiplication program from the previous can be downloaded from:
activities. Ask them to open their work or upload the file from https://www.python.org/do
their computers. wnloads/
Remind learners of the test table that they used to test their
programs. Explain that they now need to more thoroughly
test their programs, using a wider range of inputs. Show
learners the following definitions and examples:
- Normal values – usual, expected data (e.g. “5” and
“8”)
- Extreme values – unusual or unexpected data, such
as very high or low values (e.g. “-34” or
“345345635634636”)
- Erroneous values – data of the wrong type (e.g.
“David” or “donkey”)
Test case Input Expecte Actual Notes
data d output output
Normal values - 10 Well To be To be completed
correct response done! completed if additional
displayed when after test information is
right answer required after
Scheme of Work – Cambridge ICT Starters On Track, Programming for a Purpose 25
entered test
Extreme values – -34 Unlucky To be To be completed
correct response completed if additional
displayed when after test information is
wrong answer required after
entered test
Enter the above information with learners into the test table
and ask learners to work in pairs to complete the remainder
of the table, for the Erroneous values.