# 21. Computational Thinking

## Introduction

Have you ever had a complex problem that you needed to solve? This could be a math problem, science experiment, an essay you need to write, and coding and game design. It could even be as simple as planning the best route to school or baking your favorite cookies!

Computational thinking can be used to take a complex problem, understand what the problem is and develop possible solutions to solve or explain it.

In the following Quests you will learn about the four stages of computational thinking:

• Decomposition: Decomposition is to break down a complex problem or system into smaller, more manageable parts.
• Pattern Recognition: Pattern recognition is looking for patterns and sequences.
• Abstraction: Abstraction is focusing on the important information only, ignoring irrelevant detail.
• Algorithms: Using algorithms you develop a step-by-step solution to the problem, or the rules to follow to solve the problem.

After you have completed the Quests on computational thinking, you will be ready to move on to the Gold Quests to code and create games!

## Learning Objectives:

When you have completed this Thing you will:

1. understand computational thinking [Computational Thinker]

2. be able to solve complex problems using computational thinking. [Computational Thinker]

3. be able to break down a problem into smaller more manageable parts. [Computational Thinker]

4. know how to look for patterns and sequences. [Computational Thinker]

5. be able to focus on important information only. [Computational Thinker]

6. be able to develop a step-by-step solution to the problem. [Computational Thinker]

7. know how to use coding to automate a task [Computational Thinker]

8. understand computational design by applying technology to a problem [Innovative Designer]

9. understand programming as you complete hands-on activities, solving problems encountered [Computational Thinker]

10. understand the coding your program creates [Empowered Learner]

## Quest 1: What is Computational Thinking?

This Quest will introduce you to the basics of computational thinking. You will choose a complex problem to work on while going through the Quests.

I am ready for Quest 1

## Quest 2: Decomposition

In this Quest, you will learn how to decompose or break down your problem.

I am ready for Quest 2

## Quest 3: Patterns

In this Quest, you are going to look for patterns or parts that are the same to help define the problem.

I am ready for Quest 3

## Quest 4: Abstraction

In this Quest, you will learn how to filter the data you need and don't need while working on your problem.

I am ready for Quest 4

## Quest 5: Algorithm

In this Quest, you will plan the step-by-step directions to carry out your final goal for solving the problem.

I am ready for Quest 5

## Quest 6: Evaluation

In this Quest, you will evaluate what you have accomplished during the four stages of computational thinking.

I am ready for Quest 6

## Gold Quests:

After you have gone through the process of computational thinking, you can now delve into the world of game design and coding. The thinking process you went through for computational thinking will assist you as learn how to code and create games.

## Gold Quest Gamestar Mechanic

In this Quest, you will not only play games, but learn how to build them and troubleshoot them. The critical thinking skills you will use will teach you a lot about problem-solving!

## Gold Quest Code.org

In this Quest, you are going to go to the code.org site and begin a coding project.

## Gold Quest Sphero

In this Quest, you will learn how to program the Sphero.

## Gold Quest Ozobot

In this Quest, you will learn how to program the Ozobot.

## Gold Quest Scratch

If would you like to learn more about Scratch and are chomping at the bit to do some coding, this is the Quest for you.

## Gold Quest Getting Serious

If you enjoyed Scratch and code.org and want to do more coding, this is the Quest for you. This collection of resources includes web pages, websites, programs, and resources you can use to increase your knowledge about programming.

Let's get serious and go for the Gold at Getting Serious!

I have completed the Quests as assigned by my teacher.
Go to the graduation page for this Thing

## Websites and Applications

Websites and Apps

Computational Thinking Planning Document

Computational Thinking Projects

Hour of Code

Gamestar Mechanic

Ozobots

Redkit

Scratch

Sphero