Canada · Ontario Curriculum Expectations
Grade 9 Computer Science
Students explore the fundamental principles of computer science through hands on programming, hardware analysis, and systems thinking. This course bridges the gap between digital consumption and creation by focusing on logic, security, and the societal impacts of emerging technologies.

01Computational Thinking and Logic
An introduction to decomposing complex problems into manageable steps using algorithms and logical reasoning.
Students will define computational thinking and explore its four pillars: decomposition, pattern recognition, abstraction, and algorithms.
Students will practice breaking down complex problems into smaller, more manageable sub-problems.
Students will identify recurring patterns in problems and apply abstraction to focus on essential details.
Students will learn the definition and characteristics of algorithms, exploring their role in problem-solving.
Students will use flowcharts and pseudocode to design and represent algorithmic solutions.
Students will explore the foundational concepts of true/false values and basic logical reasoning.
Students will explore fundamental Boolean logic, including AND, OR, NOT, and their application in decision-making.
Students will learn strategies for identifying, locating, and fixing errors in algorithms and simple programs.
Students will become familiar with a basic Integrated Development Environment (IDE) and its components.
Students will learn fundamental command-line operations for navigating file systems and executing simple commands.
Students will understand what variables are, how to declare them, and the concept of different data types.
Students will declare and use variables of different data types to store and manipulate information.

02The Art of Programming
Developing foundational coding skills using variables, control structures, and data types.
Students will implement conditional statements to allow programs to make decisions based on specific criteria.
Students will expand their use of conditional statements to include 'else if' and 'switch' structures for multi-way decisions.
Students will use 'for' and 'while' loops to repeat blocks of code efficiently.
Students will explore how to use nested loops to solve problems requiring iteration over multiple dimensions or complex patterns.
Students will define and call functions to organize code into reusable, modular blocks.
Students will deepen their understanding of functions by working with parameters to pass data and return values to send results back.
Students will learn to store and access collections of data using lists or arrays.
Students will practice common list operations such as adding, removing, sorting, and searching elements.
Students will understand the concept of binary as the fundamental language of computers.
Students will convert between decimal and binary numbers, understanding the foundation of digital data.
Students will explore hexadecimal and octal as shorthand for binary, converting between bases.
Students will learn how characters (ASCII/Unicode) and images (pixels, RGB) are digitally encoded.

03Data and Digital Representation
Exploring how information is encoded, stored, and analyzed by digital systems.
Students will investigate various methods for collecting data and consider their implications.
Students will learn about the importance of cleaning and preparing data for analysis.
Students will explore basic techniques for analyzing data to identify trends, patterns, and insights.
Students will explore different types of data visualizations and their effectiveness in conveying insights.
Students will differentiate between lossy and lossless compression techniques and their applications.
Students will investigate different methods of digital data storage and basic retrieval concepts.
Students will explore the basic components and types of computer networks (LAN, WAN).
Students will identify and describe common network hardware (routers, switches, cables) and network topologies (star, bus, ring).
Students will understand the role of protocols like TCP/IP in enabling communication across diverse networks.
Students will learn about IP addresses, how they are assigned, and the role of the Domain Name System (DNS).
Students will differentiate between the Internet and the World Wide Web and explore their historical development.
Students will learn the basics of HTML to create the structure and content of web pages.

04Networks and the Global Web
Investigating how computers communicate across local and global networks.
Students will explore the concepts of cloud services, deployment models, and their advantages/disadvantages.
Students will define cybersecurity and identify its core principles (confidentiality, integrity, availability).
Students will explore basic cryptographic concepts, including symmetric and asymmetric encryption.
Students will identify and describe various cyber threats such as malware, phishing, and denial-of-service attacks.
Students will learn about social engineering techniques and how attackers manipulate individuals to gain access.
Students will explore the concept of a digital footprint and strategies for managing online privacy.
Students will learn best practices for creating strong passwords and understanding multi-factor authentication.
Students will discuss ethical dilemmas in cybersecurity and relevant legal frameworks.
Students will define AI, machine learning, and explore their basic applications and capabilities.
Students will discuss ethical considerations in AI development, including bias, fairness, and accountability.
Students will analyze the impact of automation and robotics on various industries and job markets.
Students will investigate the causes and consequences of the digital divide globally and locally.

05Cybersecurity and Digital Safety
Learning to protect digital assets and maintain privacy in an interconnected world.
Students will explore concepts of intellectual property, copyright, and fair use in the digital age.
Students will examine the global implications of computing and the responsibilities of digital citizens.
Students will work with strings, including concatenation, slicing, and common string methods.
Students will learn to use dictionaries or maps to store and retrieve data using key-value pairs.
Students will write programs that read from and write to text files, enabling data persistence.
Students will be introduced to basic OOP concepts: objects, classes, attributes, and methods.
Students will create simple graphical user interfaces using a programming library.
Students will learn the basics of version control using Git for collaborative coding and tracking changes.
Students will explore the concept of web development frameworks and their role in building dynamic web applications.
Students will be introduced to the concepts of ethical hacking and penetration testing as defensive cybersecurity measures.

06Impacts of Computing
Analyzing how technology shapes culture, economy, and the environment.

07Advanced Programming Concepts
Building upon foundational skills with more complex data structures and programming paradigms.