Intro to Algorithms

Objective:

To introduce students to the concept of algorithms and programs

 

Key Words/concepts:

Algorithm

Program

 

Overview of Lesson & Differentiation:

Algo1

These next two lessons were almost exclusively from the Code.org Curriculum for elementary students.  I intend to have the students participate in the Hour of Code in December but wanted them to still have experience with the concepts of coding beforehand.  My lessons here drew from several of the Code.org lessons and tried to break things down into accessible parts for the students.

Algorithms as dance:  For all grade levels, we started off the introduction to algorithms as a dance, having the students follow the instructions to step in various directions according to the arrows on my screen.  This idea translated well and students were able to follow the steps using the tiles on the floor as a grid.  Because some dances required traveling a bit, I encouraged the students to plan ahead and stand where they knew they wouldn’t run into something.

Algorithms as instructions:  The K-1 students continued the idea of giving directions with arrows and used arrow pieces to move the Flurbs around (Code.org Unplugged Course 1 Happy Maps).  I printed out large arrows on cardstock for them to use to practice with at first, and then they had to glue down the small arrows to fit the map.  Some students caught on very quickly while others definitely struggled with understanding the importance of sequence when giving instructions.

Algorithms for drawing:  The 3-5 students moved on from the idea of algorithm to the concept of a program.  These students received a blank 4×4 grid and practiced reading and giving instructions for moving around the grid and coloring in squares (Code.org Unplugged Lesson 4 Graph Paper Programming).  Part of the Code.org lesson included having students guess which given design the other was thinking of based on the instructions.  After failing with this in one 3rd grade class, I let the students instead create their own designs and then let them quiz each other if they wanted to at the end.  Just like with the younger students, some students immediately caught on and took off with this activity while others crept and struggled with understanding the instructions.

Real world algorithms:  The entire 2nd grade missed the initial lesson on algorithms, so I did one mega catch up session with them using the real world algorithms lesson (Code.org Unplugged Course 2 Paper Airplanes).  I also completed this lesson with the 4th and 5th grade classes that I saw twice within this window.  I really like this paper plane activity because students really have to think about what makes sense and what order do the steps need to go in.  Also, the activity sheet provided includes extra steps such as crumbling up the paper that forces the student to consider what pieces of information are not useful.  Thinking back now, I also did this activity with the Kindergarten students but discovered it was way too complicated so it became a practice with scissors and glue and identifying shapes activity.

Algo2

Of course, the best part of writing the instructions for a paper airplane ended up being making the airplane and then throwing them.  Some of the steps were a little unclear and some students got stuck following the instructions.  As much as possible, I had students use their peers to help them work through their problems.  I set up a clear “test flight” area for students to test and adjust their planes before the final class throw.  The culmination of the activity was to have all of the students line up outside and throw their planes at once.

 

Materials/Requirements:

–>  Handouts-  Lots of handouts from the Code.org site.  I created a few of my own too when I combined their activities.  I also copied many of them on two sides so that students who finished one part could move on for additional practice.  When copying arrows or pieces to be cut out, I used a different color of paper so that it would be easier for students to see what pieces needed to be glued down.

–>  Supplies:  Glue sticks, pencils, scissors, scratch paper for making airplanes

 

Conclusions/Reflections for the future:

Code.org is a amazing resource for anyone teaching these fundamentals of programming.  Their unplugged lessons are perfect for teaching the concepts without a computer, even though all of the activities I did also had corresponding lessons that could be done on the computer.  Once students have practice with these fundamentals, I will need to change or build off of the given activities to continue challenging the students.  This could be students creating their own dances, instructions or flow charts for something else, board games, pixel coloring, and so much more.

 

Digital Resources:

K-1 Algorithm Presentation

2 Algorithm Presentation

3-5 Algorithm Presentation

Graph Paper Programming Extension

Paper Airplane Sheet

 

Idea Sources:

Code.org Unplugged Course 1 Happy Maps

Code.org Unplugged Course 2 Graph Paper Programming

Code.org Unplugged Lesson 4 Graph Paper Programming

Code.org Unplugged Course 2 Paper Airplanes