Algorithms & Programs in the Elementary Classroom

In case you didn't already know, I love the Montessori approach to education. I love the beautiful materials, the hands-on work, and the mixed-age classrooms. Most of all, I love following the interests of the child.

 In fact, this year I've decided to step outside my comfort zone that is the typical Montessori curriculum in order to "follow the child." 

Several of my students have expressed a keen interest in learning to code. And admittedly, computer programming is not an area of expertise for me. However, I always want to do what I can to foster the interests and curiosities of my students. 

And so, earlier in the year I went to a code.org workshop to learn about their coding curriculum. I discovered that–in many ways–it works really well with the Montessori philosophy of education. You can read more of my thoughts on that here, but the gist of it is that the code.org curriculum includes quite a lot of hands-on activities that come before the more abstract computer work.

Thus far, we've done two hands-on, "unplugged" activities, both of which proved to be educational and engaging at the same time. My students are already asking for more coding lessons!

The first activity was called Graph Paper Programming. Much like a typical Montessori lesson, I started by introducing new vocabulary to the students:

  • algorithm- a list of steps you can follow to finish a task
  • program- an algorithm that has been coded into something that can be run by a machine

The students went on to create programs on graph paper grids that their friends could decipher by acting as the "machine." They started this process on small 4 x 4 graph paper grids.

At the end of the lesson, I challenged them to create their own design on a large piece of graph paper, write a code for it, and see if their friends could reproduce the design by following their code. They worked diligently on these designs & codes over the next week. Here are the results:

For the 2nd "unplugged" activity, Real Life Algorithms, I challenged them to write out algorithms (or a list of steps) for daily tasks such as making a PB&J sandwich, dusting the geography shelf in classroom, or planting a flower. The idea behind this activity is to understand that a program won't work properly–or at all–if the algorithm is not in logical order or if it missing a step in the process.

Then came the real fun. They cut out the pieces on this worksheet, put the steps in a logical order, and got to make & fly paper airplanes following the algorithms they pieced together.

These "unplugged" activities are great for exploring basic programming concepts. And now I am excited to try out our first coding lesson on the computer this week! Updates to follow!

If you'd like to try out one of the code.org courses in your classroom (or homeschool), their curriculum is available online here, and it's completely free!

I'd love to hear any feedback from others who have tried code.org OR any other coding curriculum. What works for your students? Let's share ideas!