Has the movement to teach coding in elementary schools lost focus? Often, teachers are distracted by many voices sharing views on the subject. Teachers may ask about tools or statistics instead of methodology. In my view, misconceptions will lead to coding becoming a trendy subject judged on its media campaign rather than its merits. In this blog, I hope to outline some valid reasons why coding is an essential part of learning. By integrating coding and Computer Science into curriculum, we are building enhanced problem solving skills.
Bad Reasons to Teach Code
- In 20 years, there will be a job demand and shortage for students with coding skills.
This statistic may be true. Can anyone really predict a future job market? It is rather obvious that other skills will be needed as students seek employment. Does a future job shortage necessarily mean all students need to coding? Maybe it gives us a reason to provide all with exposure, but many will gravitate to other disciplines. It seems many have latched onto this reason which can be misleading.
- We want to train future programmers because all kids use technology.
In a class of 30 students, there might be 3 students who become programmers. Again, this reason alludes to exposure over depth. As for the use of technology, how many people use technology and have no programming knowledge or experience?
I believe the above reasons are the fruit of Hour of Code, which has introduced millions to programming. The needed momentum gained through Hour of Code requires more depth of instruction so that elementary students benefit. We also often fixate on tools. Teachers often assert that they will use Hopscotch or Scratch. They explain that they want to fly drones, use a Raspberry Pi or Arduinos. We live in the best of times since these tools have made CS accessible to very young learners! However, they may actually cause a distraction from the main purpose of this integration. Why fly a drone? Why use Scratch?
Good Reasons to Teach Code
- Coding is a motivational way to explain, reshape and adjust thinking following structures.
When incorporated well, students do not just learn coding. They become programmers / problem solvers. Students will follow mathematical processes and decompose larger problems into manageable parts. They will persevere until those smaller parts achieve a larger goal. When they complete a task, students will be able to explain their process using terms such as Conditionals, variables and Boolean functions. Finally, they will be able to dialogue about this process and examine other codes to deepen their learning and strengthen their own coding skills.
- Coding is a wonderful application of math that allows students to think algorithmically.
In my own teaching, it was a pleasure meshing code to nearly every part of the math curriculum. When given the task of using Scratch to build a program that calculates the area of a shape, students fixated on the formula and the process. Learners wanted to understand the process to form a calculation which exemplifies algorithmic thinking. They wanted to understand the formula instead of just accepting it. When they made errors, learners were motivated to reflect on their code to debug problems. With this process, we had rich discussions on multi-step equations and the use of variables. When teaching coordinate geometry, students were able to understand the parallels by using tangible objects such as a Beebot.
In the interest of brevity, I have outlined 2 “bad” and 2 “good” reasons to incorporate coding into instruction. These points and other reasons can be discussed in more detail. In closing, I must state that teachers need to understand coding so that it is taught well. Educators do not have to be expert programmers, but having students sit in front of a computer with no pre-teaching or scaffolding serves no purpose. As lifelong learners, this may require effort but professional development is something we are accustomed to. Teachers learn themselves to fulfill the needs of students in a changing world. We have the means to teach STEM. We have the tools to help. And we definitely have many reasons to partake in this voyage.