# 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.

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 Words:

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.

To prepare for this lesson:

• 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.
• See the Accommodations Page and Charts on the 21things4students website 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 who will have difficulty navigating the website. (ScreenPal, Snagit, Screencastify)

Directions for this activity:

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.

Different options for assessing the students:

• 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.  Lifesize 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.

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

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.

##### CONTENT AREA RESOURCES
• 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.

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

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