# Q5 Algorithm

21. Computational Thinking

Scene: Classroom

Student working alone at a computer - with a robot (ozobot) next to him.

Image: Ozobot on table ( image in shared folder)

Student1: Darn it, why won’t this work? I’ve tried to get it to move ahead, spin around twice, and back up. It’s stupid.

Student 2 comes in: You look mad, what’s the problem?

Student 1: My parents got this for me and I wanted to demo it for the class. It’s called a Sphero. I’m trying to make it move around in a square, spin twice like a tornado, and then backup.

Student 2: Well how about using our computational problem solving skills?

Student 1: You mean decomposition and algorithm stuff?

Student 1: Well I need to figure out how to program this thing.

Student 2: OK, let’s break it down and create an algorithm. What have you done so far?

Student 1: (Sigh) OK, I took out the instructions. It said to charge it, so I did that at home last night.

Student 2: How do you know if it’s charged?

Student 1: The manual said when the light stops flashing and turns green it’s charged.

Student 2: OK, what’s the next step?

Student 1: It said you had to calibrate it because it has 5 sensors. But, I tried to hold down the on/off button on the side (points to it) and it never turned the light white and flashed.

Student 2: It sounds like you have figured out what went wrong. Now, what is the next step?

Student 1: (Sighs) Well I guess I could ask for help. Would you hold down the button while I ……

10 minutes later - ozobot on the floor - Image "ozobot moved" (in shared folder)

Student 1: Wow, you are a life saver. I didn’t think what we learned in computational thinking would be useful, but it sure was! I can get it to follow a line we drew and change colors already. This is great! I'm sure glad you helped me decompose the problem and we even used an algorithm.

5 minutes later

Teacher and class in the room

Teacher: I understand we have an example of decomposition and using an algorithm today, would you like to explain Student 1?

## Introduction

In this Quest, you will work to understand what an algorithm is by completing a card sorting activity from Code.org.

## I Can Statement

• create an algorithm for a complex problem

## Vocabulary

Algorithm: An algorithm is a detailed step-by-step instruction set or formula for solving a problem or completing a task.

Complex problem: Complex problems are questions or issues that cannot be answered through simple logical procedures.

### Steps

1. For this activity, you will need a partner.

2. You will be given 10 cards, face down in a stack between you and your partner.

3. Do not touch the cards until instructed to do so.

4. No Talking during the challenge

5. The goal is to get the cards in a line, face up, in number order as fast as you can.

6. After completing that card sorting activity, you and your partner should complete this activity from Code.org to learn more about creating an algorithm for sorting cards.

• One of you needs to make a copy of the activity and share with your partner and the teacher.
• Complete the steps and reflection in the card sorting activity.

7. Now that you understand what an algorithm is, you will need to revisit your complex problem and write the steps that are needed to solve it.

8. Go to your Google Doc, fill in the steps and let your teacher know when you have completed them.

## Completing this Quest

To complete this Quest turn in your algorithm activity from code.org to your teacher (via Google Drive, OneDrive, etc.). Then complete the steps for your complex problem and share with your teacher when it is completed.

## Competencies & Standards

MITECS   Michigan Integrated Technology Competencies for Students, and

ISTE Standards for Students

5. Computational Thinker
a. formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions.
b. collect data or identify relevant data sets, use digital tools to analyze them, and represent data in various ways to facilitate problem-solving and decision-making.
c. break problems into component parts, extract key information, and develop descriptive models to understand complex systems or facilitate problem-solving.
d. understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions.