Chapter 1: Programming Fundamentals
Computer Science Grade 9: Programming Fundamentals
Chapter 2: Object-Oriented Programming
Computer Science Grade 9: Object-Oriented Programming
Chapter 3: Algorithms and Complexity
Computer Science Grade 9: Algorithms and Complexity
-
1
Big O Notation
Big O Notation
20 min -
2
Time Complexity
Time Complexity
20 min -
3
Space Complexity
Space Complexity
20 min -
4
Recursive Algorithms
Recursive Algorithms
20 min -
5
Algorithm Optimization
Algorithm Optimization
20 min -
14835
Sorting Objects
Sorting Objects
20 min -
16539
Lesson 10: Algorithm Challenge: Solving a Problem Together
Work in groups to design and represent an algorithm (pseudocode and flowchart) t...
20 min
Chapter 4: Full Stack Development
Computer Science Grade 9: Full Stack Development
Chapter 5: Introduction to AI
Computer Science Grade 9: Introduction to AI
Chapter 6: Project Management
Computer Science Grade 9: Project Management
-
1
Agile Methodology
Agile Methodology
20 min -
2
Project Planning
Project Planning
20 min -
3
Team Collaboration
Team Collaboration
20 min -
4
Code Reviews
Code Reviews
20 min -
5
Sprint Retrospectives
Sprint Retrospectives
20 min -
6
Pattern Recognition: Spotting Shapes Everywhere
Students identify repeating shapes in their environment (e.g., squares in tiles,...
20 min -
7
Abstraction: Describing Animals Briefly
Students learn to describe animals using only key characteristics (e.g., a dog h...
20 min -
8
Algorithms: Making a Paper Airplane
Students follow and create an algorithm for making a paper airplane.
20 min -
9
Combining Concepts: Building a Tower
Students use decomposition, pattern recognition, and algorithms to plan and buil...
20 min -
10
Computational Thinking Review: Our Day at School
Students review all the computational thinking concepts learned by applying them...
20 min
Chapter 11: Introduction to Robotics: Building and Controlling Machines
This chapter introduces the basics of robotics through simple building activities and programming concepts, fostering creativity and problem-solving s...
-
1
What is a Robot? Machines That Help Us
Students learn the basic definition of a robot as a machine that can perform tas...
20 min -
2
Building a Simple Robot: Using LEGOs
Students build a simple robot model using LEGOs or other building materials.
20 min -
3
Robot Parts: Motors and Sensors
Introduction to basic robot parts like motors (for movement) and sensors (for de...
20 min -
4
Controlling a Robot: Giving Instructions
Students learn that robots need instructions to perform tasks.
20 min -
5
Programming a Robot: Using Simple Commands
Introduction to basic programming commands to control a robot's movement (e.g.,...
20 min -
6
Robot Challenges: Moving Objects
Students program their robot to move objects from one place to another.
20 min -
7
Robot Obstacles: Navigating a Maze
Students program their robot to navigate a simple maze.
20 min -
8
Adding Sensors: Detecting Colors
Introduction to using sensors to detect colors or objects.
20 min -
9
Advanced Challenges: Combining Movements and Sensors
Students combine movements and sensor input to solve more complex robot challeng...
20 min -
10
Robotics Review: Building the Future
Review of robotics concepts and their potential to shape the future.
20 min
Chapter 12: Digital Citizenship Basics
Computer Science Kindergarten: Digital Citizenship Basics
Chapter 13: III. Introduction to Version Control with Git
This chapter introduces the concept of version control and how to use Git for tracking changes to code and collaborating with others.
-
1
1. What is Version Control?
Define version control and explain its benefits for software development.
20 min -
2
2. Introduction to Git
Introduce Git as a popular version control system.
20 min -
3
3. Installing and Configuring Git
Guide students through the process of installing and configuring Git on their co...
20 min -
4
4. Basic Git Commands: init, add, commit
Learn the basic Git commands for initializing a repository, adding files, and co...
20 min -
5
5. Understanding Git Branches
Introduce the concept of branches in Git and their use for parallel development.
20 min -
6
6. Working with Remote Repositories: Cloning and Pushing
Learn how to clone a remote repository and push local changes to a remote reposi...
20 min -
7
7. Pulling Changes from a Remote Repository
Learn how to pull changes from a remote repository to update a local repository.
20 min -
8
8. Resolving Merge Conflicts
Introduce the concept of merge conflicts and how to resolve them.
20 min -
9
9. Git Best Practices
Discuss best practices for using Git effectively, such as writing clear commit m...
20 min -
10
10. Chapter Project: Collaborative Coding Project with Git
Work on a collaborative coding project using Git to practice branching, merging,...
20 min
Chapter 14: V. Cybersecurity Fundamentals
This chapter introduces basic cybersecurity concepts and practices to protect digital information and systems.
-
1
1. Introduction to Cybersecurity
Define cybersecurity and explain its importance in today's digital world.
20 min -
2
2. Common Cyber Threats: Malware, Phishing, and Social Engineering
Introduce common cyber threats such as malware, phishing, and social engineering...
20 min -
3
3. Passwords and Authentication
Learn about password security best practices, including creating strong password...
20 min -
4
4. Protecting Your Devices: Antivirus Software and Firewalls
Introduce antivirus software and firewalls and how they protect devices from mal...
20 min -
5
5. Safe Browsing Practices
Learn about safe browsing practices, such as avoiding suspicious websites and be...
20 min -
6
6. Social Media Security
Discuss security risks associated with social media and how to protect personal...
20 min -
7
7. Data Privacy and Encryption
Introduce the concept of data privacy and how encryption can be used to protect...
20 min -
8
8. Recognizing and Reporting Cyber Incidents
Learn how to recognize and report cyber incidents, such as phishing emails or su...
20 min -
9
9. Ethical Hacking and Penetration Testing (Introduction)
Briefly introduce the concepts of ethical hacking and penetration testing as met...
20 min -
10
10. Chapter Project: Cybersecurity Awareness Campaign
Create a cybersecurity awareness campaign for the school community, focusing on...
20 min
Chapter 15: VI. Game Development Basics with Pygame
This chapter introduces the fundamentals of game development using the Pygame library in Python.
-
1
1. Introduction to Game Development
Introduce the concept of game development and the different aspects involved.
20 min -
2
2. Introduction to Pygame
Introduce the Pygame library and its features for creating games in Python.
20 min -
3
3. Setting Up Pygame: Installation and Basic Structure
Guide students through the process of installing Pygame and creating a basic gam...
20 min -
4
4. Drawing Shapes and Colors
Learn how to draw basic shapes (rectangles, circles, lines) and use colors in Py...
20 min -
5
5. Working with Images and Sprites
Learn how to load and display images in Pygame and create sprites.
20 min -
6
6. Handling User Input: Keyboard and Mouse
Learn how to handle user input from the keyboard and mouse in Pygame.
20 min -
7
7. Game Loops and Frame Rate
Understand the concept of game loops and how to control the frame rate in Pygame...
20 min -
8
8. Collision Detection
Learn how to implement collision detection between sprites in Pygame.
20 min -
9
9. Adding Sound Effects and Music
Learn how to add sound effects and music to a Pygame game.
20 min -
10
10. Chapter Project: Creating a Simple Game
Create a simple game using Pygame (e.g., a simple platformer or a space invaders...
20 min
Chapter 16: Digital Art and Design
Computer Science Grade 2: Digital Art and Design
Chapter 17: Being a Digital Citizen
Computer Science Grade 2: Being a Digital Citizen
Chapter 18: Ethical Considerations in Technology: Navigating the Digital World
This chapter explores ethical considerations in technology, focusing on privacy, bias, and the responsible use of technology.
-
1
Introduction to Technology Ethics: Why is it Important?
Students will explore the importance of ethical considerations in the developmen...
20 min -
2
Digital Privacy: Protecting Personal Information Online
Students will learn about digital privacy and how to protect their personal info...
20 min -
3
Data Collection and Surveillance: Understanding the Impact
Students will explore the ethical implications of data collection and surveillan...
20 min -
4
Algorithmic Bias: Identifying and Mitigating Bias in AI Systems
Students will learn about algorithmic bias and how it can perpetuate discriminat...
20 min -
5
Intellectual Property: Copyright, Patents, and Fair Use
Students will learn about intellectual property rights, including copyright, pat...
20 min -
6
Cyberbullying and Online Harassment: Promoting Respectful Online Interactions
Students will discuss cyberbullying and online harassment and learn strategies f...
20 min -
7
Digital Divide: Addressing Inequalities in Access to Technology
Students will learn about the digital divide and its impact on access to educati...
20 min -
8
Social Media Ethics: Responsible Use of Social Platforms
Students will discuss the ethical considerations of using social media platforms...
20 min -
9
Environmental Impact of Technology: Reducing E-Waste and Energy Consumption
Students will learn about the environmental impact of technology and ways to red...
20 min -
10
Ethical Dilemmas in Technology: Case Studies and Discussions
Students will analyze ethical dilemmas in technology through case studies and di...
20 min
Chapter 19: Digital Media Creation
Computer Science Grade 4: Digital Media Creation
Chapter 20: V. Mobile App Development: Building Applications for Mobile Devices
This chapter introduces the fundamentals of mobile app development, covering topics such as mobile platforms, UI design, and basic app functionality.
-
1
1. Introduction to Mobile App Development: Platforms, Frameworks, and Tools
An overview of mobile app development, including different platforms (iOS, Andro...
20 min -
2
2. Mobile UI/UX Design: Principles and Best Practices
Learn about mobile UI/UX design principles and best practices for creating user-...
20 min -
5
5. Handling User Input: Text Fields, Buttons, and Touch Events
Learn how to handle user input in mobile apps, including text fields, buttons, a...
20 min -
6
6. Navigation: Implementing App Navigation with React Navigation
Learn how to implement app navigation using React Navigation, allowing users to...
20 min -
7
7. Data Storage: Local Storage and AsyncStorage
Explore different data storage options for mobile apps, including local storage...
20 min -
8
8. Networking: Making API Calls to Fetch Data
Learn how to make API calls to fetch data from external sources and display it i...
20 min -
9
9. Publishing Mobile Apps: Deploying to App Stores
Learn about the process of publishing mobile apps to app stores (iOS App Store a...
20 min -
10
10. Project: Building a Simple Mobile App
Apply the concepts learned in this chapter to build a simple mobile app from scr...
20 min
Chapter 21: Advanced Python Techniques: Beyond the Basics
This chapter delves deeper into Python's capabilities, focusing on functional programming, list comprehensions, generators, decorators, and exception...
-
1
Functional Programming Fundamentals: Lambda Expressions and Map
Introduce lambda expressions and the `map` function for concise and efficient co...
20 min -
2
Functional Programming: Filter and Reduce
Explore `filter` and `reduce` for data manipulation using functional programming...
20 min -
3
List Comprehensions: Creating Lists with Elegance
Master list comprehensions for creating new lists based on existing iterables.
20 min -
4
Set and Dictionary Comprehensions: Expanding Comprehension Power
Learn to use set and dictionary comprehensions for creating sets and dictionarie...
20 min -
5
Generators: Memory-Efficient Iteration
Understand generators and the `yield` keyword for creating iterators that save m...
20 min -
6
Generator Expressions: Concise Generator Creation
Create generators using generator expressions for even more concise code.
20 min -
7
Decorators: Enhancing Functions with Style
Introduce decorators for adding functionality to functions without modifying the...
20 min -
8
Decorators with Arguments: Customizing Decorator Behavior
Learn to create decorators that accept arguments for customized behavior.
20 min -
9
Exception Handling: Graceful Error Management
Explore `try`, `except`, `finally` blocks for handling exceptions and preventing...
20 min -
10
Custom Exceptions: Creating Your Own Error Types
Learn to define custom exception classes for specific error scenarios in your pr...
20 min
Chapter 22: Object-Oriented Programming: Designing with Classes and Objects
This chapter introduces the core concepts of object-oriented programming (OOP) in Python, including classes, objects, inheritance, polymorphism, and e...
-
1
Introduction to Classes and Objects: Defining Blueprints
Understand the basic concepts of classes and objects, and how to create them.
20 min -
2
Attributes and Methods: Defining Object Behavior
Learn how to define attributes (data) and methods (functions) within a class.
20 min -
3
The `__init__` Method: Initializing Objects
Understand the purpose and use of the `__init__` method for object initializatio...
20 min -
4
Inheritance: Building Upon Existing Classes
Learn about inheritance and how to create subclasses that inherit from parent cl...
20 min -
5
Method Overriding: Customizing Inherited Behavior
Understand how to override methods in subclasses to provide specialized behavior...
20 min -
6
Polymorphism: Working with Objects of Different Types
Explore polymorphism and how it allows you to treat objects of different classes...
20 min -
7
Encapsulation: Hiding Data and Implementation Details
Learn about encapsulation and how to protect data within a class using private a...
20 min -
8
Getters and Setters: Controlling Access to Attributes
Understand how to use getters and setters to control access to and modification...
20 min -
9
Class Methods and Static Methods: Methods Related to the Class
Learn the difference between class methods and static methods and how to use the...
20 min -
10
Object-Oriented Design Principles: SOLID
Introduction to the SOLID principles of object-oriented design (Single Responsib...
20 min
Chapter 23: Cybersecurity Essentials: Protecting Your Digital World
This chapter introduces essential cybersecurity concepts and practices, including password security, phishing awareness, malware prevention, and safe...
-
1
Introduction to Cybersecurity: Threats and Vulnerabilities
Introduce the concept of cybersecurity and the various threats and vulnerabiliti...
20 min -
2
Password Security: Creating Strong and Unique Passwords
Learn how to create strong and unique passwords and the importance of password m...
20 min -
3
Phishing Awareness: Identifying and Avoiding Phishing Scams
Learn how to identify and avoid phishing scams through email, social media, and...
20 min -
4
Malware Prevention: Protecting Your Devices from Viruses and Spyware
Learn about different types of malware and how to protect your devices from infe...
20 min -
5
Safe Browsing Practices: Protecting Your Privacy Online
Learn about safe browsing practices and how to protect your privacy online.
20 min -
6
Social Engineering: Understanding Psychological Manipulation
Learn about social engineering techniques and how to avoid being manipulated.
20 min -
7
Network Security Basics: Understanding Firewalls and Wi-Fi Security
Introduce basic network security concepts, including firewalls and Wi-Fi securit...
20 min -
8
Data Encryption: Protecting Sensitive Information
Learn about data encryption and how it protects sensitive information.
20 min -
9
Cybersecurity Tools and Resources: Exploring Useful Tools
Introduce various cybersecurity tools and resources that can help protect your d...
20 min -
10
Ethics in Cybersecurity: Responsible Use of Technology
Discuss the ethical considerations in cybersecurity and the importance of respon...
20 min
Chapter 24: Digital Defenders: Privacy and Security Basics
This chapter introduces students to the importance of online privacy and security. They will learn about protecting personal information, creating str...
-
1
What is Privacy? Protecting Your Personal Information
Understand the concept of privacy and why it is important to protect personal in...
20 min -
2
Personal Information: What Should You Keep Private?
Identify different types of personal information and which should be kept privat...
20 min -
3
Creating Strong Passwords: Keeping Your Accounts Safe
Learn how to create strong and memorable passwords to protect online accounts.
20 min -
4
Sharing Information Online: Think Before You Post
Understand the potential consequences of sharing personal information online.
20 min -
5
Phishing Scams: Recognizing and Avoiding Fake Emails
Learn how to identify phishing scams and avoid clicking on suspicious links.
20 min -
6
Online Safety Tips: Staying Safe While Browsing the Web
Learn general online safety tips for browsing the web and using social media.
20 min -
7
Cyberbullying: What It Is and How to Respond
Understand cyberbullying and learn how to respond if you or someone you know is...
20 min -
8
Privacy Settings: Controlling Your Online Presence
Learn how to adjust privacy settings on social media and other online platforms.
20 min -
9
Protecting Your Devices: Keeping Your Computer and Phone Secure
Learn how to protect devices from malware and viruses.
20 min -
10
Digital Footprint: Understanding Your Online Reputation
Understand the concept of a digital footprint and how to manage your online repu...
20 min
Chapter 25: Advanced Topics
Advanced CS topics moved from lower grades
-
14900
Creating Variables
Creating Variables
20 min -
14948
Hash Tables Basics
Hash Tables Basics
20 min -
14953
AJAX Basics
AJAX Basics
20 min -
14973
Inheritance Basics
Inheritance Basics
20 min -
14976
CSS3 Styling
CSS3 Styling
20 min -
15008
Improving Your Work
Improving Your Work
20 min -
15030
What is a Computer?
What is a Computer?
20 min -
15040
Recognizing Patterns
Recognizing Patterns
20 min -
15041
Creating Simple Patterns
Creating Simple Patterns
20 min -
15042
Pattern Games
Pattern Games
20 min -
15043
Patterns in Computers
Patterns in Computers
20 min -
15064
Getting User Input
Getting User Input
20 min -
15067
Basic Math Operations
Basic Math Operations
20 min -
15080
Breaking Down Complex Problems
Breaking Down Complex Problems
20 min -
15081
Creating Subtasks
Creating Subtasks
20 min -
15084
Integration Testing
Integration Testing
20 min -
15094
Project Organization
Project Organization
20 min -
15097
Mouse Interactions
Mouse Interactions
20 min -
15098
Touch Events
Touch Events
20 min -
15138
Interpreting Results
Interpreting Results
20 min -
15141
Password Security
Password Security
20 min -
15143
Two-Factor Authentication
Two-Factor Authentication
20 min -
15144
Safe Browsing Practices
Safe Browsing Practices
20 min -
15145
Abstraction
Abstraction
20 min -
15146
Pattern Recognition
Pattern Recognition
20 min -
16227
Creating Our Own If-Then Statements
Design original 'if-then' statements based on everyday situations.
20 min -
16369
Spreadsheet Review: Recap and Challenge
Students will review the concepts learned in the chapter and complete a challeng...
20 min -
16455
Big O Notation: A Simple Introduction (using analogies)
Introduce the concept of Big O notation using analogies (e.g., O(n) - walking a...
20 min -
16540
Lesson 1: Introduction to Computational Thinking: A New Way to Solve Problems
Define computational thinking and explain its importance in computer science and...
20 min -
16542
Lesson 3: Decomposition Practice: Dividing and Conquering
Practice decomposing complex tasks like planning a birthday party or writing a s...
20 min -
16545
Lesson 6: Abstraction: Focusing on What's Important
Introduce abstraction as the process of focusing on essential details and ignori...
20 min -
16546
Lesson 7: Abstraction Practice: Simplifying Complex Systems
Practice abstraction by identifying the key features of objects or systems, like...
20 min -
16548
Lesson 9: Computational Thinking in Action: Solving Real-World Problems
Apply the four pillars of computational thinking to solve practical problems lik...
20 min -
16643
The Domain Name System (DNS): Translating Domain Names to IP Addresses
Students will learn about the Domain Name System (DNS) and how it works.
20 min -
16650
1. Introduction to Computational Thinking
Define computational thinking and its four key components: decomposition, patter...
20 min -
16651
2. Decomposition: Breaking Down Problems
Learn how to break down a large problem into smaller, more manageable sub-proble...
20 min -
16652
3. Pattern Recognition: Identifying Similarities
Practice identifying patterns and similarities in problems to apply existing sol...
20 min -
16653
4. Abstraction: Focusing on the Essentials
Understand the concept of abstraction and how to focus on relevant details while...
20 min -
16658
9. Computational Thinking in Everyday Life
Explore examples of how computational thinking is used in everyday situations ou...
20 min