Skip to content
Browse by Grade: Grade 10

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.

6 units·60 topics·Ages 15-16

01Algorithms and Logical Decomposition

11 topics·Term 1

Explore the foundational logic that governs computer processing and learn to break complex problems into manageable steps.

Introduction to Algorithms

Define what an algorithm is and identify its key characteristics through real-world examples.

Think-Pair-ShareCarousel Brainstorm
Problem Decomposition Strategies

Learn various techniques to break down complex problems into smaller, more manageable sub-problems.

Collaborative Problem-SolvingConcept Mapping
Algorithmic Efficiency: Time Complexity

Analyze how different sets of instructions can reach the same goal with varying levels of speed and resource usage, focusing on time complexity.

Problem-Based LearningDecision Matrix
Algorithmic Efficiency: Space Complexity

Investigate how algorithms utilize memory and other resources, understanding the trade-offs between time and space.

Case Study AnalysisThink-Pair-Share
Flowcharts and Pseudocode

Learn to represent algorithms visually using flowcharts and textually using pseudocode before writing actual code.

Stations RotationCollaborative Problem-Solving
Conditional Statements (If/Else)

Master the use of conditional statements to control the flow of a program based on specific data inputs.

Escape RoomProblem-Based Learning
Looping Structures (While/For)

Implement iterative control structures to repeat blocks of code efficiently.

Stations RotationCollaborative Problem-Solving
Nested Control Structures

Combine conditional statements and loops to create more complex and powerful program logic.

Problem-Based LearningEscape Room
Introduction to Recursion

Explore the concept of recursion as an alternative to iteration for solving certain problems.

Flipped ClassroomConcept Mapping
Searching Algorithms (Linear & Binary)

Compare and contrast linear and binary search algorithms, understanding their efficiency and use cases.

Simulation GameProblem-Based Learning
Sorting Algorithms (Selection & Bubble)

Introduce basic sorting algorithms like selection sort and bubble sort, focusing on their mechanics and efficiency.

Experiential LearningStations Rotation

02Programming Paradigms and Syntax

11 topics·Term 1

Transition into text based programming languages and learn the syntax and structure required for software development.

Introduction to a Text-Based Language

Get acquainted with the basic syntax and structure of a chosen text-based programming language (e.g., Python, Java).

Flipped ClassroomStations Rotation
Variables and Primitive Data Types

Learn how computers store different types of information and the importance of choosing the correct data structure for basic values.

Stations RotationPeer Teaching
Operators and Expressions

Understand arithmetic, relational, and logical operators and how to combine them to form expressions.

Problem-Based LearningEscape Room
Input and Output Operations

Learn how to get input from users and display output, enabling interactive programs.

Collaborative Problem-SolvingExperiential Learning
Complex Data Structures: Lists and Arrays

Explore how to store collections of data using lists and arrays, and perform operations on them.

Problem-Based LearningCollaborative Problem-Solving
Complex Data Structures: Dictionaries and Objects

Understand how to store data in key-value pairs and introduce the concept of objects for structured data.

JigsawConcept Mapping
Defining and Calling Functions

Encapsulate logic into reusable functions to create cleaner and more maintainable code bases.

Peer TeachingStations Rotation
Parameters and Return Values

Learn how to pass information into functions and receive results back, enabling flexible and powerful code.

Problem-Based LearningCollaborative Problem-Solving
Introduction to Libraries and APIs

Explore how to leverage existing code libraries and Application Programming Interfaces (APIs) to extend program functionality.

JigsawProject-Based Learning
Syntax Errors and Debugging Tools

Develop strategies for identifying and fixing syntax errors using common debugging tools and techniques.

Collaborative Problem-SolvingEscape Room
Logic Errors and Test Cases

Learn to identify and correct logic errors by designing effective test cases and understanding program behavior.

Case Study AnalysisProblem-Based Learning

03Data and Information Systems

11 topics·Term 2

Investigate how digital information is represented, stored, and analyzed to drive decision making.

Binary Numbers and Bits

Understand how all digital content is ultimately represented as sequences of bits and bytes, starting with binary numbers.

Stations RotationInquiry Circle
Hexadecimal and Other Number Systems

Explore hexadecimal and other number systems used in computing and their conversion to binary and decimal.

Stations RotationProblem-Based Learning
Representing Text and Images

Explore how characters, text, and images are encoded and stored digitally.

Inquiry CircleMuseum Exhibit
Representing Audio and Video

Understand the digital representation of sound and video, including sampling, quantization, and codecs.

Case Study AnalysisFlipped Classroom
Data Compression Techniques

Investigate methods used to reduce the size of digital files, including lossless and lossy compression.

Case Study AnalysisThink-Pair-Share
Introduction to Databases

Understand the fundamental concepts of databases, including tables, fields, and records, and their role in information systems.

Concept MappingProblem-Based Learning
Querying Data with SQL Basics

Learn basic SQL commands to retrieve, filter, and sort data from a relational database.

Stations RotationCollaborative Problem-Solving
Principles of Data Visualization

Explore the principles of effective data visualization to communicate insights clearly and accurately.

Case Study AnalysisGallery Walk
Tools for Data Visualization

Use software tools to transform raw data into visual formats that reveal patterns and trends.

Project-Based LearningPeer Teaching
Introduction to Big Data

Examine the characteristics of big data (volume, velocity, variety) and its implications for analysis.

Case Study AnalysisWorld Café
Machine Learning Basics

Explore fundamental concepts of machine learning, including supervised and unsupervised learning.

Flipped ClassroomInquiry Circle

04Networks and the Internet

10 topics·Term 2

Examine the physical and logical infrastructure that allows computers to communicate across the globe.

Introduction to Computer Networks

Understand the basic components of a computer network and different network topologies.

Concept MappingGallery Walk
Network Hardware and Devices

Identify and explain the function of common network hardware components like routers, switches, and modems.

Museum ExhibitJigsaw
The Internet: A Network of Networks

Explore the structure and function of the internet as a global network, including its history and key organizations.

Timeline ChallengeInquiry Circle
IP Addresses and DNS

Understand how devices are identified on a network using IP addresses and how the Domain Name System (DNS) translates human-readable names.

Simulation GameDocument Mystery
TCP/IP and Packet Switching

Analyze the rules that govern how data packets travel across complex networks without getting lost, focusing on TCP/IP.

Simulation GameRole Play
HTTP/HTTPS and the World Wide Web

Explore the protocols that power the World Wide Web and the importance of secure communication.

Flipped ClassroomInquiry Circle
Introduction to Cryptography

Investigate the basic principles of cryptography, including symmetric and asymmetric encryption.

Escape RoomDocument Mystery
Cyber Threats and Vulnerabilities

Identify common cyber threats (e.g., malware, phishing) and understand system vulnerabilities.

Case Study AnalysisPress Conference
Cybersecurity Best Practices

Learn and apply best practices for protecting personal and organizational data and systems.

Role PlayTown Hall Meeting
Digital Forensics Basics

Introduce the fundamental concepts of digital forensics, including evidence collection and analysis.

Document MysteryCase Study Analysis

05Impacts of Computing on Society

8 topics·Term 3

Critically evaluate how technological advancements reshape culture, equity, and the environment.

Access to Technology and Equity

Analyze the barriers to technology access and how they impact socio-economic opportunities.

Fishbowl DiscussionWorld Café
Inclusive Design and Accessibility

Explore principles of inclusive design to ensure technology is accessible to individuals with diverse needs.

Case Study AnalysisExpert Panel
Bias in AI and Algorithms

Examine how biases in data collection and algorithmic design can lead to unfair or discriminatory outcomes.

Socratic SeminarDecision Matrix
AI and Automation: Economic and Social Impacts

Discuss the broader economic and social implications of artificial intelligence and increasing automation.

Formal DebatePhilosophical Chairs
Privacy and Surveillance in the Digital Age

Explore the tension between individual privacy rights and the collection of personal data by governments and corporations.

Socratic SeminarMock Trial
Intellectual Property and Digital Rights

Understand concepts of copyright, patents, and open-source licensing in the context of software and digital content.

Case Study AnalysisFormal Debate
Cyberbullying and Digital Citizenship

Examine the impact of cyberbullying and develop strategies for responsible and ethical online behavior.

Role PlayTown Hall Meeting
Environmental Impacts of Computing

Investigate the environmental footprint of computing, including energy consumption, e-waste, and sustainable practices.

Inquiry CircleGraffiti Wall

06Collaborative Software Development

9 topics·Term 4

Apply the full software development life cycle to create a digital solution for a community problem.

Problem Identification and User Research

Focus on identifying real-world problems and gathering authentic feedback from potential users to inform design.

Expert PanelCarousel Brainstorm
Requirements Gathering and Specification

Learn to translate user needs and problem statements into clear, actionable software requirements.

Collaborative Problem-SolvingDecision Matrix
Prototyping and Iterative Design

Learn to create low-fidelity and high-fidelity prototypes and apply iterative design principles.

Project-Based LearningExperiential Learning
Introduction to Version Control (Git)

Learn to manage a group project using iterative cycles and collaborative tools, specifically focusing on Git.

Flipped ClassroomCollaborative Problem-Solving
Agile Methodologies and Team Roles

Understand agile principles and common team roles in a software development project.

Role PlayJigsaw
Project Planning and Task Management

Develop skills in breaking down projects into manageable tasks, assigning responsibilities, and tracking progress.

Decision MatrixCollaborative Problem-Solving
Testing and Quality Assurance

Implement testing strategies to ensure the quality, reliability, and functionality of software.

Problem-Based LearningCase Study Analysis
Documentation and Code Comments

Learn to create clear and concise documentation for code and projects, enhancing maintainability and collaboration.

Peer TeachingLearning Contracts
User Feedback and Iteration

Practice gathering and incorporating user feedback to refine and improve software solutions.

Experiential LearningGallery Walk