**Computational Thinking**

There are five areas of computational thinking:

- Abstraction
- Decomposition
- Pattern Recognition
- Algorithms
- Debug

The abstraction goes through the analysis of a concrete problem, creating an adequate abstraction and a computational model of the problem. Abstraction is intended to reduce the complexity of a task or problem, or to identify general principles that can be applied to similar situations or problems.

Decomposition involves the ability to decompose a problem into a set of components or challenges that can be modeled and treated independently. Students can use decomposition to tackle problems that, at first glance, might seem daunting.

Patterns are everywhere. We see them every day and everywhere. Pattern recognition involves recognizing regularities and relationships.

An algorithm is a sequence of unambiguous and defined steps that allow you to perform a certain task.

Debugging is looking for and fixing errors. Sometimes it can also take on testing, refining and optimizing the presented resolution.

**Computational Thinking Strategies**

Decomposition

Some decomposition strategies that can be implemented are:

1. Encourage students to identify important elements and put them in order.

2. Create opportunities for students to break down a phenomenon or object into parts.

3. Choose assignments where students can break down the problem in multiple ways.

Decomposition involves dividing problems or processes into simpler or smaller problems. Examples of this are mind maps, timelines, etc.

Mindmap software:

https://www.popplet.com/

https://www.mindmaps.app/

https://www.mindmeister.com/

https://app.mindmup.com/

Timeline software:

https://monday.com/

https://my.visme.co/templates/SDRVejJWcU4zTzFGVWVJNTR5emNYUT09OjrjNKHmOXNH-7mrKqA-itoj/createProject#/infographics?type=timeline

https://spark.adobe.com/express-apps/timeline/

https://creately.com/lp/timeline-maker-online/

**Pattern recognition**

Pattern recognition involves observing patterns in a sample or regularity in the data at our disposal. By identifying certain patterns we will be able to make a certain decision or create rules that facilitate the resolution of problems. We have as examples the recognition of patterns of melodies that are repeated in music or in mathematics the patterns that exist to solve a problem, for example, the perimeter of a square is always times one of its sides.

Some pattern recognition strategies that can be implemented are:

1. Ask students to look for and discuss patterns during activities.

2. Create opportunities for students to generate and describe patterns.

3. Ask students to make predictions based on the identified patterns.

**Abstraction**

The abstraction involves identifying the general principles that identify the patterns. It should simplify things, that is, identify what is important without worrying about the details.

For example, a school schedule is an abstraction of what happens in a school week, it does not report what will be taught in each subject or what activities will be done.

If we ask a student to describe the water cycle for us, they will draw or identify the main steps and ignore most of the complex real-world processes.

Some abstraction strategies that can be implemented are:

1. Encourage students to focus on the most important information over unnecessary details.

2. Create opportunities for students to represent the problems/challenges in a simplified way.

3. Encourage students to identify principles that can be applied in all situations/problems.

**Debug**

Some debugging strategies that can be implemented are:

1. Encourage students to test and "debug" (or fix) when something doesn't work as expected or planned or has some inaccuracy.

2. Avoid correcting errors in students' solutions. Encourage them to think for themselves and define strategies to find mistakes and improve their constructions.

Logic

Logic describes how something happens. In science we use logic to explain conclusions through the results of experiments. In design, they use logic to choose the materials to use for each situation depending on the final result that is expected.

Algorithm design

An algorithm is a sequence of instructions with some purpose. Examples of algorithms are recipes, lesson plans, methods of performing experiments, in mathematics techniques of addition, subtraction, theorems, etc. And the next video is an example of an algorithm put to the test:

Computational thinking develops skills in students to deal with increasingly complex, ambiguous problems, helping them to deal with feelings of frustration, enabling them to have active learning that fosters their multidisciplinary knowledge.

Bibliografy: *Práticas do Pensamento Computacional*. 2021. MatemaTIC. Centro de Formação da Associação de Professores de Matemática.