AP Computer Science Principles

K12 CS Framework Aligned

CodeHS

CodeHS is a comprehensive teaching platform for helping schools teach computer science including K-12 curriculum, IDE, coding LMS, and more!

AP Computer Science Principles introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. This course is endorsed by the College Board and has been updated for the 2020 framework. With a unique focus on creative problem solving and real-world applications, AP Computer Science Principles prepares students for college and career. By the end of this course, students will learn basic programming skills as well as fundamental concepts about how computers and the Internet work.

K12 CS Framework Components

Grade Band:
9-12
Concept:
Computing Systems
Sub-Concept:
Devices
Statements:
Computing devices are often integrated with other systems, including biological, mechanical, and social systems. These devices can share data with one another. The usability, dependability, security, and accessibility of these devices, and the systems they are integrated with, are important considerations in their design as they evolve.
Grade Band:
9-12
Concept:
Networks and Internet
Sub-Concept:
Network Communications
Statements:
Network topology is determined, in part, by how many devices can be supported. Each device is assigned an address that uniquely identifies it on the network. The scalability and reliability of the Internet are enabled by the hierarchy and redundancy in networks.
Grade Band:
9-12
Concept:
Networks and Internet
Sub-Concept:
Cybersecurity
Statements:
Network security depends on a combination of hardware, software, and practices that control access to data and systems. The needs of users and the sensitivity of data determine the level of security implemented.
Grade Band:
9-12
Concept:
Data and Analysis
Sub-Concept:
Collection
Statements:
Data is constantly collected or generated through automated processes that are not always evident, raising privacy concerns. The different collection methods and tools that are used influence the amount and quality of the data that is observed and recorded.
Grade Band:
9-12
Concept:
Data and Analysis
Sub-Concept:
Storage
Statements:
Data can be composed of multiple data elements that relate to one another. For example, population data may contain information about age, gender, and height. People make choices about how data elements are organized and where data is stored. These choices affect cost, speed, reliability, accessibility, privacy, and integrity.
Grade Band:
9-12
Concept:
Data and Analysis
Sub-Concept:
Visualization and Transformation
Statements:
People transform, generalize, simplify, and present large data sets in different ways to influence how other people interpret and understand the underlying information. Examples include visualization, aggregation, rearrangement, and application of mathematical operations.
Grade Band:
9-12
Concept:
Data and Analysis
Sub-Concept:
Inference and Models
Statements:
The accuracy of predictions or inferences depends upon the limitations of the computer model and the data the model is built upon. The amount, quality, and diversity of data and the features chosen can affect the quality of a model and ability to understand a system. Predictions or inferences are tested to validate models.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Algorithms
Statements:
People evaluate and select algorithms based on performance, reusability, and ease of implementation. Knowledge of common algorithms improves how people develop software, secure data, and store information.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Variables
Statements:
Data structures are used to manage program complexity. Programmers choose data structures based on functionality, storage, and performance tradeoffs.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Control
Statements:
Programmers consider tradeoffs related to implementation, readability, and program performance when selecting and combining control structures.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Modularity
Statements:
Complex programs are designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. These modules can be procedures within a program; combinations of data and procedures; or independent, but interrelated, programs. Modules allow for better management of complex tasks.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Program Development
Statements:
Diverse teams can develop programs with a broad impact through careful review and by drawing on the strengths of members in different roles. Design decisions often involve tradeoffs. The development of complex programs is aided by resources such as libraries and tools to edit and manage parts of the program. Systematic analysis is critical for identifying the effects of lingering bugs.
Grade Band:
9-12
Concept:
Impacts of Computing
Sub-Concept:
Culture
Statements:
The design and use of computing technologies and artifacts can improve, worsen, or maintain inequitable access to information and opportunities.
Grade Band:
9-12
Concept:
Impacts of Computing
Sub-Concept:
Social Interactions
Statements:
Many aspects of society, especially careers, have been affected by the degree of communication afforded by computing. The increased connectivity between people in different cultures and in different career fields has changed the nature and content of many careers.
Grade Band:
9-12
Concept:
Impacts of Computing
Sub-Concept:
Safety, Law, and Ethics
Statements:
Laws govern many aspects of computing, such as privacy, data, property, information, and identity. These laws can have beneficial and harmful effects, such as expediting or delaying advancements in computing and protecting or infringing upon people’s rights. International differences in laws and ethics have implications for computing.
Curriculum Directory Sponsored by BNY Mellon