Yesterday, the Ministry of Education announced a new math curriculum for grades 1-8.
One of the major new additions is coding. This is the first time coding has been explicitly included in the math curriculum. I’m excited about this!
Many educators have been integrating coding as a way to meet curriculum expectations for years already (myself included). On the other hand, I recognize that this will be new territory for many.
As part of my process to digest the new coding piece of the curriculum and try to make sense of what is expected, I highlighted the continuum a bit to pull out the key details that are added in each grade:
Expectation C3.1 focuses on creating code in increasingly complex ways, including: sequential events (instructions happening in order), concurrent events (two or more sets of instructions happening at the same time), repeating events (some or all of the instructions being done over again – often called loops), nested events (a loop within a loop).
Grade 5 introduces more logic and decision making with conditional statements or other control structures (e.g., if this is true, then do this – if not, do that). IMHO, this is where coding starts to become really fun because you’re essentially teaching the program how to make decisions on its own.
Grade 6 makes explicit the idea of efficient code – for example, that you shouldn’t take 10 steps to do something that could be done just as well in 6. In reality, students will already be familiar with this concept because the reason for doing repeating and nested events is efficiency. So, this will be a good year to consolidate all prior knowledge and really emphasize the goal of being efficient.
Grade 7 will introduce yet more ways of making complex code efficient – such as with sub-programs (e.g., functions) or events influenced by a defined count (e.g., for loops, variables).
The grade 8 specific expectation looks at how coding skills can be used for data analysis. This can be an incredibly complex topic and the expectation is very broad, so I look forward to the Ministry providing some examples around it to further clarify. It’s definitely a fascinating topic and I am assuming we’ll just scratch the surface of it. Something like the teachable machine would be a great “hook”. Code.org also has a unit on this topic that might fit the bill – I’ll know better once we get some clarity.
In every grade, expectation C3.2 deals with the ability to read code that has been written (by yourself or someone else) and be able to make sense of it. This is useful in situations where you are debugging code (figuring out what’s wrong and fixing it), when you’re collaborating on a larger program with other coders, or even when you’re learning new coding concepts by studying previously existing code. (I taught myself web design in the 90s mostly by right clicking on websites and going to “view page source”.) Coders often use large libraries of pre-created code rather than starting every app from scratch. These skills are just as important as the content in C3.1, if not more so, and they will happen in tandem.
Regardless of what grade you teach, your students may be approaching this continuum with no prior background knowledge since the curriculum is brand new. Instead of thinking of these skills as “belonging” to a particular grade, we’re going to have to start at the beginning and work our way up.
Think of the grade level expectation as where you’d like to end up – not where you’ll begin. Coding skills are incremental and additive. You’ll never stop doing the “grade 1” skills, you’ll just add to them as you add more and more coding strategies to your toolkit.
As the years progress and students have had more exposure to these skills over time, I predict that they’ll be able to take their skills further and further. In the interim – don’t worry. Older students will very quickly pick up the easier skills.
In the days and weeks to come, I hope to create some videos and webinars to help support educators who are new to coding. I’ll be posting them on my YouTube channel. I’ve been (positively) overwhelmed by the responses on twitter after offering to do so and it’s clear many people would appreciate the support. I’m sure “official” support is also coming but I’m passionate about this and glad to help other educators out – just as many have helped me with other topics I’m not as well-versed in.
For now, I’ll leave links to my two favourite resources for coding beginners. I like them because they’re well developed and easy enough to get started without much of a learning curve while still leaving lots of room to grow.