Should coding be a 21st century requirement? Could it be offered as a new foreign language? Might coding be the most important language in the world? These are just a few of the questions that have been at the center of many educational discussions across the world as schools grapple with the value placed on coding across the curriculum.
There has been a recent push for coding in educational settings thanks in part to Mitch Resnick and code.org, who have made coding not only more accessible to students of all age levels by providing accessible tutorials and apps, but have also worked on reformulating the social image we hold of computer programmers. An outbreak of recent articles and resources in the last few years has also justified a push for coding in schools by explaining a number of its benefits: to anticipate future employment needs, to stay competitive with other global economies, to enhance problem-solving and thinking skills, to improve logical and computational thinking and to empower the next generation of innovators.
As someone who grew up cracking these types of codes, it is safe to say that I am operating way outside of my comfort zone this week as I introduce coding to my 3rd grade/Year 4 students. With any change, especially one found within an already packed curriculum, there always seems to be those parents, colleagues or administrators that question what you are introducing and why you are doing so. It is important that we anticipate possible reluctance towards the adoption of something new and consider what types of questions we might face when implementing it. It is from those questions that we as teachers can truly reflect on why we do what we do. Asking ourselves deep questions ensures that we do not get caught up with societal or educational trends; it forces us to evaluate the long-term needs of our students.
When I was thinking of ways I could not only justify coding in the elementary curriculum to others, but also advocate for it, I began to envision potential questions from those who might question its place in primary education:
- What is coding? Is that like HTML? Can they do that at this age?
- Why do students need to learn how to code? Shouldn’t we be teaching them how to read and write first? It seems like a waste of time.
- What is the benefit of coding? I mean, how many of these kids are actually going to go into computer science? If they want to code, can’t they learn about it in high school?
- Shouldn’t we be teaching students to write legibly instead? I keep getting students in my class who can’t even hold a pencil correctly!
- When you are teaching students to code, what part of the curriculum are you cutting out? Why should coding be a higher priority than ________?
In most cases, well-intentioned, yet suspicious, questions like these come from a lack of knowledge and familiarity with coding. Since I am the farthest thing from an expert on coding, having only learned about it recently, I would not be able to discuss the personal or societal benefits of coding with them. The most I could do would be to pass along the resources I have used to teach myself about its advantages and let them decide for themselves if they are interested in trying it out.
Over the last two months, I have read up on coding’s potential in elementary education and can say I have a clearer understanding of why and how coding should be a part of student learning.
If you can’t code, your experiences are limited to what others have created for you. If you can code, you are only limited by the scope of your imagination. With creativity and design thinking becoming more valued in today’s society, coding gives young students the opportunity to make something from scratch. All they have to do is come up with an idea and, theoretically, they can make it. In the process of building something, students break down problems, test their ideas and create visible maps of their thinking. They persevere through challenging tasks that have relevance to them because they are invested owners in their creative vision. Coding encourages risk-taking, innovation and collaboration, which are 21st century skills necessitated in an evolving and interconnected world. Most importantly, teaching coding is teaching the primary form of communication used today: that of computers.
Reading and writing code is a new form of communication that should be taught to students using a system-wide approach, similar to how we instruct numeracy and literacy. The goal would not be to make all students fluent coders like we expect them to be fluent readers and writers. Coding also should not be seen as a replacement for reading and writing.
Rather, coding should be viewed as an adjunct to the elementary curriculum, either through a logical-mathematical lens or a digital literacy one, which exposes students to the basic computational skills that govern communication in today’s world. Doing so will not only transform students from passive digital consumers into active producers of content and tools, it will also help them become better global citizens for creating tomorrow’s world.
While sifting through the growing body of evidence for coding being taught across the curriculum, I began to recognize many of the skills, concepts and mindsets experts made reference to. They were naturally embedded in the curricular framework I was already working within: the Primary Years Programme (PYP).
In Making the PYP Happen, it outlines what inquiry actions look like. Aside from stating that, “Inquiry involves the synthesis, analysis and manipulation of knowledge,” it also states that inquiry entails:
- exploring, wondering and questioning
- experimenting and playing with possibilities
- making connections between previous learning and current learning
- making predictions and acting purposefully to see what happens
- collecting data and reporting findings
- clarifying existing ideas and reappraising perceptions of events
- deepening understanding through the application of a concept
- making and testing theories
- researching and seeking information
- taking and defending a position
- solving a problem in a variety of ways.
The emboldened skills are the more obvious examples of inquiry inherent in coding that do not require persuasion and extension. A few of the above-mentioned approaches that were not emboldened could also be argued as present in coding, depending on the context and developmental level of the task.
In addition to the PYP taking an approach to learning through the spirit of inquiry, the framework also places an emphasis on learners constructing their meaning through purposeful engagements. Coding, which is a form of learning by doing, is based on the learning theory constructionism, where learning happens most effectively when people are active in making tangible object in the real world.
Aside from being inquiry driven learning, coding also follows the majority of the criteria for unit of inquiry central ideas: engaging, relevant, challenging and significant. It is unlikely (although not unreasonable) that schools would write central ideas around coding. Although unit of inquiries might not be based in coding, this should not deter from the fact that coding is rooted in many of the curricular foundations of the programme: conceptual understanding, transference of skills, as well as engaging, relevant and challenging problem-solving through collaboration. It may not be a unit of inquiry in and of itself, but coding could easily be fused into language arts or math strands that dovetail within other units. If there is no direct unit of inquiry connection through knowledge, we can further explore how coding is manifested in other Essential Elements.
In examining the key concepts in the PYP, we can recognize the conceptual nature of coding and explore a plethora of questions:
- form (What is computer code?)
- function (How does coding work?)
- causation (How do codes cause computers to complete different tasks?)
- change (How can changing specific elements of code affect the outcome?)
- connection (How is code connected to my daily experiences?)
- perspective (Why are there different coding systems?)
- responsibility (How can we use code to take action?)
- reflection (What might be some different ways we can learn to code?)
Looking at the transdisciplinary skills, there are a variety of skills across the sub-themes (especially thinking skills) that stand out as obvious opportunities to engage with while coding—either independently or collaboratively.
Further exploring the Essential Elements of the program, we can identify ways coding might foster certain attitudes:
- appreciation (I appreciate the numerous, specific directives required for computers to respond to my desires.)
- commitment (I am committed to the coding task I am working on and won’t give up.)
- confidence (I am confident that I can make a computer respond the way I want it to by speaking its lanaguage.)
- cooperation (I am cooperating with my peers to problem-solve tasks we are stuck on.)
- creativity (I am creatively designing new uses, applications and experiences for myself and others by coding.)
- curiosity (I am curious as to what will happen when I try this.)
- enthusiasm (I am enthusiastic about learning to program computers to do what I want them to.)
- independence (I am independently problem-solving and making my imagination come to life.)
- integrity (I am acting honestly and assigning credit to those codes I am modifying.)
The end goal of all inquiry in the PYP is taking responsible action. Since coding is, and will continue to be, an essential part of every economic sector (both public and private), the opportunities for taking action are only limited by the coder’s intention and attitudes. Ironically, the attitudes that were not emboldened above in the direct practice of coding yield themselves perfectly to initiating socially responsible action. Increasingly, we are seeing how writing code is not an isolated activity that only serves the coder’s fascination with computer science. Rather, coding is an integral part of participating in a digital world and making a difference in the lives of others. And as the foundation for an ever-growing number of human activities, coding empowers all students by giving them the potential to take action, help others and change the world so far as their imagination will allow them to.
Just because I can’t code doesn’t mean that I’m going to prevent my students from coding. As a community of learners, we will help each other along the way. And when I introduce coding to my students, I will learn more from them than they will learn from me. We will learn together, we will inquire together and we will code together.
And if anyone asks me where coding fits into the curriculum, I’ll ask them, “Where doesn’t it?”
If you don’t know where to start with coding in your classroom, take a look at the learning sequence I am using to introduce it to my students. You will also find articles I used to select coding apps and websites appropriate to my students’ needs.
I would like to thank Amanda Klahn for her unbeknownst inspiration to educate myself about coding so I could expose my students to it.