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 2: Yes, let’s start with the problem, what is it?
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?
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
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.
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.
- The video "Computational Thinking: Algorithm Design" will help you understand more about algorithmic design.
- The Kahn Academy video "What is an algorithm and why should you care?" will help you understand algorithms used every day as well as by a computer.
- This BrainPOP video will help you to understand algorithms and computer science.
Websites and Applications
Competencies & Standards
MITECS Michigan Integrated Technology Competencies for Students, and
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.