0% found this document useful (0 votes)
39 views6 pages

Computational Thinking

Uploaded by

viraanshsharma4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views6 pages

Computational Thinking

Uploaded by

viraanshsharma4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Learning Objective Learning Outcome

SUBJECT: ICT
Topic : Computational Thinking

About Computational Thinking


Computers can be used to help us solve problems. However, before a problem can be tackled, the problem and the
ways in which it could be solved needs to be understood. Computational thinking allows us to do this. It allows us to
take a complex problem, understand what the problem is and develop possible solutions. These solutions can then be
presented in a way that a computer, a human, or both, can understand.

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.

This brings us to the four key techniques of computational thinking:

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:

STEP 1: SCOPE STEP 2: GENERATE STEP 3: ANALYZE STEP 4: OPTIMIZE


• What would you • Look for various • Go through each • Fine tune the idea
like to do? solutions for your Idea/scenario and
• What’s the problem problem. analyze
you have identified? • Generate multiple
• Define problem scenarios – ideas
statement

Understanding Algorithms and Flowcharts


An algorithm is a plan, a set of step-by-step instructions to solve a problem.

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

Output ‘What is your name?’

Input - User inputs their name

Store user’s input in a


name variable

Output ‘Hello + name’

Output ‘How old are you?’

Input - User inputs their age

Store user’s age in age variable

YES Output ‘You are


Is age >=70 aged to perfection’

NO

Output Stop
‘You are a spring chicken’
Examples of Computational Thinking
Computational thinking is a multi-disciplinary tool that can be broadly applied in both
plugged and unplugged ways. These are some examples of computational thinking in
a variety of contexts.

1. Computational Thinking for Collaborative


Classroom Projects
To navigate the different concepts of computational thinking – decomposition, pattern
recognition, abstraction and algorithmic thinking – guided practice is essential for
students.
In these classroom-ready lesson plans, students cultivate understanding of
computational thinking with hands-on, collaborative activities that guide them through
the problem and deliver a clearly articulated and replicable process – an algorithm 😉
– that groups present to the class.

2. Computational Thinking for Data-Driven


Instruction
In this example, the New Mexico School for the Arts sought a more defined process
for using data to better inform decision-making across the school. To do so, they
developed interim assessments that generate actionable data, but the process of
mining the data for relevant information was incredibly cumbersome.
Expediting and improving the data analysis process, they designed a coherent
process for analyzing the data quickly to find the most important information. This
process can now be applied time and time again and has enabled them to tailor
instructional planning to the needs of students.

3. Computational Thinking for Journalism


To measure gender stereotypes in films, Julia Silge, data scientist and author of Text
Mining with R, coalesced data from 2000 movie scripts. Decomposing the problem,
she specified that she would specifically look at the verb association with male and
female pronouns in screen direction.
By identifying patterns in sentence structure, Silge was able to measure and abstract
data from these on a mass scale, which made the research possible. Her analysis
then resulted in this article, She Giggles, He Gallops.
Definition of Algorithmic Thinking
Algorithmic thinking is not solving for a specific answer; instead, it solves how to
build a replicable process–an algorithm, which is a formula for calculating answers,
processing data, or automating tasks.
Algorithmic thinking is a derivative of computer science and coding. It seeks to
automate the problem-solving process by creating a series of systematic logical steps
that process a defined set of inputs and produce a defined set of outputs.
Examples of Algorithmic Thinking
Here are three examples that cover algorithms in basic arithmetic, standardized
testing and our good ol’ friend, Google.
1. Algorithmic Thinking in Long Division
Without having to dive into technology, there are algorithms we teach students,
whether or not we realize it. For example, long division follows the standard division
algorithm for dividing multi-digit integers to calculate the quotient.
The division algorithm enables both people and computers to solve division problems
with a systematic set of logical steps. Rather than having to analyze and parse
through these problems, we are able to automate solving for quotients because of the
algorithm.
2. Algorithmic Thinking in Standardized Testing
A somewhat recent development in standardized testing is the advent of computer
adaptive assessments that pick questions based on student ability as determined by
correct and incorrect answers given.
If students select the correct answer to a question, then the next question would be
moderately more difficult. But if they answer wrong, then the assessment offers a
moderately easier question. This occurs through an iterative algorithm that starts with
a pool of questions. After an answer, the pool is adjusted accordingly. This repeats
continuously.
The purpose of this algorithmic approach to assessment is to measure student
performance in a more targeted way. This iterative algorithm isn’t just limited to
standardized tests; personalized and adaptive learning programs use this same
algorithm, too.
3. Algorithmic Thinking in Google
Have you ever wondered why the chosen results appear for a query as opposed to
those on the second, third, fourth, or tenth pages of a google search?
You guessed it! Google’s search results are determined (in part) by the PageRank
algorithm, which assigns a webpage’s importance based on the number of sites
linking to it. In other words, the algorithm looks at hyperlinks to a webpage as an
upvote.
So, if we google ‘what is an algorithm,’ we can bet that the chosen pages have the
most links to them for the topic ‘what is an algorithm.’ It’s still more complicated than
this, of course. PageRank also looks at the score for the site that is linking to the
webpage to rank the authority of the link.

What can we take away from this? There are over 1.5 billion websites with billions
more pages to count, but thanks to algorithmic thinking we can type just about
anything into Google and expect to be delivered a curated list of resources in under a
second. This right here is the power of algorithmic thinking.

You might also like