The next battle in coding education

A couple years ago when the Ontario government solicited the public for input into the public education system, a group of people including myself advocated via a proposal and a petition for the inclusion of computational thinking and coding in the K-12 curriculum. This week the government announced that the new math curriculum would include coding, starting in grade 1. I would’ve preferred to see this 20-30 years earlier, but I’m so glad it’s finally happening.

I’m cautiously optimistic that this reform will be effective… when drafting the proposal one thing everyone agreed on was that computational thinking, rather than coding, needed to be the focus. That’s because “coding” can sometimes miss the mark in terms of what’s really important.

For example, Hour of Code type activities will teach students some basic coding via building a game with drag and drop coding, or by having students help to navigate a character across a screen through some instructions. And there is some value in these activities to be sure in terms of learning to sequence instructions, understanding how computers execute instructions sequentially, how it effects the state of something (e.g. a game). etc. The issue is that they tend to be pretty surface level, many of them are actually closer to entertainment than education.

Many of these activities don’t teach more fundamental computational thinking related skills, such as how to construct algorithms to solve problems, and the different ways we can represent and structure data. There are a thousand activities to teach introductory programming, but hardly any on more niche topics within tech such as cybersecurity, digital health, operating systems, compilers, etc. Many of these activities are so sandboxed, i.e. designed for ease of use, that when students try to leave the sandbox and do “real programming” with a “real language”, they’re left lost and confused. And many of these activities aren’t interdisciplinary. in terms of showing how coding can be used as a tool to analyze or do something in other disicplines, for example computing values in physics equations, or even something like counting the number of words in a paragraph.

The fact that coding is being included in the math curriculum makes me hopeful that computational thinking will be taught. Especially when I read a sentence like this, in the article linked to above, “Meanwhile, plotting coordinates on a grid will be taught in Grade 4, down from Grade 6, with officials saying the skill is useful to have when learning about coding.”. That line really makes me think that the government is talking to someone that knows what they’re doing!

So great, a big win and we all go home happy?

Not even close I’m afraid to say. I’m biased, and I appreciate there’s been so much work done by so many people in this area before now, but to me it feels like it’s just the opening salvo of getting coding education where it needs to be in Ontario. We have a lot to do collectively now. There’s a lot of (poorly supported and resourced) elementary school teachers that struggle with teaching some mathematics and science concepts as it is right now. And now teaching coding is being dumped on to people that already exude herculean efforts to teach their classes. We need to help them be as successful as possible.

The next step is to support these teachers by producing freely available open source educational content that they can use in their classrooms: lesson plans, activities and games, instructional videos, quizzes/tests, etc. Ideally a repository of these materials that are matched to grade level, learning goals, subject (including interdisciplinary opportunities), etc. Maybe the repository could be a wiki that allows for submissions from anyone, with a general review and rating system, and/or review by experts, to rate and filter for quality. Ideally these materials would be formally tested for quality, in terms of their overall ability to instruct students on concepts, as well as to ensure the materials are appealing to and effective for underrepresented demographics. And perhaps most importantly, the they need to be as easy as possible for the teachers to use, and the teachers themselves should be able to learn how to use the materials effectively with content aimed at them as well.

Non-profit Canada Learning Code is basically doing this right now, check out their repository of lesson plans and teaching coding guide. Another notable organization is the Centre for Education in Mathematics and Computing (CEMC). There are dozens of non-profits and outreach programs across the country tackling the issue.

Though all of these efforts have tremendous value, I do suspect that the problem is too large and complex for any single organization or even groups of organizations to effectively tackle. A lot of the solutions are going to come from the bottom-up rather than top-down. In a perfect world, I’d like to see us experiment with hundreds, thousands of materials in parallel in classrooms across the province, and let effective solutions rise to the top, supported by evidence and the expert opinions of teachers.

I think the next step is for a collective barn raising effort to occur in Ontario tech education, where anyone willing and able should attempt to develop and test these educational materials that can aid and empower teachers to teach coding effectively.

Leave a Reply

Your email address will not be published. Required fields are marked *