We are well into the Hour of Code movement this week. Millions of students in many different countries have spent time coding using various online and offline coding tools, and by the end of the week, these students will write millions of lines of code. You can keep track of the statistics at the Hour of Code website. Why code? I think most of us have heard the reasons why we should teach students to code. In fact, many municipalities around the world have made coding a part of their local curriculum, and the reasons for initiating this are varied. Some of stated that students will need to know how to code like they need to learn to read and write. Others have noted that learning to code is a way to develop problem-solving and critical thinking skills, and enhance creativity and collaboration. Others have stated that our economies will need a legion of programmers to keep up with the demand of economies as we further integrate technology across all of our key industries and systems.
The practical notion of coding for students has a limited life-span. Various organizations are now investing millions of dollars into Artificial Intelligence (AI). Why is this significant for coding? Well, Google has reported that their AutoML system can create better machine-learning code than the researchers who made it. This Artificial Intelligence system is generating code. And as AI develops in complexity so will the code and ability to create complex systems. If this is the case now, then developing AI systems that can write code in every context is fast approaching. So then, coding for the long term is perhaps limited. We then must focus on using coding and programming as a way to teach students computational thinking. In short, computational thinking is a way to teach problem-solving. I won’t go into great detail here, however, a simple Google search will provide you with the parameters of this philosophy of teaching and learning.
Coding is significant for many reasons other than producing students who can develop software. As I have stated to the hundreds of students at my school who are coding this week, it’s a great way to have fun while developing deep problems solving skills, critical thinking and working together to solve some of the tougher coding challenges. And what about creativity? Students have realized in some instances that their code is different than their peer’s code. Why? Well, we think differently, and we approach problems from different perspectives. What a great way to talk about creativity and the way we are different. Coding leads to a discussion about the importance of teamwork and the need to become open to listening to an approach that may be different than the accepted one.
There are several roadblocks to teaching students how to code in schools. One of these barriers is the lack of teachers who have the skills to teach coding and programming. Fortunately, teachers who cannot teach coding in the elementary grades, have options available to them to rectify this problem. There are online coding platforms that have well-developed coding curriculums that help students develop their coding skills from the very basic to more complex. In some cases, these coding sites allow students to move from block to syntax coding. These sites also provide teacher dashboards that enable teachers to keep track of the progress of their students. And teachers can learn to code from these sites as well.
I’ve heard from some people that coding in education is just another fad. And we are all well aware of the time and effort – and money! – that is invested in grandiose ideas in education that lose steam over time. They lose steam because there was no long-term planning or thinking about the possible outcomes of said idea. I believe, however, that the thought that coding is a fad is short-sighted. Coding is embedded in all that we do today. Indeed, the nature of coding will change. As Artificial Intelligence and Quantum computing develop and mature coding will also change. As mentioned earlier, however, coding can and should be used to help students develop the skills that we note are of significant value in the future. Regardless of the industry, we have noted that complex problem solving, communication and interpersonal relationships continue to dominate the skills needed to become employable. Coding can be used to teach each of these skills and more! If we merely teach coding as a practical skill, then we miss the true impact that coding can have in education. Coding is a vehicle to develop the life-long skills that students – and adults! – will need in the future. It’s only a fad if we focus on the short-term results; coding can and will help us to teach students to think deeply, critically and creatively. Let’s focus on these long-term objectives.
As I’ve watched children code over the last couple of days, I’ve become more and more convinced that the skills that will be required to function effectively in the workplace in the future can be taught through the use of coding. I’ve watched children struggle through a coding problem with great intensity, and I’ve watched other children share their ideas on how a coding problem might be overcome. The students are engaged, challenged, excited, and the feedback is immediate. Imagine a child working through a challenging problem and then, through great struggle, finds a solution. Will this child prevail when faced with another challenge in mathematics, or in a social context? I think so. If teachers can leverage the power of coding to embrace the greater skills that we need to teach, especially in a world context where students want to code and create, then we can nuance a greater good. Essentially, our moral imperative is to empower students to become their own teachers and to learn those skills that we keep talking about. This can happen in engaged, challenging and rewarding contexts. Keep Calm and Code On!