Introduction To Computational Thinking
Introduction To Computational Thinking
• To help the students to develop their ideas into a robust • Would have understood the concept of
step-by-step solution using adequate technology Computational Thinking and its application for
problem solving
• To introduce them to the concept of Computational
Thinking - its key techniques/approaches • Would know how to develop their ideas into
flowcharts, algorithms and convert them into
• To give them an understanding of algorithms, flowcharts, programming language
sensors, development boards, programming through hands-
on/DIY activities and exposure to various resources • Would have undergone real-time hands-on
projects using sensors, coding while understanding
their multiple applications
Thinking computationally is not programming. It is not even thinking like a computer! Simply put, programming tells a
computer what to do and how to do it. Computational thinking enables us to work out exactly what to tell the computer
to do.
For example, if you agree to meet your friends somewhere you have never been before, you would probably plan your
route before you step out of your house. You might consider the routes available and which route is ‘best’ - this might
be the route that is the shortest, the quickest, or the one which goes past your favourite shop on the way. You’d then
follow the step-by-step directions to get there. In this case, the planning part is like computational thinking, and
following the directions is like programming!
Being able to turn a complex problem into one we can easily understand is a skill that is extremely useful.
In fact, it’s a skill you already have and probably use every day.
Let’s take a look at two more examples:
Example 1 Example 2
Let’s say you need to decide what to do with your group of Another example might occur when playing a
friends. If all of you like different things, you would need to videogame. Depending on the game, in order to
decide: complete a level you would need to know:
• What you could do • What items you need to collect, how you can collect
them, and how much time do you have to collect
• Where you could go
them
• Who wants to do what • What is the best route to complete the level in the
• What have you previously done that has been a success in quickest time possible
the past • What kinds of enemies are there and their weak
• How much money you have and the cost of any of the points
options From these details you can work out a strategy for
• How much time you have completing the level in the most efficient way.
From this information, you and your friends could decide more
easily where to go and what to do – in order to keep most of your
friends happy. You could also use a computer to help you to
collect and analyze the data to devise the best solution to the
problem, both now and even in a future scenario.
Both of the instances above show how computational thinking has been used to solve a complex problem.
1. Decomposition - breaking down a complex problem or system into smaller, more manageable parts (e.g.
where to go, how to complete the level)
2. Abstraction - focusing on the important information only, ignoring irrelevant detail (e.g. weather, location of
exit)
3. Pattern recognition – looking for similarities among and within problems (e.g. knowledge of previous
similar problems used)
4. Algorithms - developing a step-by-step solution to the problem, or the rules to follow to solve the problem (e.g. to
work out a step-by-step plan of action)
A closer look will show that you may have worked through some parts of these techniques in Ideation and Design
Thinking modules. Here is a quick snapshot:
If you can tie shoelaces, make a cup of tea, get dressed or prepare a meal, then you already know how to follow an
algorithm. In an algorithm, each instruction is identified and the order in which they should be carried out is planned.
Algorithms are often used as a starting point for creating a computer program, and they are sometimes written as a
flowchart.
If we want to tell a computer to do something, we have to write a computer program that will give the computer step-
by-step instructions on what we want it to do, and how we want it to do it. This step-by-step program will need planning,
and to do this we use an algorithm.
Computers are only as good as the algorithms they are given. If you give a computer a poor algorithm, you will get a
poor result. Algorithms are used for many different things including calculations, data processing and automation.
Representing an algorithm: Flowcharts
A flowchart is a diagram that represents a set of instructions. Flowcharts normally use standard symbols to represent
the different instructions. There are few rules about the level of detail needed in a flowchart. Sometimes flowcharts
are broken down into many steps to provide a lot of detail about exactly what is happening. Sometimes they are
simplified, so that a number of steps occur in just one step.
A simple program could be created to ask someone their name and age, and to make a comment based on the program
represented as a flowchart would look like this:
Start
NO
Output Stop
‘You are a spring chicken’
Source: http://www.bbc.co.uk/education/guides/zpp49j6/revision/3
Note for the facilitator
• Please ensure all the participants/students solve the exercises given at the end of the presentation. Students can be
encouraged to come with problems and solutions for the same via flowcharts and algorithms.
Imagine a human body without its five basic senses. It will not be able to interact with its surroundings, and it will not
be able to produce any reaction. Similarly in the world of computers we have sensors – to help know the input/output
for any selected process/program.
In the broadest definition, a sensor is an electronic component, module, or subsystem whose purpose is to detect
events or changes in its environment, and send this information to other electronics, frequently a computer processor.
A sensor is always used with other electronics, whether as simple as an electric light or as complex as a computer.
Sensors come in variety of shapes and sizes, and they sense a very large variety of things, from heartbeats to air
pressure, from brightness to heat - there is a sensor to measure almost everything. And if there isn’t a sensor specific
to your requirement, you can mix and match a variety of sensors to accomplish what you need.
Actuators are basically things that produce an action. They are like the hands and legs of a person, and they come
in various forms and shapes. Electromagnets, relays, DC motors, servo motors etc. are a few examples of
commonly used actuators.
• Please refer to the Computational Thinking presentation about sensors and actuators provided in the pen drive
• Please ensure all the participants/students solve the exercises given at the end of the presentation. Students can be
encouraged to come with problems and solutions for the same via flowcharts and algorithms.
Understanding Circuits
This will help you to understand what are circuits and different kind of circuits.
In electronics, a circuit is a path between two or more points along which an electrical current can be carried.A
circuit is a closed loop that electrons can travel in. A source of electricity, such as a battery, provides electrical
energy in the circuit. Unless the circuit is complete, that is, making a full circle back to the electrical source, no
electrons will move.3
http://www.qrg.northwestern.edu/projects/vss/docs/power/2-whats-a-circuit.ht
3
Resources
To get some more inspiration, you may refer to the following: