Canada · Ontario Curriculum Expectations
Grade 10 Computer Science
Students transition from block based environments to text based programming while exploring the infrastructure of the digital world. The course emphasizes logical decomposition, ethical technology use, and the iterative design process to solve real world problems.

Algorithms and Logical Decomposition
Explore the foundational logic that governs computer processing and learn to break complex problems into manageable steps.
Analyze how different sets of instructions can reach the same goal with varying levels of speed and resource usage.
Master the use of loops and conditional statements to control the flow of a program based on specific data inputs.

Programming Paradigms and Syntax
Transition into text based programming languages and learn the syntax and structure required for software development.
Learn how computers store different types of information and the importance of choosing the correct data structure.
Encapsulate logic into reusable functions to create cleaner and more maintainable code bases.
Develop strategies for identifying and fixing syntax, logic, and runtime errors in code.

Data and Information Systems
Investigate how digital information is represented, stored, and analyzed to drive decision making.
Understand how all digital content is ultimately represented as sequences of bits and bytes.
Use software tools to transform raw data into visual formats that reveal patterns and trends.
Examine how massive datasets are used by algorithms to predict future behavior and trends.

Networks and the Internet
Examine the physical and logical infrastructure that allows computers to communicate across the globe.
Analyze the rules that govern how data packets travel across complex networks without getting lost.
Investigate the methods used to protect data integrity and privacy in an interconnected world.

Impacts of Computing on Society
Critically evaluate how technological advancements reshape culture, equity, and the environment.
Analyze the barriers to technology access and how they impact socio economic opportunities.
Explore the moral dilemmas presented by autonomous systems and machine learning.

Collaborative Software Development
Apply the full software development life cycle to create a digital solution for a community problem.
Focus on the needs and experiences of the end user when planning a technical product.
Learn to manage a group project using iterative cycles and collaborative tools.
Communicate the technical details and societal impact of a completed software project.