• Computing Systems (CS)
    • Hardware & Software (HS)
      • Identify and categorize the roles of a variety of operating system software.

    • Troubleshooting (T)
      • Illustrate how understanding the ways hardware components facilitate logic, input, output, and storage in computing systems will support troubleshooting.

  • Networks & The Internet (NI)
    • Network Communication & Organization (NCO)
      • Describe the issues that impact network functionality (e.g., bandwidth, load, latency, topology).

    • Cybersecurity (CY)
      • Compare and refine ways in which software developers protect devices and information from unauthorized access.

  • Data Analysis (DA)
    • Collection, Visualization, & Transformation (CVT)
      • Use data analysis tools and techniques to identify patterns from complex real-world data.

      • Generate data sets that use a variety of data collection tools and analysis techniques to support a claim and/or communicate information.

    • Inference & Models (IM)
      • Use models and simulations to help plan, conduct, and refine investigations.

  • Algorithms & Programming (AP)
    • Algorithms (A)
      • Model and use appropriate terminology to describe how artificial intelligence algorithms drive many software and physical systems (e.g., autonomous robots, pattern recognition, text analysis).

      • Develop an artificial intelligence algorithm to play a game against a human opponent or solve a real-world problem.

      • Critically examine and trace classic algorithms (e.g., selection sort, insertion sort, binary search, linear search).

      • Evaluate algorithms (e.g., sorting, searching) in terms of their efficiency and clarity.

    • Variables (V)
      • Compare and contrast data structures and their uses (e.g., lists, stacks, queues).

    • Control (C)
      • Model the execution of repetition (e.g., loops, recursion) of an algorithm illustrating output and changes in values of named variables.

    • Modularity (M)
      • Construct solutions to problems using student-created components (e.g., procedures, modules, objects).

      • Design or redesign a solution to a large-scale computational problem by identifying generalizable patterns.

      • Create programming solutions by reusing existing code (e.g., libraries, Application Programming Interface (APIs), code repositories).

    • Program Development (PD)
      • Create software that will provide solutions to a variety of users using multiple software development processes.

      • Design software in a project team environment using integrated development environments (IDEs), versioning systems, and collaboration systems.

      • Develop programs for multiple computing platforms.

      • Systematically examine code for correctness, usability, readability, efficiency, portability, and scalability through peer review.

      • Develop and use a series of test cases to verify that a program performs according to its design specifications.

      • Explain security issues that might lead to compromised computer programs.

      • Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality).

  • Impacts of Computing (IC)
    • Culture (CU)
      • Evaluate the beneficial and harmful effects that computational artifacts and innovations have on society.

      • Evaluate the impact of location and user audience on the distribution of computing resources in a global society.

      • Design and implement a study that evaluates or predicts how creating, testing, and refining computational artifacts has revolutionized an aspect of our culture and how it might evolve (e.g., education, healthcare, art/entertainment, energy).

    • Internet Safety, Law, & Ethics (SLE)
      • Debate laws and regulations that impact the development and use of software.