Computer-Science-Lesson-Plans V2
Computer-Science-Lesson-Plans V2
Computer-Science-Lesson-Plans V2
Objectives Resources
● To be able to produce a correctly structured Question 3(a) Sample
extended response answer to an examination Assessment Material
question. Paper 1: Principles of
● To understand what a level based mark scheme is Computer Science.
and how they are applied to extended response Print a copy of the
answers. question for each
student.
● To increase knowledge and understanding of the
topic being assessed. Have the mark
scheme available
Transferable skills electronically.
Intrapersonal skills:
● Continuous learning (Expanding skills and skill-sets Use ‘pose, pause,
through learning and increasing knowledge) pounce, bounce’
technique
● Intellectual interest and curiosity (Willing to tackle
https://www.youtube.
challenging problems; researching appropriate solutions
com/watch?
and seeking to widen knowledge and increase
v=i6KCrLNCNT0
understanding.
● Initiative (Using computational skills to develop own
understanding and problem solving abilities.)
● Integrity (Taking ownership of their own work and
responding to challenges.)
● Self-monitoring/self-evaluation/self-reinforcement
(Planning and reviewing own work as a matter of
course.)
Interpersonal skills
Self-presentation (Presenting outcomes of a group or
individual task to the whole class.
● Communication (Able to communicate ideas to peers and
teachers and to discuss the logic of algorithms and code
(verbally or written).
● Collaboration (Working with peers on shared tasks; giving
feedback on peers on problem solving and other tasks.
● Teamwork (Working with peers to solve problems and
create programs.
● Co-operation (Share ideas with peers and supports peers
who are finding tasks difficult.)
● Interpersonal skills (Giving feedback to peers that is
appropriate and delivered in a way that encourages them.)
Cognitive skills
● Problem solving (Solving problems is the core of
computer science. Problem solving skills include
breaking a large problem into a number of smaller ones,
recognizing how problems relate to ones that have been
1|Page
solved, setting aside details of a problem that are less
important, and identifying and refining the steps needed
to reach a solution.
● Analysis (Organising ideas and thinking both creatively
and logically.
● Reasoning/argumentation (Piecing together information,
usually to recommend or suggest further action.
● Decision making (Judging multiple options or alternatives,
in order to select one so as to best fulfil
requirements/needs.
● Adaptive learning (Using skills, knowledge and
understanding to respond the new and unfamiliar
challenges.
● Executive function (Analysing a situation, planning and
taking action, maintaining attention, and adjusting
actions as needed to complete a task.
● Creativity (Using efficient/effective strategies to create a
solution/solve a problem
Preparation
For this lesson students will need knowledge and understanding of the topic being
assessed. This could be imparted using one of these methods:
In a previous lesson
Using flipped learning, where the student has acquired the knowledge and
understanding themselves prior to the lesson. This assumes videos/podcasts
have been created previously.
The topic in this lesson is secondary storage, referenced in the specification at:
4.2.5 Understand how data is stored on physical devices (magnetic, optical, solid
state).
4.2.6 Understand the concept of storing data in the ‘cloud’ and other contemporary
secondary storage.
2|Page
Starter
Divide class into four groups:
Give each group one topic from magnetic, optical, solid state and cloud
storage.
Ask each group to put together a short verbal explanation (one sentence) on
their topic.
Each group should then deliver the explanation
After each explanation ask the class as a whole to suggest scenarios where their
topic could be the most appropriate.
Main lesson
Issue Q3(a) from the SAM Paper 1.
3|Page
Now join each pair with another (4 students in each group)
The group should then discuss the notes they have made so far, and combine
them.
Encourage students to review their initial work and review what peers have
contributed, positively.
This group combining and sharing should continue until the class is a single group.
Plenary
Ask students to note down quickly (first impressions are important):
Note down on board and use what they don’t know yet as starter for next lesson.
4|Page
This task can be given to students to prepare in advance for the lesson.
In this task you are going to research certain topics. You can use the world
wide web and/or textbook resources.
You must use at least 2 resources for each topic, and reference these
resources.
You must then use your own words to complete the task.
2. Explain what ‘the cloud’ is and how data is stored in ‘the cloud’.
5|Page
Lesson plan 2:
Improving debugging skills
Objectives Resources
● To improve debugging skills whilst programming. Programming
● To increase confidence and ability in debugging as language used by
preparation for the practical examination. the students.
Transferable skills
Intrapersonal skills
● Adaptability (Persisting in the face of difficulties, such as
when writing code or designing an algorithm.)
● Continuous learning (Expanding skills and skill-sets
through learning and increasing knowledge)
● Intellectual interest and curiosity (Willing to tackle
challenging problems; researching appropriate solutions
and seeking to widen knowledge and increase
understanding.
● Initiative (Using computational skills to develop own
understanding and problem solving abilities.)
● Responsibility (Taking responsibility for finding and
correcting errors in coding and algorithms.
● Perseverance (Seeking to remove all errors in code and
algorithms using testing and other tools.
Interpersonal skills
● Communication (Able to communicate ideas to peers and
teachers and to discuss the logic of algorithms and code
(verbally or written).
● Collaboration (Working with peers on shared tasks; giving
feedback on peers on problem solving and other tasks.
● Teamwork (Working with peers to solve problems and
create programs.
● Co-operation (Share ideas with peers and supports peers
who are finding tasks difficult.)
● Interpersonal skills (Giving feedback to peers that is
appropriate and delivered in a way that encourages them.)
Cognitive skills
● Critical thinking (Clarifying thoughts sufficiently so that
they can be expressed in a form that a computer can carry
out Analyzing and identifying possibilities and strategies
to meet a required process and outcomes. Identifying the
outcome of a computational process.
● Problem solving (Solving problems is the core of
computer science. Problem solving skills include
breaking a large problem into a number of smaller ones,
recognizing how problems relate to ones that have been
solved, setting aside details of a problem that are less
important, and identifying and refining the steps needed
6|Page
to reach a solution.
● Analysis (Organising ideas and thinking both creatively
and logically.
● Reasoning/argumentation (Piecing together information,
usually to recommend or suggest further action.
● Decision making (Judging multiple options or alternatives,
in order to select one so as to best fulfil
requirements/needs.
● Adaptive learning (Using skills, knowledge and
understanding to respond the new and unfamiliar
challenges.
Background
This lesson is designed to reinforce knowledge and understanding of debugging
whilst programming by using transferable skills and can be used in any programming
lesson.
The examples here use the introduction of bubble sort which is then programmed
using arrays (lists in Python).
Teachers are of course free to use their own resources for bubble sort theory but the
examples here utilise the Pearson iGCSE Computer Science Teaching and Learning
Materials here, specifically Scheme of Work 2017 Year 1 Term 3, Week 11 Lesson 2.
Preparation
If required, obtain resources from Scheme of Work 2017 Year 1 Term 3, Week 11
Lesson 2.
Prepare a pseudo-code algorithm of a bubble sort, or use the example later in this
lesson.
Prepare buddy pairing cards with numbers and names. Each student has a
different number and the buddy they call on will be the next in the sequence. For
example, student 5 will have as a debugging buddy student 6, who will have as
debugging buddy student 7.
7|Page
For example:
5 Waheed Khan
6 Jane Smith
7 Chen Wong
The last student will have the first student as a debugging buddy.
Starter
Divide class into small groups:
Explain that they will be introduced to a new concept (bubble sort) which
they will then program using arrays/Python lists
The group should review their understanding and collectively note down one
thing they are confident about and one thing they are not yet confident
about.
Review the groups’ understanding and explain that they will be learning how
to improve their debugging skills which will increase their confidence and
understanding. Remind them that this will assist them when they are
undertaking the practical examination.
Main lesson
Teaching points
Theory
Spend about 20 minutes explaining bubble sort.
Set up task:
Give each student a pseudo-code algorithm of a bubble sort.
Give each student a copy of the debugging buddy flowchart.
Students are assigned their debugging buddy.
Give a list of numbers to be sorted, e.g.:
o 16, 8, 4, 25, 10, 29, 12
Ask students to start creating the program.
8|Page
Explain that they are going to use debugging buddies to help them debug any
problems as they create the bubble sort program.
Note: it is not essential that the program is completed in this lesson, it can be
continued in the next one.
Rules of engagement:
● The buddy system is a partnership; students need to work together.
● Students should not call on their friends to help instead of their buddy.
● All students should verbalise what they are doing as they go (i.e. buddies should
not just jump in and fix it!)
● When an explanation is given, the understanding of the other person should be
checked.
Plenary
Divide students into their groups again.
Ask each group if they have been able to improve their confidence and
understanding
From each group, take one positive and one thing that could be improved
about the debugging buddy method.
9|Page
Debugging START
Buddy Flowchart
Try to debug
problem
Debugged
?
Y
N
Debugged
?
Y
N
Buddy works with student
to debug
Debugged
?
Y
N
Debugged
?
FINISH
10 | P a g e
Bubble sort algorithm
Ref: http://www.pythonschool.net/data-structures-algorithms/bubble-sort/
11 | P a g e
Lesson plan 3:
Understand how encryption algorithms work
Objective Resources
● To understand how the encryption algorithms in the Caesar cipher wheel
specification (Pigpen cipher, Caesar cipher, Vigenére template here:
cipher, Rail Fence cipher) work. https://fprint.net/wp-
content/uploads/
Transferable skills printable-cipher-
wheel.pdf
Intrapersonal skills:
● Continuous learning (Expanding skills and skill-sets
Vigenére cipher
through learning and increasing knowledge)
template here:
● Intellectual interest and curiosity (Willing to tackle https://
challenging problems; researching appropriate solutions commons.wikimedia.
and seeking to widen knowledge and increase org/wiki/
understanding. File:Vigenere-
● Initiative (Using computational skills to develop own square.png
understanding and problem solving abilities.)
● Integrity (Taking ownership of their own work and Links to algorithms:
responding to challenges.) Pigpen cipher:
Interpersonal skills http://
www.simonsingh.net/
● Communication (Able to communicate ideas to peers and
The_Black_Chamber/
teachers and to discuss the logic of algorithms and code
pigpen.html
(verbally or written).
● Collaboration (Working with peers on shared tasks; giving https://
feedback on peers on problem solving and other tasks. www.youtube.com/
● Teamwork (Working with peers to solve problems and watch?
create programs. v=9MlW6Kpp8Xk
● Co-operation (Share ideas with peers and supports peers
who are finding tasks difficult.) Caesar cipher:
https://
● Interpersonal skills (Giving feedback to peers that is inventwithpython.co
appropriate and delivered in a way that encourages them.) m/hacking/
Cognitive skills chapter1.html
● Problem solving (Solving problems is the core of
computer science. Problem solving skills include http://
breaking a large problem into a number of smaller ones, www.simonsingh.net/
recognizing how problems relate to ones that have been The_Black_Chamber/
solved, setting aside details of a problem that are less caesar.html
important, and identifying and refining the steps needed
to reach a solution. Vigenére cipher:
http://
● Analysis (Organising ideas and thinking both creatively www.simonsingh.net/
and logically. The_Black_Chamber/
● Reasoning/argumentation (Piecing together information, vigenere_cipher.html
usually to recommend or suggest further action.
● Decision making (Judging multiple options or alternatives, https://
in order to select one so as to best fulfil en.wikipedia.org/
requirements/needs. wiki/Vigen
● Adaptive learning (Using skills, knowledge and %C3%A8re_cipher
12 | P a g e
understanding to respond the new and unfamiliar
challenges. Rail Fence cipher:
● Executive function (Analysing a situation, planning and http://
taking action, maintaining attention, and adjusting www.braingle.com/
actions as needed to complete a task brainteasers/codes/
railfence.php
● Creativity (Using efficient/effective strategies to create a
solution/solve a problem http://
practicalcryptography
.com/ciphers/rail-
fence-cipher/
Preparation
The topic in this lesson is referenced in the specification at:
3.4.2 Understand how encryption algorithms work (Pigpen cipher, Caesar cipher,
Vigenére cipher, Rail Fence cipher).
Teachers should familiarise themselves with how these algorithms work using the
hyperlinks in the resources column.
13 | P a g e
Starter
Introduce the topic of the lesson – to understand the need for data encryption and
how 4 algorithms work.
The translation of data into a secret code. Encryption is the most effective way to
achieve data security. To read an encrypted file, you must have access to a
secret key or password that enables you to decrypt it. Unencrypted data is
called plain text ; encrypted data is referred to as cipher text.
http://www.webopedia.com/TERM/E/encryption.html
Ask students to work in pairs and think of some ideas of where encryption would be
needed to protect data.
Take suggestions from the class and note on board.
Main lesson
Start the main part of the lesson by displaying a list of the 4 different encryption
algorithms students need to understand on the board. These are:
● Pigpen cipher
● Caesar cipher
● Vigenére cipher
● Rail Fence cipher
14 | P a g e
● Split the class into 4 (or a multiple of 4) groups
● Assign 1 student to collect all the group’s workings and algorithms from each
station and keep safe in the document holder.
● Ask students to write their names on any work they complete.
● Tell the groups they will have a set time at each station (e.g. 10 minutes)
● GO!
Plenary
Ask students to vote for the algorithm that they think is the most effective. Tally
the marks.
Now ask students to vote for the algorithm that they think is the most ineffective.
Tally the marks.
Note: Collect document folders and distribute notes to students at the next lesson.
15 | P a g e
Pigpen Cipher – how it works:
The Pigpen Cipher is a substitution cipher which substitutes each letter with a
symbol. The symbol is the shape for each letter in a fixed grid.
A will be substituted by
K will be substituted by .
1)
2)
A Caesar Cipher wheel is a useful tool since it makes it easy to go back to the
start of the alphabet. Put the inner wheel with the key value under the outer
wheel ‘A’.
It is then easy to read off the substitution values and encrypt or decrypt the
message.
For this example, shift right using a key of 8, then left using a key of 3.
17 | P a g e
Vigenére cipher – how it works:
This cipher uses 26 alphabets in a square, each one shifted by one letter. Any
of the substation alphabets can be used, but is reliant on a keyword.
Example:
The plaintext is ‘test this square’. Remove the spaces.
The keyword is ‘once’.
The keyword is then written repeatedly above each letter of the plaintext.
Then you must look at the column of the plaintext and the row of the
keyword, and find the letter of the intersection.
The result is the encrypted text.
2) LJQWVUEUNMZRTGARIIE
3)
Keyword:
Plaintext:
Ciphertext:
4)
Keyword:
Plaintext:
Ciphertext:
18 | P a g e
Rail Fence Cipher – how it works:
This is a transposition cipher. First decide on the number of ‘rails’ the cipher
will use. These will be the number of letters in each column. Then the letters
are written down, snaking from column to column in order. To create the
ciphertext now write all the letters down from the rows one after the other.
To decrypt you have to know the number of rails and the number of rows used.
Split the text into equal rows (as far as possible) then write each letter down
the rails. You may need to decide where spaces should be added.
Example:
Plaintext:
IT WAS A DARK AND STORMY NIGHT
Rail fence:
I A KDO H
TS D RNT
AASMI
WARNTYG Note: when
answering make sure
Ciphertext: the number of spaces
IA_KDO_HTSD__RNT__AASMI_WARNTYG is obvious
Rail Fence Cipher Challenges:
Decrypt the following ciphertext examples into plaintext using the rail Fence
cipher:
Now encrypt the following plain text using Rail Fence. You decide on the
number of rails, and note this down with the final number of rows.
3) When is my examination
19 | P a g e
20 | P a g e