Skip to content
Browse by Grade: 12th Grade

United States · Common Core State Standards

12th Grade Computer Science

This course prepares students for university level computer science through rigorous software development and system analysis. Students explore complex data structures, network architecture, and the ethical implications of emerging technologies like artificial intelligence.

5 units·66 topics·Ages 17-18

01Complex Algorithms and Optimization

13 topics·Weeks 1-9

Students analyze the efficiency of various algorithms and implement advanced sorting and searching techniques. Focus is placed on Big O notation and the trade-offs between time and space complexity.

Algorithmic Efficiency and Big O Notation

Students learn to mathematically evaluate the performance of code as input size grows, comparing linear, logarithmic, and quadratic growth patterns.

Problem-Based LearningThink-Pair-Share
Analyzing Time and Space Complexity

Students delve into the specifics of calculating time and space complexity for various operations, understanding the trade-offs involved.

Case Study AnalysisCollaborative Problem-Solving
Recursive Problem Solving Fundamentals

Students master the concept of self-referential functions to solve problems, identifying base cases and recursive steps.

Collaborative Problem-SolvingConcept Mapping
Advanced Recursion: Backtracking and Memoization

Students explore advanced recursive techniques like backtracking for combinatorial problems and memoization for optimizing recursive calls.

Problem-Based LearningPeer Teaching
Basic Searching Algorithms: Linear and Binary Search

Students implement and compare linear and binary search algorithms, understanding their applicability based on data organization.

Think-Pair-ShareStations Rotation
Elementary Sorting Algorithms: Bubble, Selection, Insertion

Students implement and analyze the performance of basic sorting algorithms, focusing on their step-by-step execution and efficiency.

Collaborative Problem-SolvingSimulation Game
Advanced Sorting: QuickSort and MergeSort

Students implement sophisticated algorithms such as QuickSort and MergeSort, evaluating their stability and in-place sorting requirements.

JigsawInquiry Circle
Heap Sort and Priority Queues

Students learn about heap data structures and implement Heap Sort, understanding its application in priority queues.

Problem-Based LearningConcept Mapping
Graph Traversal Algorithms: BFS and DFS

Students explore Breadth-First Search (BFS) and Depth-First Search (DFS) algorithms for traversing graphs, understanding their applications.

Simulation GameCollaborative Problem-Solving
Pathfinding in Grids: Introduction to A*

Students explore pathfinding in grid-based environments, conceptually understanding how algorithms like A* find optimal paths by balancing cost and heuristic estimates.

Simulation GameProblem-Based Learning
Network Optimization: Connecting Points Efficiently

Students explore the concept of connecting a set of points with the minimum total cost, understanding the real-world applications in network design and infrastructure.

Case Study AnalysisCollaborative Problem-Solving
Optimization with Memoization and Caching

Students learn how storing results of expensive function calls (memoization/caching) can significantly improve the performance of algorithms by avoiding redundant computations.

Problem-Based LearningConcept Mapping
Greedy Algorithms and Their Limitations

Students explore greedy algorithms, understanding when they provide optimal solutions and when they fall short.

Case Study AnalysisSocratic Seminar

02Object-Oriented Design and Data Structures

13 topics·Weeks 10-18

Exploration of abstract data types and the principles of object-oriented programming. Students build custom data structures like linked lists, stacks, and queues.

OOP Principles: Encapsulation and Abstraction

Students explore the core OOP principles of encapsulation and abstraction, understanding how they promote modularity and data hiding.

Project-Based LearningCase Study Analysis
Inheritance and Polymorphism in Depth

Students design class hierarchies that promote code reuse and flexibility, implementing interfaces and abstract classes.

Project-Based LearningCase Study Analysis
Introduction to Generic Programming

Students learn to write generic classes and methods that can operate on different data types, enhancing code reusability.

Peer TeachingCollaborative Problem-Solving
Implementing Linked Lists (Singly and Doubly)

Students build and manipulate singly and doubly linked lists from scratch, understanding dynamic memory allocation.

Peer TeachingCollaborative Problem-Solving
Stacks: LIFO Data Structure

Students implement stack data structures and explore their applications in function call management and expression evaluation.

Problem-Based LearningSimulation Game
Queues: FIFO Data Structure

Students implement queue data structures and understand their use in task scheduling and breadth-first traversals.

Collaborative Problem-SolvingConcept Mapping
Binary Trees and Tree Traversals

Students are introduced to binary trees and implement various traversal methods (in-order, pre-order, post-order).

Concept MappingStations Rotation
Binary Search Trees (BSTs)

Students implement Binary Search Trees, understanding how they enable rapid data retrieval and ordered storage.

Problem-Based LearningPeer Teaching
Balanced Trees: AVL and Red-Black Trees (Conceptual)

Students conceptually explore self-balancing binary search trees like AVL and Red-Black trees, understanding their importance for performance.

Socratic SeminarConcept Mapping
Hash Maps and Collision Resolution

Students are introduced to hash maps, exploring how these structures enable rapid data retrieval and various collision resolution strategies.

Concept MappingStations Rotation
Graphs: Representation and Basic Properties

Students learn different ways to represent graphs (adjacency matrix, adjacency list) and understand basic graph properties.

Collaborative Problem-SolvingThink-Pair-Share
Modular Design and API Thinking

Students learn to design software components with clear responsibilities and well-defined interfaces (APIs) to promote reusability and maintainability.

Case Study AnalysisProject-Based Learning
Refactoring and Code Quality

Students learn techniques for improving existing code's design without changing its external behavior, focusing on readability and maintainability.

Collaborative Problem-SolvingPeer Teaching

03Data Science and Intelligent Systems

13 topics·Weeks 19-27

Students use computational tools to process large datasets and explore the fundamentals of machine learning. The unit covers data cleaning, visualization, and pattern recognition.

Introduction to Data Science Workflow

Students learn the end-to-end process of data science, from data acquisition and cleaning to analysis and communication of results.

Project-Based LearningCase Study Analysis
Big Data Concepts and Pattern Recognition

Students analyze massive datasets to find hidden trends, using statistical libraries to process and visualize complex information sets.

Case Study AnalysisProblem-Based Learning
Data Visualization and Interpretation

Students learn to create effective data visualizations to communicate insights and identify patterns in complex datasets.

Museum ExhibitGallery Walk
Fundamentals of Machine Learning: Supervised Learning

Students are introduced to supervised learning, exploring concepts like regression and classification and how models learn from labeled data.

Simulation GameExpert Panel
Fundamentals of Machine Learning: Unsupervised Learning

Students explore unsupervised learning techniques like clustering and dimensionality reduction to find hidden structures in unlabeled data.

Problem-Based LearningConcept Mapping
Neural Networks and Deep Learning (Conceptual)

Students conceptually explore how neural networks are structured, how they learn from experience, and the basics of deep learning.

Simulation GameExpert Panel
Evaluating Machine Learning Models

Students learn various metrics and techniques for evaluating the performance and robustness of machine learning models.

Case Study AnalysisDecision Matrix
Ethical AI and Algorithmic Bias

Students examine the ethical implications of AI, focusing on algorithmic bias, fairness, and accountability in intelligent systems.

Socratic SeminarPhilosophical Chairs
Data Privacy and Anonymization Techniques

Students examine methods used to protect sensitive information in large databases, studying data anonymization techniques.

Decision MatrixCase Study Analysis
Introduction to Cybersecurity Principles

Students learn fundamental cybersecurity concepts, including confidentiality, integrity, and availability (CIA triad).

Think-Pair-ShareCase Study Analysis
Encryption Standards and Hashing

Students study encryption standards and hashing algorithms, understanding their role in data security and integrity.

Collaborative Problem-SolvingProblem-Based Learning
Cyberattack Scenarios and Prevention

Students explore common types of cyberattacks (e.g., phishing, malware, DDoS) and learn practical strategies for prevention and basic mitigation.

Simulation GameCase Study Analysis
Digital Citizenship and Online Ethics

Students examine the ethical responsibilities and appropriate behavior for individuals in digital environments, including respecting privacy and intellectual property.

Socratic SeminarPhilosophical Chairs

04Network Architecture and Cryptography

13 topics·Weeks 28-36

A deep dive into how the internet functions at a hardware and protocol level. Students explore cybersecurity threats and the mathematical foundations of encryption.

Network Fundamentals: OSI and TCP/IP Models

Students learn about the layered architecture of networks using the OSI and TCP/IP models, understanding how data flows.

Concept MappingSimulation Game
Internet Protocols: TCP/IP, DNS, HTTP

Students study TCP/IP, DNS, and HTTP in detail, simulating how packets move across a distributed network.

Role PlaySimulation Game
Routing and Switching

Students explore how routers and switches direct network traffic, understanding concepts like IP addressing and subnetting.

Simulation GameCollaborative Problem-Solving
Wireless Networks and Mobile Computing

Students investigate the principles of wireless communication, Wi-Fi security, and the challenges of mobile computing.

Case Study AnalysisFormal Debate
Common Cybersecurity Threats and Attack Vectors

Students analyze common attack vectors like SQL injection, man-in-the-middle, and social engineering.

Escape RoomProblem-Based Learning
Defensive Strategies and Security Best Practices

Students design defensive strategies for software applications and learn about security best practices for users and organizations.

Problem-Based LearningDecision Matrix
Public Key Cryptography and RSA

Students understand the mathematics behind RSA and explore how asymmetric encryption allows for secure communication.

Collaborative Problem-SolvingSocratic Seminar
Digital Signatures and Certificates

Students learn how digital signatures verify identity and integrity in a virtual space, and the role of digital certificates.

Case Study AnalysisExpert Panel
Blockchain and Distributed Ledger Technologies

Students are introduced to the concepts of blockchain, understanding its underlying cryptographic principles and applications.

Concept MappingSocratic Seminar
Cloud Computing Security

Students explore the security challenges and solutions associated with cloud computing environments.

Case Study AnalysisDecision Matrix
Operating System Security

Students learn about security features and vulnerabilities within operating systems, including user authentication and access control.

Problem-Based LearningSimulation Game
Software Security and Secure Coding Practices

Students explore principles of secure software development, identifying and mitigating common coding vulnerabilities.

Collaborative Problem-SolvingCase Study Analysis
Emerging Threats and Future of Cybersecurity

Students research and discuss emerging cybersecurity threats, such as quantum computing attacks and AI-powered malware.

World CaféExpert Panel

05Social Impacts and Professional Ethics

14 topics·Weeks 37-45

This unit examines the profound effect of computing on global culture, economy, and equity. Students debate the responsibilities of technologists in a digital society.

The Digital Divide and Global Equity

Students investigate how unequal access to technology creates social and economic disparities globally.

Gallery WalkJigsaw
Accessibility and Universal Design

Students evaluate software for universal design and accessibility standards, understanding the importance of inclusive technology.

Case Study AnalysisProject-Based Learning
Automation, AI, and the Future of Work

Students analyze how robotics and AI are transforming the labor market, researching industries susceptible to automation.

Formal DebateCase Study Analysis
Intellectual Property, Copyright, and Patents

Students explore the legal frameworks of software licensing, including copyright, patents, and trade secrets.

Decision MatrixFishbowl Discussion
Open Source Software and Creative Commons

Students compare proprietary models with open-source movements and creative commons, understanding their impact on software development.

Socratic SeminarPhilosophical Chairs
Privacy, Surveillance, and Digital Rights

Students examine the balance between individual privacy, government surveillance, and corporate data collection in the digital age.

Formal DebateTown Hall Meeting
Ethical Frameworks for Technologists

Students explore various ethical frameworks (e.g., utilitarianism, deontology) and apply them to real-world technology dilemmas.

Case Study AnalysisDecision Matrix
Impact of Social Media and Digital Citizenship

Students analyze the societal impact of social media, focusing on issues like misinformation, online harassment, and digital citizenship.

Philosophical ChairsWorld Café
Environmental Impact of Computing

Students investigate the environmental footprint of computing, from energy consumption of data centers to electronic waste.

Inquiry CircleGraffiti Wall
Software Engineering Capstone: Project Planning

Students initiate their capstone project, focusing on requirements gathering, project scope, and initial design.

Project-Based LearningLearning Contracts
Agile Development and Version Control

Students implement scrum and sprint methodologies to manage a project, learning to use version control systems like Git.

Project-Based LearningCollaborative Problem-Solving
User Experience (UX) and Interface (UI) Design

Students apply design thinking principles to create intuitive user interfaces, conducting usability testing.

Museum ExhibitPeer Teaching
Quality Assurance and Testing Strategies

Students write comprehensive test plans and perform unit and integration testing to ensure software reliability.

Expert PanelCase Study Analysis
Technical Documentation and Deployment

Students create technical documentation for their software and explore deployment strategies.

Peer TeachingProject-Based Learning