# Understanding Algorithms

Computational Thinker

### Overview​

Students unknowingly use algorithms every day from planning their daily routine, working on a project to writing code. An algorithm is a detailed step-by-step instruction set or formula for solving a problem or completing a task. Algorithms are also an important part of the coding process. Students will learn about algorithms and how to create and follow step-by-step instructions when going through the code.org lessons.

Code.org provides free computer science curriculum resources for K-12 teachers. Lessons are organized to suit specific grade levels and reading abilities. Courses are crafted to build a strong foundation of basic concepts before opening up to a wider range of topics.

Showing the students how to use the site will only take 20-30 minutes, but to fully delve into solving the puzzles the students will need several sessions to complete them all.

## Learning Objectives

Students will:

• Understand the difficulty of translating real problems into programs.
• Be able to explain how ideas may feel clear, but are still misinterpreted by a computer.
• Be able to communicate ideas through codes and symbols and express movement in a series of commands represented by an algorithm.

## Vocabulary

1. Algorithm: An algorithm is a list of steps to finish a task.
2. Program:  A program is an algorithm that has been coded into something that can be run by a machine.
3. Bug: A bug is a part of a program that does not work correctly.
4. Debugging:  Debugging is finding and fixing problems in an algorithm or program.
5. Sequencing:  Sequencing is putting commands in correct order so computers can read the commands.

## Pre-planning

• Teachers should familiarize themselves with the Code.org website. Visit the “Educators” section and explore courses and lesson plans.
• Watch the video introducing Code.org.
• Watch the Lesson in Action video.
• Students under 13 years of age will need permission to use this site.

## Accommodations

• See Accommodations Page and Charts on the 21things4students.net site in the Teacher Resources.

• Read and Write for Google Chrome can be used to help students with reading deficiencies as they navigate the Code.org website.

• Screencasting may be used to create tutorials for students that will have difficulty with navigating the website. (Screencast O Matic, Snagit, Screencastify)

## Steps

1. Use one of the following videos to introduce the concept of algorithms:
2. Using this link for the graph paper programming assessment, discuss the difference between using entire phrases or arrows/symbols. Discuss that the arrows are the program code and the phrases are the algorithm piece.

3. Explain to students that they will be using an online puzzle game with characters that represent Angry Birds. They will be creating a very specific set of sequenced directions.

4. Model one of the eight online puzzles using the following link. These puzzles are linked under “Programming in Maze” circles two-eleven.  Number eight is suggested for modeling purposes.

5. Students may work independently or in pairs to complete online puzzles.

Optional: For information on working in pairs watch this student video for working in a partnership.

## Assessment Options

• Observations
• Check for understanding
• Journaling
• What was today’s lesson about?
• How did you feel during today’s lesson?
• Use a Socrative Exit Ticket.
• Maze Design - Students design their own mazes individually or in small groups and challenge each other to write programs to solve them.  Life size mazes with students as game pieces may add a fun element.
• Students create algorithms and convert them into programs using symbols for others to draw.

## ISTE Standards

Computational Thinker
5a Students formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions.

5d Students understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions.

MITECS: Michigan adopted the "ISTE Standards for Students" called MITECS (Michigan Integrated Technology Competencies for Students) in 2018.

## ELA

• Students can be provided opportunities to communicate and share their new knowledge and vocabulary in a variety of ways.

• Written and oral opportunities are optional.

• Here is a link for student journaling.

## Math

• Students will learn about algorithms, patterns and basic problem solving.

Credits
This task card was created by Lisa Fenn, Lakeview Public Schools, February 2018.