# Computational thinking

Completed

To begin this unit on computational thinking complete these three activities.

## Activity 1

Complete the following independent activity before discussing computational thinking. There are two choices for this activity:

Option 1: Draw a simple object. It could be a flower, a house, or a car. Nothing complicated. Something simple enough that another person can replicate the drawing if provided directions. Once finished, write step-by-step directions for someone to recreate the drawing on their own piece of paper.

Option 2: Write instructions for an action that includes something everyone has on hand, like putting on a coat, zipping up a jacket, or buttoning up a shirt.

## Activity 2

After completing Activity 1, move on to this activity.

Option 1: If working with a group, swap directions (not the drawing if completed option 1) with another person. Follow the directions exactly as written.

Option 2: If working alone, ask a friend or family member to follow the directions, exactly as written.

## Activity 3

When finished following the written directions in Activity 2, move to this activity.

Option 1: If the directions explained how to draw an image, compare the drawing with the partner’s drawing. How do they compare? If they’re not the same, what similarities are there? What differences? If they’re not the same, how should the directions be modified to change the outcome so that the two drawings match? Discuss how to modify the directions.

Option 2: If the directions explained how to complete a task, ask a partner to share whether the directions were easy to follow. If they weren’t, discuss how to modify the directions to be clearer.

## Computational thinking

The activities completed require algorithmic thinking. Algorithmic thinking is one of the computational thinking practices used in computer science. To learn about computational thinking, read Jeanette Wing's computational thinking article

In the article, Wing stated that "Computational thinking is a fundamental skill for everyone, not just for computer scientists. To reading, writing, and arithmetic, we should add computational thinking to every child's analytical ability." Many consider this article the beginning of computer science education in schools. Wing continues promoting the need for computational thinking in every class. The article demonstrates how computational thinking isn’t a concept limited to computer science educators. Wing argues that computational thinking is critical thinking. Critical thinking is something we all strive to teach.

Wing's article became the rallying cry for computer science education in K-12 settings. In later interviews, Wing explained that the phrase computational thinking was meant to be a phrase that stands for "thinking like a computer scientist," rather than every learner memorizing every nuance of computer science. For Wing, computational thinking is about the thought processes experienced before even writing code or creating an artifact. In other words, Wing defines computational thinking as the thought processes used to express a problem and its solution in a way that a computer (human or machine) can successfully carry out those solutions.

The mathematician and computer scientist Seymore Papert first used the term computational thinking in 1980. Over time, scholars have broken computational thinking into four universally recognized components:

• Decomposition
• Pattern recognition
• Abstraction
• Algorithms or algorithmic thinking

Decomposition is the ability to break a larger problem into smaller parts. Any time we take a complex problem or a large task and break it into small pieces we are practicing decomposition. Even sorting the pieces of a jigsaw puzzle into different colors and end pieces is decomposition. Regardless of whether computer science is currently in the curriculum, decomposition is taught.

• Reflect on how you currently teach decomposition in your curriculum.
• Write down the ways decomposition is already present in the concepts you teach.

Pattern recognition is the observation of similarities and patterns within problems. From young learners identifying and creating patterns to high school learners explaining the similarities between the French and American revolutions - patterns are everywhere. Pattern recognition is an important skill for our learners.

• Reflect on when your learners practice pattern recognition in your class.
• Write down ways pattern recognition is already present in the concepts you teach.

Abstraction is identifying what defines patterns and focusing on the important information only. Any time learners carve out the important from the unimportant they’re practicing abstraction. It may be as simple as knowing that learners don’t need to know the sound a bear makes to draw a bear, or as complex as writing a persuasive article about the hazards (or benefits) of nuclear power. Abstraction occurs at all grade levels.

• Reflect on how your learners practice abstraction in your class.
• Write down ways abstraction is already present in the concepts you teach.

Creating algorithms, or algorithmic thinking, is developing step-by-step plans, or the rules to follow, to solve a problem. Examples of algorithms include:

• The steps for solving a math equation
• Creating a piece of artwork
• Writing a how-to article
• Breaking a skill down to teach another learner