Computational Thinking Skill
Training Module
for
Continuous Professional Development
2017
Organized by:
Conducted by:
Computational Thinking Skill Training Module
i
Contents
Agenda .............................................................................................................................. vi
Welcome .......................................................................................................................... viii
Introduction........................................................................................................ viii
Objectives .......................................................................................................... viii
Our Expectation of You..................................................................................... viii
Questions for You.............................................................................................. viii
Confidentiality.................................................................................................... viii
MODULE 1: INTRODUCING COMPUTATIONAL THINKING.................................. 2
SECTION 1: WHAT IS COMPUTATIONAL THINKING (CT) ................................... 2
Overview................................................................................................................ 2
Outcome ................................................................................................................ 2
What is CT?........................................................................................................... 2
Four main concepts............................................................................................. 3
1. Decompose................................................................................................................. 3
2. Pattern ......................................................................................................................... 3
3. Abstraction .................................................................................................................. 3
4. Algorithm ..................................................................................................................... 3
Other concepts ..................................................................................................... 4
Application ............................................................................................................ 5
Question for you ................................................................................................... 7
What is unplugged activity? ................................................................................ 7
Why use unplugged activities? ........................................................................... 7
Conclusion ............................................................................................................ 8
Further exploration............................................................................................... 8
SECTION 2 : DECOMPOSE ............................................................................................ 9
Overview................................................................................................................ 9
Outcome ................................................................................................................ 9
Decompose: Activity 1- Video ............................................................................. 9
Decompose: Unplugged Activity - Hand Jive................................................... 10
Discussion .......................................................................................................... 11
Conclusion .......................................................................................................... 11
SECTION 3: PATTERN ................................................................................................. 13
Overview.............................................................................................................. 13
Outcome .............................................................................................................. 13
Patterns: Activity 1- Video ................................................................................. 13
Patterns: Unplugged Activity 1- Elephants ...................................................... 13
Patterns – Unplugged Activity 2: Pattern Decoding ........................................ 15
Discussion: ......................................................................................................... 19
Conclusion .......................................................................................................... 19
SECTION 4 : ABSTRACTION ...................................................................................... 20
Overview.............................................................................................................. 20
Outcome .............................................................................................................. 20
Abstraction: Activity 1- Video............................................................................ 20
Abstraction: Unplugged Activity 1- Making Sentences................................... 20
Abstraction: Unplugged Activity 2 - Guessing Game...................................... 21
Discussion .......................................................................................................... 22
Conclusion .......................................................................................................... 22
SECTION 5 : EXPLORING ALGORITHMS ................................................................ 24
Overview.............................................................................................................. 24
Outcome .............................................................................................................. 24
Algorithm: Activity 1 - Video.............................................................................. 24
Algorithm: Unplugged Activity 1 - Monster Face............................................. 25
Algorithm: Unplugged Activity 2 - Graph Paper Programming ...................... 28
Algorithm: Unplugged Activity 3 - Algorithms In Daily Life ............................ 30
Conclusion .......................................................................................................... 31
SUMMARY ....................................................................................................................... 32
Further Exploration ............................................................................................ 32
MODULE 2 : EXPLORING COMPUTATIONAL THINKING SKILLS USING
SCRATCH PROGRAMMING......................................................................................... 34
Overview.............................................................................................................. 34
Outcome:............................................................................................................. 34
SECTION 1: GETTING STARTED............................................................................... 34
About Scratch ..................................................................................................... 34
Activity 1. Showcase examples of Scratch Programming Projects ............... 35
Installation........................................................................................................... 36
SECTION 2: INTRODUCTION TO SCRATCH 2.0 ................................................... 37
Computational Thinking Skill Training Module
Step 1 : Introduction to Scratch interface .................................................... 37
Step 2: Introduction to the Script blocks.......................................................... 38
Hands-on session............................................................................................... 39
SECTION 3 : DEVELOPING A SCRATCH PROJECT ............................................. 43
Overview.............................................................................................................. 43
Scenario .............................................................................................................. 43
Developing an algorithm.................................................................................... 44
Tutorial : Starting A New Project : Maze Game ................................................ 45
Challenge 1 ......................................................................................................... 71
Reflection ............................................................................................................ 71
MODULE 3 - INTEGRATING COMPUTATIONAL THINKING (CT) SKILLS IN
TEACHING AND LEARNING ....................................................................................... 73
Overview.............................................................................................................. 73
SECTION 1: TEACHING STRUCTURE: BRAIN-BASED ........................................ 73
Activation ............................................................................................................ 74
Develop................................................................................................................ 74
Learn-By-Doing................................................................................................... 75
Integration ........................................................................................................... 75
Review ................................................................................................................. 75
Preview ................................................................................................................ 76
SECTION 2: INQUIRY BASED APPROACH ............................................................. 77
Building a Culture of Inquiry.............................................................................. 77
What is Inquiry-Based Learning (IBL)?............................................................. 77
What Does The Research Say? ......................................................................... 78
Why Inquiry-Based Learning? ........................................................................... 78
Tips for Teachers................................................................................................ 79
Suggestion for Practise ..................................................................................... 79
Inquiry Process................................................................................................... 80
Questioning Technique...................................................................................... 81
Summary ............................................................................................................. 82
CT Rubrics .......................................................................................................... 83
Conclusion .......................................................................................................... 85
SECTION 3 - INTEGRATING CT IN TEACHING LEARNING ACTIVITIES........ 86
UNPLUGGED ACTIVITIES ........................................................................................... 86
Computational Thinking Skill Training Module
Subject : Mathematics ................................................................................. 86
Activity 1 : Figuring it Out............................................................................................. 86
Subject : Science ........................................................................................ 88
Activity 2 : Move it, Move it ....................................................................................... 88
Subject : Reka Bentuk Teknologi .............................................................. 90
Activity 3 : Weaving Mat ............................................................................................. 90
Subject : Pendidikan Seni Visual ............................................................... 92
Activity 4 : Fun with papier-mache ............................................................................. 92
Subject : Bahasa Melayu ............................................................................ 93
Activity 5 : Smart Writer ............................................................................................... 93
Subject : English Language ........................................................................ 95
Activity 6 : Tour Guide.................................................................................................. 95
Subject : History........................................................................................... 98
Activity 7 : The Melaka Malay Sultanate Timeline ................................................... 98
Subject : Moral Studies ................................................................................... 101
Activity 8 : What kind of a bullyist are you? ............................................................ 101
Subject : Islamic Studies ........................................................................... 102
Activity 9 : “My Haj” flow chart................................................................................... 102
Subject : Pendidikan Jasmani dan Kesihatan ......................................... 103
Activity 10 : I am a designer too................................................................................ 103
Subject : Bimbingan dan Kaunseling Kelompok..................................... 104
Activity 11 : I need someone to talk to ...................................................................... 104
Subject : Dyslexia, Dyscalculia and Dysgraphia in Remedial Education105
Activity 12 : Insights - Dyslexia................................................................................... 105
Subject : Music........................................................................................... 107
Activity 13 : Sing Along ................................................................................................ 107
Subject : Bahasa Khadazan Dusun ......................................................... 109
Activity 14 : Smart Writer............................................................................................ 109
Subject : Bahasa Iban ............................................................................... 111
Activity 15 : Smart Writer............................................................................................ 111
Subject : Bahasa Tamil ............................................................................. 113
Activity 16 : Smart Writer............................................................................................ 113
Subject : Bahasa Arab .............................................................................. 115
Activity 17 : Smart Writer............................................................................................ 115
Computational Thinking Skill Training Module
Subject: Music and Creativity in Early Childhood Learning (Muzik dan
Kreativiti dalam PAKK)..................................................................................... 117
Activity 18 : Smart Song Writer ................................................................................. 117
Subject : Chinese Language, Literature and Culture (BCN1064 Bahasa,
Sastera dan Budaya Sosial) 语文、文学和社会文化........................................ 118
Activity 19 : Mind map/Thinking Maps 思路图......................................................... 118
Conclusion ........................................................................................................ 123
After class assignment .................................................................................... 123
Bibliography...................................................................................................... 124
Computational Thinking Skill Training Module
vi
Agenda
Day 1: Module 1 - Introducing Computational Thinking
Time Details Module
8:00 am Welcome and Ice Breaking Activity Module 1: Section 1
8.30 am – 10.30 am Introduction Module 1: Section 2
10.30 am – 11.00 am What is CT Module 1: Section 3
11.00 am – 1.00 pm Overview of CT concepts Module 1: Section 4
Unplugged Activities:
1.00 pm – 2.00 pm Concept 1: Decompose Module 1: Section 5
2.00 pm – 4.00 pm Explain + unplugged activity
Discussion
Tea Break
Concept 2: Pattern:
Explain + unplugged activity
Discussion
Concept 3: Abstraction
Explain + unplugged activity
Discussion
Lunch Break
Concept 4: Algorithm
Explain + unplugged activity
Discussion
Day 2: Module 2 - Exploring Scratch
Time Details Module
8:00 am Welcome Module 2: Section 1
8.30 am – 10.30 am Scratch :
Getting to know Scratch Interface Module 2: Section 2
10.30 am – 11.00 am Module 2: Section 3
11.00 am – 1.00 pm Getting Started
1.00 pm – 2.00 pm
2.00 pm – 4.00 pm Tea Break
Hands on with Scratch
Lunch Break
Hands on with Scratch
vii
Day 3: Module 3 - CT Skills Integration in Teaching and Learning
Time Details Module
8:00 am Welcome Module 3: Section 1
8.30 am – 10.30 am Integrating CT into the Module 3: Section 2
classroom Module 3: Section 3
10.30 am – 11.00
am Unplugged Activity – Module 3: Section 3
11.00 am – 1.00 pm subject focused
Tea Break Module 3: Section 3
1.00 pm – 2.00 pm
2.00 pm – 4.00 pm Group work:
Plan an unplugged
activity to integrate CT
into the classroom
Lunch Break
Group work:
Plan an unplugged
activity to integrate CT
into the classroom
Day 4: Module 3 - Integrating CT Skills in Teaching
Time Details Module
8:00 am Welcome
8.30 am – 10.30 am Presentation of group work
10.30 am – 11.00
am Tea Break
11.00 am – 1.00 pm
Presentation of group work
1.00 pm – 2.00 pm Reflection and Q&A
Lunch Break
Computational Thinking Skill Training Module
viii
Welcome
Introduction
This course aims to help educators learn about Computational Thinking (CT), how computer
science materializes this thinking skills and how it can be integrated into a variety of subject
areas. It increases educators’ awareness of CT, allows educators to explore examples of CT
that can be integrated into their subject areas, experiment with examples of CT-integrated
activities for their subject areas, and create a plan to integrate CT into their own curricula.
It also emphasizes problem solving that utilizes participants’ prior knowledge in their subject
area together with computational thinking skills to help them understand the nature and scope of
problem. The training also equip educators with hands-on experience to ensure that the CT
skills can be effectively delivered and transferred to them.
Objectives
After the training, participants are able to:
Synthesis CT into teaching.
Transfer CT skills to students.
Have the technical skills (programming) and problem solving ability to teach the software
within the curriculum.
Our Expectation of You
Participant is
willing to learn
flexible and adaptable
very organized
comfortable facilitating / guiding learning, rather than giving answers
comfortable using technology
able to think creatively, innovatively, likes to problem solve
comfortable to facilitate students who are tech-savvy
able to guide fast learning students to scaffold their peers
Questions for You
1. Are you enthusiastic about participation?
2. Do you have adequate status among your peers to withstand criticism and lead cooperative
collaboration among the majority of the faculty?
3. Are you experienced and mature enough to collaborate with the trainer to generate the
most advantageous customizations?
Confidentiality
Materials distributed for this training purpose are strictly private and confidential and should not
be copied, distributed, reproduced or shared in whole or in part, nor passed to any third party.
Computational Thinking Skill Training Module
1
MODULE 1
2
MODULE 1: INTRODUCING COMPUTATIONAL THINKING
SECTION 1: WHAT IS COMPUTATIONAL THINKING (CT)
Overview
This module introduces participants to computational thinking, explores together with
participants where does it occur, why should educators care, and how it is being applied.
Outcome
After completing this module, you should be able to:
Describe what CT is.
Understand Decompose and its application.
Understand Pattern and its application.
Understand Abstraction and its application.
Understand Algorithm and its application.
Understand Other Computational Thinking Concepts and its application.
What is CT?
Computational Thinking Skill Training Module
3
Four main concepts
1. Decompose
Breaking down data, processes, or problems into smaller, manageable parts.
2. Pattern
Observing patterns, trends, and regularities in data.
3. Abstraction
Identifying and extracting relevant information to define main idea(s).
4. Algorithm
Creating an ordered series of instructions for solving similar problems or for doing a task.
Computational Thinking Skill Training Module
4
Other concepts
Logical Reasoning
Enables pupils to make sense of things by analysing and checking facts through thinking
clearly and precisely.
Evaluation
The process of ensuring that a solution, whether an algorithm, system, or process, is a
good one: that it is fit for purpose.
Parallelization
Threading, pipelining, dividing data or task in such a way to be processed in parallel
solution.
Simultaneous processing of smaller tasks from a larger task to more efficiently reach a
common goal
Simulation
Developing a model to imitate real-world processes using algorithm, animation, parameter
sweeping.
Data Representation
Use data structures such as array, linked list, stack, queue, graph, hash table, etc
Data Analysis
Write a program to do basic statistical calculations on a set of data
Data Collection
Gathering Information
Automation
Having computers or machines do repetitive tasks
Computational Thinking Skill Training Module
5
Application
Daily-life example:
Some examples are given here. Can you think of other examples?
CT Concepts Example
Decompose When we taste an unfamiliar dish and identify several
Patterns ingredients based on the flavor, we are decomposing that dish
Abstraction into its individual ingredients;
Algorithm
People look for patterns in stock prices to decide when to buy
and sell;
A daily planner uses abstraction to represent a week in terms
of days and hours, helping us to organize our time;
When a chef writes a recipe for a dish, they are creating an
algorithm that others can follow to replicate the dish.
Computational Thinking Skill Training Module
6
In your day-to-day teaching experience:
Credits to https://creativecommons.org/licenses/by/4.0/
CT Concepts Subject Example
Decompose Mathematics We can decompose a number such as 256.37 as
follows: 2*102+5*101+6*100+3*10-1+7*10-2
In science we decompose a projectile’s velocity into its
components along the x- and y-axis.
Pattern Mathematics We write generalized formulas in terms of variables
instead of numbers so that we can use them to solve
problems involving different values
Eg: The slope of any straight line can be described
as a function of y = mx + b.
Abstraction English Find the main idea (thesis) of a short story or article to
help students understand the important information.
Algorithm Mathematics When we add and subtract fractions with different
denominators, we follow an algorithm.
Parallelization Biology An example of parallelization in computing is when a
single task (such as the analysis of a DNA sequence) is
broken into smaller tasks and simultaneously analyzed
by different computers so that the analysis can be
processed more efficiently.
Parallelization General Define the common goal at the outset, and then have
your students work in groups. Assign different tasks to
each group to work toward the common goal.
Automation Geography Show how automation can be used to perform tasks that
would take a very long time to complete using a manual
process, such as identifying the migration patterns of a
specific demographic based on census data.
Data collection Mathematics Have students engage in the process of collecting data
by having them gather the birthday and gender of their
peers and record it in a spreadsheet.
Data Analysis General Ask students to formulate their own questions that can
be addressed with data collection; work through data
together to answer them.
Using data sets with anonymized personal data, such as
height, shoe size, favourite colour, etc., show how data
analysis can be used to highlight information that is
meaningful and relevant to your students
Simulation Science Have your students illustrate the movement of a solar
system by modelling the gravitationally curved path of an
object around a point in space
Computational Thinking Skill Training Module
7
Question for you
Discuss and share your thoughts on the difference between CT and:
Problem Solving Skills
Mathematic Skills
Critical Thinking Skills
What is unplugged activity?
• ‘Unplugged’ refers to activities which don’t require the use of any electronic technology.
• The activities introduce students to Computational Thinking through concepts such as binary
numbers, algorithms and data compression, separated from the distractions and technical
details of having to use computers. Importantly, no programming is required to engage with
these ideas
• Activities may be paper based, use drama or other practical hands-on tasks to teach CS
• Activities often require pupils to take on the role of the computer - kinesthetic experiential
learning
Why use unplugged activities?
• Computing curriculum aims to develop pupils’ computational thinking skills, this includes:
•
- Algorithmic thinking
• Sequencing tasks into steps
• Understanding the importance of the order of the steps
• Thinking through the outcome of algorithms
• Including repetition and selection within algorithms (Ks2)
Computational Thinking Skill Training Module
8
• Evaluating the effectiveness of algorithms and improving as required
(debugging)
- Decomposition – ability to break down problems into sub-problems to help solve
• We can develop these skills without technology
- Powerful kinesthetic learning experiences
- Technology may be barrier to developing CT skill
Conclusion
Barr, D, Harrison, J, Conery, L. in their write-up says that:
The application of computer technology to virtually every field of study has changed the way
work is done today. While the human mind is by far the most powerful problem-solving tool we
have, the ability to extend the power of human thought with computers and other digital tools
has become an essential part of our everyday lives and work.
We all need to understand how, when, and where computers and other digital tools can help us
solve problems, and we all need to know how to communicate with others who can assist us
with computer-supported solutions.
Students already learn many elements of the set of computational thinking skills in a variety of
disciplines, but we need to ensure that all students have the opportunity to learn the complete
set of skills so their combined power is available to them.
Further exploration
Explore the attached unplugged activities.
Read up the case study by Yadav. A. et al.
Read up the article on Computational Thinking by Jeannette Wing.
Computational Thinking Skill Training Module
9
SECTION 2: DECOMPOSE
Overview
In this module, we will explore the process of decomposition and develop participants’ own
processes for approaching a problem through decomposition. Sometimes the problem is so big
or complex that we don’t know where to start. Decomposition is when we break a problem down
into smaller manageable parts to make it easier to tackle. Decomposition is the ability to break
down a task into minute details so that we can clearly explain a process to another person or to
a computer, or even to just write notes for ourselves. As we decompose something we learn
more about it. If we decompose a problem it becomes more manageable as we can deal with
the parts separately and more easily. This approach has many advantages. It makes the
process a manageable and achievable one – large problems are daunting, but a set of smaller,
related tasks are much easier to take on. It also means that the task can be tackled by a team
working together, each bringing their own insights, experience and skills to the task.
A real-world analogy of decomposition might work something like this: When we taste an
unfamiliar dish and identify several ingredients based on the flavor, we are decomposing that
dish into its individual ingredients.
Decomposition is everywhere in primary practice. We are always asking pupils to find out more,
tell us more. If pupils undertake any kind of project or task, such as: putting on a school play,
organizing a cake sale, creating a news report, working out how to solve a non- routine
mathematics problem, making a sandwich or getting dressed for Physical Education, they will
need to break the task up into manageable tasks or parts. That is decomposition.
Outcome
After completing this module, participants will be able to:
Break down a problem into smaller manageable parts
Decompose a problem into sub-problems
Design solutions to problems that depends on solving smaller sub-problems.
Decompose: Activity 1- Video
Watch and discuss the following video: M1.1_Decompose-Act1-Video OR
https://www.youtube.com/watch?v=yQVTijX437c
Duration : 10 minutes
Computational Thinking Skill Training Module
10
Decompose: Unplugged Activity - Hand Jive
Credits to http://barefootcas.org.uk/wpcontent/uploads/2015/02/DecompositionDesignSheet.pdf
Duration : 50 minutes
Introduction
This is an unplugged activity in which participants are shown hand jive sequences of
movements. Participants break the sequence of actions down into parts and in so doing are
decomposing. Participants link this idea to breaking problems down when creating computer
programs such as animations or games.
Objectives
Participants will be able to break down(decompose) a sequence of moves into its parts
and in so doing are decomposing.
Participants solve problems by decomposing them into smaller parts
Materials: One decomposition design sheet for each pair (D01)
Procedure
1. Show participants the sequence of hand movements, hand jive, as given below (Act it
out). The sequence needs to be relatively complex or long so that participants will find it
difficult to remember the parts without it being broken down into parts.
HAND JIVE
a. Pat your hands on your knees or thighs 2 times.
b. Clap your hands two times.
c. Crisscross your hands right hand above.
d. Crisscross your hands right hand below.
e. Making 2 fists, hit your hands together twice with the right
hand on top.
f. Making 2 fists, hit your hands together twice with the left
hand on top.
g. Make a thumbs-up sign with your right hand and point
backwards over right shoulder twice, as if you were hitchhiking
h. Make a thumbs-up sign with your left hand and point
backwards over left shoulder twice, as if you were hitchhiking.
i. Repeat steps a – h 3 times
2. Ask participants now to recreate the sequence without showing it to them again, or
explaining the parts.
3. Group participants in pairs. Give each pair the decomposition design sheet on which to
record their sequence.
4. Lead a discussion around how you could teach them it in a more effective way, leading
to the idea of breaking the sequence down into parts.
5. Explain that breaking something down into parts is called decomposition.
Computational Thinking Skill Training Module
11
6. Model how to break the sequence into parts (decompose it). Model how to number
and/or name each part and draw an image of each part. (Perhaps model just breaking
down the first 2 or 3 parts.)
7. Give pairs time to work out their sequence of movements and record their
decomposition. Participants should work collaboratively discussing moves, recording
each part, testing it out and debugging it.
8. As participants are working: circulate around the pairs to ensure participants are
breaking down their sequence into parts.
9. Stop the whole class on a couple of occasions and ask selected pairs to demonstrate
their sequence so far.
10. Ask pairs of participants to swap their designs and try them out – to debug them.
11. Ask a selection of pairs to teach the class their finished sequence, using their
decomposition to help them. If possible show their design at the same time, per- haps
using a visualizer.
Discussion
1. What is decomposition?
2. Why is it useful?
3. How is it used when creating computer animations or games?
Conclusion
Decomposition is a fundamental skill when working with computers as it helps us break down
complicated problems, focus on one part at a time and share the work with others.
Lead a class discussion about how breaking down the sequence into parts helped their design
process and sharing of the sequence. Points for discussion might include, being able to see the
overall sequence of parts, being able to spot repetition, being able to focus on one part at a
time.
Ask pupils in pairs to think how computer programs are created by computer scientists, for
example if they were creating a new computer game, say one like Angry Birds. Some designers
might work on the first level of the game others on the next. Some programmers might work on
the backgrounds, some on the sound and others on the action.
Computational Thinking Skill Training Module
12
D01
Date: Names:
Decomposing our sequence (breaking it down into parts)
How do you start? Have you got all the parts? How does it end? Do you repeat any parts?
Decomposition Design Sheet
Part Drawing Notes
Computational Thinking Skill Training Module
13
SECTION 3: PATTERN
Overview
In this module, we will explore examples of patterns and develop participants’ own processes
for approaching a problem through pattern recognition.
From pattern recognition, we will then abstract the important information we want.
Outcome
After completing this module, participants will be able to:
Identify similarities and differences in situations and can use these to solve problems.
Recognizes that some problems share the same characteristics and use the same
algorithm to solve both.
Designs a solution to a problem that depends on solutions to smaller instances of the same
problem (recursion).
Patterns: Activity 1- Video
Watch and discuss the following video: M1.2a_Pattern-Act1-Video OR
https://www.youtube.com/watch?v=SixLnIDV1yY
Duration : 10 minutes
Patterns: Unplugged Activity 1- Elephants
Credits to:
http://barefootcas.org.uk/barefoot-primary-computing-resources/concepts/patterns/
Duration: 20 minutes
Introduction
Once we have decomposed a complex problem, it helps to examine the small problems for
similarities or “patterns”. These can help us to solve complex problems more efficiently. The
patterns are similarities or characteristics that some of the problems share. Pattern recognition
is one of the four cornerstones of Computer Science. Participants will recognize why patterns
are important while decomposing problems that can help us solve more complex problems more
efficiently.
Computational Thinking Skill Training Module
14
Objectives
After completing this module, participants will be able to:
understand what patterns are and be able to examine small problems for similarities.
find similarities or patterns among small decomposed problems that can help
them solve more complex problems more efficiently
recognize that same solutions exist for different or similar problem.
Materials
Power point presentation
Blank pieces of paper
Markers, pens, or pencils
Procedure
1. Show power point presentation – Give each pair of participants a copy of the patterns
challenge sheet ask participants to look at the power point presentation and give them a
few minutes to discuss what is the same, what is different and what we can generally say
about the images of elephants.
2. Lead a class discussion about what is the same e.g. they all have big ears, a trunk etc.
Discuss what is different e.g. some have tusks, others do not. Agree on a general
‘statement’ about elephants e.g. all elephants have big leathery ears, a long wrinkled trunk,
are big and usually live somewhere hot.
3. Explain that today participants are spotting patterns.
Discussion
Ask a selection of participants to describe what patterns they found and what general
statements they thought of or jotted down. Lead a class discussion to discover if all participants
thought the same. Explain that in computer science we often look for patterns. This helps us find
general ways of looking at things. This helps us to reuse ideas. If we wrote a computer game
program with elephants in it, we could write codes to draw a basic body, and change the colour
and size of each elephant reusing the basic elephant body code.
Computational Thinking Skill Training Module
15
Patterns – Unplugged Activity 2: Pattern Decoding
Duration : 30 minutes
Overview:
With nothing but paper and markers, participants will learn how to recognize patterns.
Participants will have to write letter for others and they will then switch patterns with another and
write letter or number based on what that patterns indicates.
Objectives:
After completing this activity, participants will be able to:
understand what patterns are and be able to examine small problems for similarities.
find similarities or patterns among small decomposed problems that can help
them solve more complex problems more efficiently
identify patterns to can make predictions, create rules and solve more general problems.
recognize that same solutions exist for different or similar problem.
Materials:
Pattern Decoder Key (D02: M1.2b_Pattern-Act2-BinaryDecodeKey)
Pattern strips (D03: M1.2c_Pattern-Act2-BinaryStrips)
Plain paper
Grid paper
Markers, pens, or pencils
Procedure:
1. Distribute Pattern Decoder Key to all participants.
2. Display Pattern Decoder Key randomly without alphabets and ask participants to study
the patterning to identify the alphabets shown.
3. Give each group the treasure hunt activity sheet.
4. Groups work together to decode the sentence given using the binary decoder key.
5. Groups that manage to crack the code can proceed to find the treasure.
Computational Thinking Skill Training Module
16
Activity Sheet:
1. Decode the following and go find your treasure.
If you want to check the answer, Answer_sheet_Module1
Computational Thinking Skill Training Module
Pattern Decoder Key (M1.2b_Pattern-Act2-BinaryDecodeKey) 17
D02
Computational Thinking Skill Training Module
Pattern Strips (M1.2c_Pattern-Act2-BinaryStrips) 18
Pattern D03
Letter
Computational Thinking Skill Training Module
19
Discussion:
1. Ask them to write their own codes or secret messages using the binary strips. Then
switch codes with others and decipher the codes using the binary decoder key.
2. Discuss the importance of recognizing patterns in teaching and learning.
Conclusion
Pattern Recognition is important because it is a need that appears in many practical problems.
Patterns are everywhere, for example, we use weather patterns to create weather forecasts;
children might notice patterns in how teachers react to their behaviour to work out how to
behave next time. By identifying patterns we can make predictions, create rules and solve more
general problems. In this module, participants spot patterns through unplugged activities to
decoding patterns to reveal treasure.
Computational Thinking Skill Training Module
20
SECTION 4: ABSTRACTION
Overview
Abstraction is the process of taking away or removing characteristics from something in order to
reduce it to a set of essential characteristics. Once we have recognised patterns in our
problems, we use abstraction to gather the general characteristics and to filter out of the details
we do not need in order to solve our problem. Through the process of abstraction, we can hide
all but the relevant data about an object in order to reduce complexity and increase efficiency.
A real-world analogy of abstraction might work like this: You are meeting a new customer and
are deciding what to tell him so that he can recognize you in the restaurant. What information
would you tell the customer?
Outcome
After completing this module, participants will be able to:
Recognise that same solutions exist for the different problem.
Abstraction: Activity 1- Video
Watch and discuss the video on abstraction M1.3_Abstraction-Act1-Video OR
https://www.youtube.com/watch?v=jV-7Hy-PF2Q
Duration : 10 minutes
Abstraction: Unplugged Activity 1- Making Sentences
Duration : 20 minutes
Introduction:
In this activity participants learn how to abstract words from sentences to make a general
sentence that can be used
Objective: to identify words that can be exchanged with a blank to form a general sentence
Computational Thinking Skill Training Module
21
Procedure:
1. Identify words that can be abstracted from the sentences below to form a general
sentence.
The cow has 4 legs
The cat has 4 legs
The duck has 2 legs
The ____________ has 4 legs
The _____________has 4 legs
The ____________has 2 legs
2. Look for other words that can be abstracted
The ____________ has ___ legs
The _____________ has ___ legs
The _____________ has ___ legs
3. Combine the sentences into one general sentence
The ____________ has ___ legs
4. This sentence can be used to describe any animal with legs
Discussion
1. How did abstraction work in this activity?
2. Discuss how to create more examples as shown above.
Abstraction: Unplugged Activity 2 - Guessing Game
Credits to:http://csunplugged.org/wp-content/uploads/2014/12/unplugged-05-
information_theory.pdf
Duration: 60 minutes
Introduction
This is an unplugged activity in which the participant creates ‘decision tree’ for guessing what
their partner is thinking. In doing so they learn that they are ignoring unimportant details and are
only including that which is most important, and in so doing are abstracting.
Computational Thinking Skill Training Module
22
Objectives
At the end of this activity participants can say
what is important and must be included
what is unimportant and can be ignored
how a computer program (for example, a computer simulation or game) includes what is
important and excludes what is unimportant
Materials : Paper and Pen
Procedure
1. Invite one participant to the front of the class to play a short ‘guess what’ game.
2. Ask the participant to select and remember a number from 0 to 7.
3. Start with a number, x for guessing (for example x=4)
4. Ask “Is the number more or equal to 4?”
5. Then, sketch a ‘decision tree’ as in Figure 1 for guessing a number from 0 to 7 as
follows:
Figure 1: Decision tree for guessing number from 0 to 7
6. Participants play in pairs: Player A and Player B.
7. Player A will ask Player B to select and remember a number from 0 to 15.
8. Then, player A will guess the number by sketching a decision three.
Discussion
1. How did abstraction work in this activity?
2. Lead a discussion to consider what enabled the guesser to work out what item was
being guessed. Lead to the idea that the maker had to work out what was most
important about the item, and what could be ignored, which helped the guesser work out
what the item was.
Conclusion
Abstraction allows us to create a general idea of what the problem is and how to solve it. The
process instructs us to remove all specific detail, and any patterns that will not help us solve our
problem. This helps us to form our idea of the problem. This idea is known as a ‘model’.
Computational Thinking Skill Training Module
23
If we don’t abstract we may end up with the wrong solution to the problem we are trying to
solve. Abstraction makes problems simpler and clearer to be solved. The skill in abstraction is in
choosing the right detail to hide without losing anything that is important.
Computer program that plays chess is an abstraction. It is a finite and precise set of rules
carried out each time that it is the computer’s turn. It is far removed from the analogue,
emotional, biased and distracted mental processes undertaken by a human player of chess. It is
an abstraction because the unnecessary detail of those processes is removed.
The benefits of using abstraction are not unique to computer science; they occur in many
disciplines and across disciplines. For example:
Chemistry is an abstraction of physics: The purpose of chemistry is to understand molecular
interactions without resorting to particle physics to explain every phenomenon.
Biology is an abstraction of chemistry: The purpose of biology is to understand the growth and
behaviour of living things without resorting to molecular explanations for every aspect.
And the list can go on and on.
Computational Thinking Skill Training Module
24
SECTION 5: EXPLORING ALGORITHMS
Overview
An algorithm is a precisely defined sequence of instruction or a set of rules for performing a
specific task.
We will walk through examples of algorithms in the following activities. Participants will
recognize why algorithms are powerful tools to increase what they can do and that technology
can be useful for implementing and automating algorithms.
Outcome
After completing this module, participants will be able to:
Understand what an algorithm is.
Use logical reasoning to predict outcomes.
Use logical reasoning to predict outputs.
Recognize that different solutions exist for the same problem.
Algorithm: Activity 1 - Video
Watch and discuss the following video M1.4_Algorithm-Act1-Video OR
https://www.youtube.com/watch?list=PLDMP_rFBErMNgVRpiMMBfvwc2toZdg4sj&v=C
GPjraqX_ac
Duration : 10 minutes.
Computational Thinking Skill Training Module
25
Algorithm: Unplugged Activity 1 - Monster Face
Duration: 60 minutes
Introduction
Let’s go through this short unplugged activity. You will understand what algorithms are, how to
write an algorithm and how to improve it. With nothing but paper and markers, participants will
learn how to write simple algorithms. Participants will have to create directions for others to
draw a specific monster then they will switch algorithms with another and draw the monster
based on what that algorithm indicates. Is the drawing what the original intended?
Objectives
After completing this activity, participants will be able to:
1. Understand what an algorithm is
2. Write an algorithm
3. Use an algorithm
4. Improve their algorithm
Materials
Monster Catalogue
Blank pieces of paper
Markers, pens, or pencils
Procedure
1. Explain the lesson is going to be about instructions and that they are going to have to
follow some instructions to draw something.
2. Explain to participants you have thought of a monster face and you would like to share it
with them.
Computational Thinking Skill Training Module
26
3. Say you have already created an algorithm to help them draw it.
4. Say you are going to use the algorithm now. Don’t give them extra detail.
5. Show them your algorithm.
Draw a triangle for the body
Add 3 eyes
Add 3 wings
Add 3 legs
Add a tail
6. Ask participants to show you what they have drawn so that you can model saying if it is
or is not what you expected. e.g. “Oh I didn’t expect that they are all different. I wanted
the legs all around and tiny eyes.
7. Ask them how you could change your algorithm so that it is what you wanted.
8. Participants should start to realize the need for precision in algorithms.
9. Ask what the good algorithm was.
10. Explain that an algorithm is a list of instructions or a set of rules to make something
happen or work something out.
11. Ask them to write their own algorithms to draw a monster face. Then switch algorithms
with others. (use D04 for this purpose)
12. Ask them whether the others can draw a monster face exactly with her/his algorithm.
Computational Thinking Skill Training Module
27
D04
Algorithms designed by: ____________________
My monster is called ____________________
Algorithm to draw Monster Face
1st attempt: My friend followed my first set 2nd attempt: My other friend followed my
of algorithms and drew improved algorithms and drew
Drawn by ___________________ Drawn by ____________________
Discussion:
Discuss what they can learn from this activity?
Computational Thinking Skill Training Module
28
Algorithm: Unplugged Activity 2 - Graph Paper Programming
Duration: 40 minutes
Introduction
By "programming" one another to draw pictures, participants will begin to understand what
programming is really about. The class will begin by having participants instruct each other to
colour squares in on grid paper in an effort to reproduce an existing picture.
Objectives
After completing this activity, participants will be able to:
1. Understand the difficulty of translating real problems into programs
2. Learn that ideas may feel clear and yet still be misinterpreted by a computer
3. Practice communicating ideas through codes and symbols
Materials
1. Grid paper
2. Pens/pencils
Procedure:
1. In pairs, we are going to guide each other toward making drawings, without letting the
other people in our group see the original image.
2. For this exercise, each participant will need sheets of 4x4 grid paper. Starting at the
upper left-hand corner, we’ll guide participants with simple instructions.
3. The arrow symbols are the “program” code and the words are the “algorithm” piece.
Here’s how we would write an algorithm and program to colour the blank grid so that it looks
like the image below:
Computational Thinking Skill Training Module
29
4. Try this out then discuss together. See if you can execute the program below.
The program:
The answer should like this:
5. Now write your own program and try it out with your partner.
6. Discuss together.
Computational Thinking Skill Training Module
30
Grid paper:
Discussion:
Discuss what they can learn from this activity?
Algorithm: Unplugged Activity 3 - Algorithms in Daily Life
Duration : 10 minutes
Step 1: Choose one of the examples from below:
Finding a fruit in the grocery store.
Alphabetizing name tags.
Re-organizing your kitchen to make finding stuff easier.
Finding keys that you lost.
Finding something good to watch on TV.
Washing your car windows.
Computational Thinking Skill Training Module
31
Step 2: Based on the example that you have chosen, discuss:
The algorithms you use:
What’s the time requirement of your algorithms?
What’s the space requirement of your algorithms?
Step 3: Evaluate: Does your algorithm
Solve a problem
In shortest time
With minimum space requirements
Conclusion
A good algorithm should be precise, effective and shortest possible among all solutions. A
learner who has the algorithmic thinking has the ability to think in terms of sequences and rules
as a way of solving problems or understanding situations. It is a core skill that best develops
when learners write their own computer programs. Once the algorithm is understood, it doesn’t
have to be worked out from scratch for every new problem.
Computational Thinking Skill Training Module
32
SUMMARY
In summary, computational thinking (CT) is a way of viewing problems and opportunities using
computer science techniques that provide a perspective to understand the underlying algorithms
and computations involved. The term computational thinking was first used by Seymour
Papert in 1996 and made popular by Jeannette Wing in 2006.
Jeannette Wing (2006) reconceptualised computational thinking as the new fundamental
thinking skill for all students and teachers. Where reading and writing became universally
fundamental with the technological development of the printing press, computational thinking
arose from the transformational technology of the computer and information networks.
Computational thinking involves solving problems, designing systems, and understanding
human behavior using mental processes, tools and perspectives developed from across the
fields of computing.
Further Exploration
Watch and discuss the video entitled Computational Thinking
M1.5_ComputationalThinking- Video OR https://youtu.be/x_1Y64zZzxo
Read the article by Jeannette Wing (M1.6_CT-JeannetteWing)
Read the article by Yadav et al. (M1.7_CT-Yadav)
Computational Thinking Skill Training Module
33
MODULE 2
Computational Thinking Skill Training Module
34
MODULE 2: EXPLORING COMPUTATIONAL THINKING
SKILLS USING SCRATCH PROGRAMMING
Overview
In this section, we will explore the application of computational thinking concepts using Scratch
Programming
Outcome:
After completing this module, participants will be able to:
Understand what an algorithm is and are able to express simple linear algorithms
symbolically by using Scratch programming.
Develop a simple project called “Maze” using Scratch programming
SECTION 1: GETTING STARTED
Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab. It is provided free
of charge. Scratch is one of the good tools that allows learners to program interactive media. It
is a drag-and-drop programming environment that enables young learners to create their own
interactive stories, games, and simulations.
Source: https://scratch.mit.edu/
About Scratch
With Scratch, you can program your own interactive stories, games, and animations — and
share your creations with others in the online community.
Scratch helps young people learn to think creatively, reason systematically, and work
collaboratively — essential skills for life in the 21st century.
Computational Thinking Skill Training Module
35
“The ability to code computer programs is an important part of literacy in today’s society. When
people learn to code in Scratch, they learn important strategies for solving problems, designing
projects, and communicating ideas.” Mitchel Resnick: The Designer, LEGO Papert Professor of
Learning Research Associate Academic Head, Program in Media Arts and Sciences.
Here we use this programming tool to explore more on algorithms reason being is that it allows
us to test our algorithms on the spot. Not only that, we can also debug, reuse, remix, and
modularize our program and check the result immediately.
Activity 1. Showcase examples of Scratch Programming Projects
Duration: 60 minutes
Demo 1
Note:
The instructor shall play the project and show the codes in the script area. Explain how CT
concepts had been applied in the project.
For instance, the flow of action scripts that
shows a series of movement depicts an
algorithm.
When we “repeat” the same action (or series
of actions) we are applying “patterns”.
Computational Thinking Skill Training Module
36
The example here is assigning different arrow
keys to control to how the sprite shall move.
Here we use abstraction to control how the
sprite shall move. We abstract out what is
similar in the algorithm and substitute what is
supposed to be different (type of arrow keys,
direction and number of steps)
What is abstracted:
when ______ key pressed
point in direction _______
Move ________ steps
If on edge, bounce
Installation
Scratch 2.0 Offline Editor
Adobe Air
Note: At this point, instructor asks participants to install Scratch 2.0 and Adobe Air in their
respective laptops/ computers.
Computational Thinking Skill Training Module
37
SECTION 2: INTRODUCTION TO SCRATCH 2.0
Step 1 : Introduction to Scratch interface
This is the opening screen of Scratch 2.0 Offline Editor.
Fill in the blanks with the appropriate labels.
Scratch Interface consists of the following elements:
A. Stage
The Stage is where you see your stories, games,
and animations come to life. Sprites move and
interact with one another on the stage.
The stage is 480 points wide and 360 points tall. It
is divided into an x-y grid. The middle of the stage
has an x-coordinate of 0 and a y-coordinate of 0.
You can create a stage backdrop by drawing a
backdrop in the paint editor, import a backdrop
from a file in your hard disk, choose a backdrop
from the scratch library or create a new backdrop
from camera.
Computational Thinking Skill Training Module
38
B. Sprite:
Scratch projects are made up of objects called sprites.
You can change how a sprite looks by giving it a different
costume. You can make a sprite look like a person or a
train or a butterfly or anything else. You can use any
image as a sprite: you can draw an sprite in the paint
editor, import a sprite from a file in your hard disk, choose
a sprite from the scratch library or drag in an sprite from a
website.
You can give instructions to a sprite, telling it to move or
play music or react to other sprites. To tell a sprite what to
do, you snap together graphic blocks into stacks, called
scripts. When you double-click on a script, Scratch runs
the blocks from the top of the script to the bottom
C. Block Palette
The Block Palette is consisting of three tabs:
i. Scripts
ii. Costumes
iii. Sounds
To program a sprite, drag out blocks from the Blocks
Palette to the Scripts Area. To run a block, double-click on
it.
Step 2: Introduction to the Script blocks
i. The Scripts Tab consists of 10 different categories of script block, each category is
a group of script blocks that can create codes in Scratch.
Let’s click every category to see the available blocks. The following shows some
examples of blocks with different shapes and sizes.
Motion (Stack blocks) Looks (stack blocks) Sound (stack blocks)
Events (Cap blocks) Control (C block) Sensing (Boolean blocks)
Computational Thinking Skill Training Module
39
Hands-on session
1. How to rename the Sprite?
2. How to program the Sprite to move?
3. The Sprite does not move when the block is put into the Script Area. How to make it start
moving?
4. How to make the Sprite move further away (different distance)?
5. How to make the Sprite move backward?
6. Besides manually pressing the blocks to run the program, is there other ways to run the
program?
7. How do you make the sprite make sound?
Computational Thinking Skill Training Module
40
Note: Play Sounds
Click the Sounds Tab to see the sprite’s sounds.
The sound tab.
Click to play the sound.
You can record new sounds and import sound files. Scratch can read MP3 files and
uncompressed WAV, AIF, and AU files (encoded with 8-bits or 6-bits per sample, but not
4-bits per sample).
Computational Thinking Skill Training Module