Ontario recently announced a partial reform of its elementary and secondary school curricula to include mandatory learning on coding, as of September 2022.
As researchers with combined expertise in teaching computer programming and curriculum development, it’s clear to us that this curricula is about computer programming, despite the fact that the province only uses the term “coding.” Coding is a most basic aspect of learning programming.
Ontario’s decision is in line with those taken by Nova Scotia and British Columbia, which were the first and only Canadian provinces to make learning computer programming compulsory at the primary and secondary levels in 2015 and 2016 respectively.
In the rest of the world, many governments have also made this change, such as Estonia as early as 2012, the United Kingdom in 2014, and South Korea in 2017.
But what are the arguments put forward to motivate the integration of computer science, and more specifically computer programming, into the school curriculum of students? Research highlights three main arguments on this subject that will be discussed in this article.
The lead author of this story, Hugo, is a researcher at the UNESCO Chair in Curriculum Development and a lecturer in the Department of Didactics in Educational Technology. His thesis project in educational sciences at Université du Québec à Montréal focuses on the impact of learning computer programming on young learners.
Meeting the growing needs of the job market
The evolution of the global job market represents one of the motivations at the heart of the integration of programming in school curricula. This motivation, widely promoted by policy-makers, is essentially linked to the need to train more people with programming skills. Indeed, technological knowledge, particularly in the high-tech sector, has been driving economic growth in North America and elsewhere in the world for over 20 years. A growing number of jobs require a deep understanding of technology.
This number of jobs is actually expected to increase in the coming years considering that data science, artificial intelligence and decentralization technologies (such as blockchain technology, on which cryptocurrencies are based) are becoming increasingly dominant areas of the economic sector. Teaching coding from an early age could thus be a way to facilitate countries’ immersion and performance in the digital economy.
Some studies also argue that exposing students to computer programming early in the school curriculum could have a positive impact on the identity they develop with respect to this field, considering that there are many stereotypes associated with it (mainly that “computer science is only for boys”). In this respect, arguments that go beyond the economic benefits can be evoked.
Promoting social equity
According to several authors, greater exposure to computer science by teaching young people how to program could also help promote greater social equity in terms of representation and access to technological professions.
On the one hand, computer science skills can indeed provide access to well-paying jobs, which could help provide greater financial stability for marginalized groups who have not had the opportunity to accumulate wealth in recent generations. On the other hand, the increased participation of people from under-represented groups in computing (women, Indigenous people, Black people) could also promote diversity in the field, and ultimately result in an increase in the total number of workers.
In addition, there is a related argument that greater diversity within the workforce would lead to better products, accessible to a greater portion of consumers in the marketplace. Too much homogeneity among workers leads to the design of products and services that cater to a relatively narrow spectrum of individuals and problems, which may reinforce some inequalities.
Researchers advancing this equity argument argue that if early and intentional steps are not taken to foster greater diversity, this could result in a “digital gap” or an opportunity difference between dominant and marginalized groups, much more pronounced in the coming years. All youth learning to program could in this sense represent a measure to decrease this gap and promote greater social equity, which is in line with United Nations’ Goal 4 about inclusivity and equality in education.
Developing learners’ cognitive skills
Finally, the most commonly mentioned argument concerns the role programming would play in developing computational thinking in learners. Defined and popularized in 2006, the concept of computational thinking refers to the skills of “problem solving, system design, and understanding human behaviour based on the fundamental concepts of computer science.”
Several authors argue that the development of such computational thinking would be beneficial for the learners, as it would allow them to develop high-level reasoning skills that can be transferred to other learning, such as problem solving, creativity and abstraction.
For these reasons, computational thinking is often embedded within new programming curricula, such as in England’s curriculum, where it is stated that “high quality computer science education equips students to use computational thinking and creativity to understand and change the world.”
The introduction of programming into the school curriculum could therefore have a benefit for all students, even those who are not destined for a technological career, as they could benefit from computational thinking in their daily lives in a more cross-curricular way.
It is important to note, however, that these beneficial effects for the learner, although widely discussed and increasingly documented, still need to be shown through more research involving comparative and longitudinal aspects. Hugo’s thesis project examines this perspective.
In sum, it appears that Ontario’s decision-makers have seen the potential triple benefit of youth learning computer coding for the future. However, the major challenge now facing the Ontario government is the lack of sufficiently qualified teachers to adequately introduce this complex discipline to students.
Adequate staff training will be a key requirement for successful integration, as demonstrated by a 2014 report about computer programming integration in the U.K. One potential solution could be to integrate programming into the initial university training of future teachers.