Align computer science education with a pan-Canadian framework

In collaboration with an advisory group from across Canada, Canada in Programming is proposing a Pan-Canadian Framework for Computer Science Education. This framework aims to harmonize computer science education across the country by suggesting themes and learning progression.

Published on :

Posted in:

ATTENTION! The English translation is automated - Errors (sometimes hilarious!) can creep in! ;)

Mark as favorite (0)

In collaboration with an advisory group from across Canada, Canada in Programming is proposing a Pan-Canadian Framework for Computer Science Education. This framework aims to harmonize computer science education across the country by suggesting themes and learning progression.

In Canada, several organizations are working to promote and facilitate the integration of programming in the school context, usually in an after-school or invitational classroom setting. However, initiatives are scattered and diverse across the country and results remain "inequitable. In addition, "there is no consensus on what basic computer skills and competencies all students should acquire and when they should be taught. 

It is in light of this fact, and in order to achieve greater uniqueness, that the Canada in Programming organization (which is one of the few to be present in all provinces and territories) led the work of an advisory groupwhich lasted more than a year, in order to design a Pan-Canadian Framework for Computer Science Education. First launched in 2018, this one has seen a few updates since then.

The document proposes a guideline for teaching computer science from kindergarten to grade 12e grade in Canada. It is based on a vision that all students should be able to :

  • Create digital projects,
  • Critically analyze technologies and their influence on society,
  • Using technology to contribute to society.

5 key areas

The body of the framework is the Competency Guide for Computer Science, which is organized around five key areas.

1. Programming algorithms, data structures, modularity, modeling and abstraction, debugging.

2. Computers and networks : hardware and software, connected devices, troubleshooting, digital connectivity, cybersecurity.

3. Data data storage, data collection, classification and visualization, modeling and inference, artificial intelligence and machine learning, data governance.

4. Technologies and society The effects of digital technologies on society, digital communication, ethics, security and politics, technology and environment, history of technology, technology and well-being.

5. Design : program design, design for users, graphic design, universal design.

For each domain and its sub-themes, a progression of learning is proposed by naming a starting point up to the competencies and skills that should be acquired by the end of secondary school. Enrichment opportunities are also recommended to continue the learning journey. Finally, links between the domains and sub-themes are established, since "many ideas within a theme reinforce other components of the guide".

Skills and abilities to be achieved

The following skills and abilities have been identified as goals for Canadian youth.


  • Algorithms : Design an algorithm using a combination of computer elements, including functions, objects, conditional expressions, and arrays. 
  • Data structures Create a data structure (e.g., an array) that can be used in a program. 
  • Modularity Create modules to divide a computer program into several parts, which can be applied in different programming contexts. 
  • Modeling and abstraction Evaluate the limitations of a model or algorithm and design new models to incorporate missing abstractions and behaviors. 
  • Debugging Explain the process of testing software for bugs and finding solutions to foreseeable problems. 

Computers and networks

  • Computer hardware and software : Program a physical device that collects and exchanges data between hardware components and software. 
  • Connected devices : Create a model to show how connected devices collect and exchange data with each other without human intervention (commonly referred to as the Internet of Things, (IoT)). 
  • Troubleshooting Describe the steps taken to solve a problem so that others can solve a similar technical problem by following this process. 
  • Digital connectivity Explain the relationship between routers, switches, servers, topology and addressing and create a model of it. 
  • Cybersecurity : Assess the role played by individuals in cyberattacks and the effects of these on the population and society.


  • Data storage Evaluate the advantages and disadvantages of different storage models, including cloud, considering factors such as cost, speed, reliability, accessibility, confidentiality and integrity. 
  • Data collection, classification and visualization : Develop a simple algorithm or program to classify and represent a set of data to analyze information, predict outcomes, or infer trends. 
  • Modeling and inference Create a computer model based on observed trends in data and use it to predict outcomes. 
  • Artificial intelligence and machine learning : Evaluating the integration of human bias in technical systems and artificial intelligence. 
  • Data governance Understand and defend your rights in relation to data and those of others.

Technology and society

  • Effects of digital technologies on society To assess the effects of computer technology on different groups in society, including women, racial groups, visible minorities, people with disabilities and Aboriginal peoples. 
  • Digital communication Use a digital tool to collaborate and create a simple digital project or class project. 
  • Ethics, security and politics : Assess the effects of cybercrime, hacking, virus distribution, and other illegal or unethical digital activities on society. 
  • Technology and environment Assess how digital technologies can be used to manage and promote environmental sustainability. 
  • History of technology To trace the evolution of technologies in different regions of the world and assess the types of effects associated with them. 
  • Technology and well-being Develop strategies to harness the potential of technology to improve physical and mental health and well-being. 


  • Program design Record and justify your own or your team's computer process by creating a program so that others can follow and understand the steps. 
  • Design for users Collaborate with others to get feedback on a digital project created by yourself or your team, identify areas for improvement and implement changes. 
  • Graphic design : Apply user interface design principles to create a digital project that is both practical and visually pleasing. 
  • Universal design Create a user-friendly project that meets provincial or other known accessibility standards and takes into consideration the diversity of human experience. 

The organism Canada in programming is funded by the federal government. It has already established partnerships with teachers in all provinces, offering various programming programs and activities (Teens in Programming, Girls in Programming, Teachers in Programming, etc.).

Also see: The Spring 2022 issue of École branchée magazine: Computer programming: how to develop this skill?

Your comments

To comment on this topic and add your ideas, we invite you to follow us on social networks. All articles are published there and it is also possible to comment directly on Facebook, Twitter or LinkedIn.

Do you have news to share with us or would you like to publish a testimonial?

Publicize your educational project or share your ideas via our Opinion, Testimonials or Press Releases sections! Here's how to do it!

Do you like what you read?

Subscribe and receive the next 3 issues of École branchée magazine (print or digital, French or English) in addition to our exclusive online files!

Learn more >

About the Author

Martine Rioux
Martine Rioux
After studying public communication, Martine worked as a journalist for various publications, before pursuing her career as an interactive communications consultant at La Capitale, a financial group, then at Québec Numérique, an organization she took over as general manager before making the jump. as political advisor in the office of the Minister for Digital Government Transformation. Today she is the online Editor-in-Chief and Special Projects Manager at l'École branchée. Her dream: that everyone has access to technology and can use it as a tool for learning and opening up to the world.

Receive the Weekly Newsletter

Get our Info #DevProf and l'Hebdo so you don't miss out on anything new at École branchée!

You might also like: