Standards in this Framework
| Standard | Description | 
|---|---|
| PRG.AP.1a | Identify and categorize real-world problems as classification, prediction, sequential decision, logical deduction, or statistical inference problem. | 
| PRG.AP.1b | Analyze a large-scale computational problem, identify generalizable patterns, and implement a computing-based solution. | 
| PRG.AP.1c | Decompose large-scale computational problems into subtasks and component processes and inter-relationships. | 
| PRG.AP.1d | Implement and evaluate abstractions based on their modularity, reusability, and readability. | 
| PRG.AP.2a | Read and interpret algorithms expressed using plain language and pseudocode. Read and write programs that include compound conditional execution. | 
| PRG.AP.2b | Read and write programs that accept input from a variety of sources and produce output based on that input. | 
| PRG.AP.2c | Read and write programs that include pre-defined and self-defined procedures. | 
| PRG.AP.2d | Read and write programs that include functions with/without parameters, and functions with/without return values. | 
| PRG.AP.2e | Read and write programs that consist of modular division, random number generation, substring manipulation, and processing of individual characters. | 
| PRG.AP.2f | Integrate external code with Application Programming Interface (APIs) and library calls. | 
| PRG.AP.3a | Trace the execution of iterative and recursive algorithms, illustrating output and changes in values of named variables. | 
| PRG.AP.3b | Develop and systematically use a series of test cases to verify that a program performs according to its design specifications, including edge cases and all branches. | 
| PRG.AP.3c | Use code review to evaluate the correctness, readability, and usability of a program. | 
| PRG.AP.3d | Use debugging tools and user feedback to refine programs. | 
| PRG.AP.3e | Modify existing program to improve functionality. | 
| PRG.AP.4a | Use linear data structures: arrays, lists, and non-linear data structures. | 
| PRG.AP.4b | Evaluate and convert data structures when appropriate. | 
| PRG.AP.4c | Read and write programs that store, process, and manipulate 1D and 2D collections. | 
| PRG.AP.4d | Identify how and when to use search and sort algorithms. | 
| PRG.AP.4e | Read and write programs that include search and sort algorithms. | 
| PRG.AP.5a | Define the role of inheritance, polymorphism, and encapsulation in object-oriented programming languages. | 
| PRG.AP.5b | Use classes with instance data and methods to satisfy a design specification. | 
| PRG.AP.5c | Organize programs methodically using comments and other organizational structures so that others can understand, interpret, and modify the program. | 
| PRG.AP.6a | Explain the software life cycle and how it applies to the iterative design process. | 
| PRG.AP.6b | Justify and communicate decisions and design elements. | 
| PRG.AP.7a | Use Big O notation to compare the benefits and drawbacks of using different algorithms for a particular process. | 
| PRG.CSY.1a | Create programs that utilize persistent storage for program input and output. | 
| PRG.CSY.1b | Define the role of cache memory. | 
| PRG.CSY.1c | Analyze the impact of different types of memory on program processing speed. | 
| PRG.CSY.1d | Conduct a cost-benefit analysis for different types of memory. | 
| PRG.CSY.1e | Redesign a program to improve efficiency and performance. | 
| PRG.CYB.1a | Create programs that safeguard against user error. | 
| PRG.CYB.1b | Create programs that implement encryption algorithms. | 
| PRG.CYB.1c | Describe how software programs can meet basic requirements for security based on best practices. | 
| PRG.CYB.1d | Describe the impact of software vulnerabilities. | 
| PRG.CYB.1e | Evaluate methods developers use to protect unauthorized access to programs. | 
| PRG.CYB.2a | Understand the role of input validation in programming. | 
| PRG.CYB.2b | Develop code that validates input based on defined specifications. | 
| PRG.CYB.2c | Explain common vulnerabilities in program function and their impact. | 
| PRG.CYB.2d | Understand the impact of vulnerabilities on program function and security. | 
| PRG.DA.1a | Identify and compare data organization methods: variables, arrays, lists, trees, and schemas. | 
| PRG.DA.1b | Assess and compare data storage options such as databases, file systems, local storage, and cloud storage, for scalability, reliability, privacy, and cost. | 
| PRG.DA.1c | Evaluate the impact of data organization and storage choices on program performance, efficiency, and resource utilization. | 
| PRG.DA.2a | Research and describe real-world reasoning problems that a reasoning algorithm can be used to sort data. | 
| PRG.DA.2b | Read data summaries and visualizations and explain/translate into non-technical terms for various audience groups. | 
| PRG.DA.2c | Collect, use, and manipulate data from a variety of types and structures. | 
| PRG.DA.2d | Utilize data analysis to create programmatic solutions and draw conclusions based on the results. | 
| PRG.DA.3a | Use the data cycle in the collection and processing of data as part of the development of a program. | 
| PRG.DA.3b | Describe how the data collection process should be focused, relevant, and limited to the scope of the project. | 
| PRG.DA.3c | Analyze data to identify outliers or missing variables that could result in data biases. | 
| PRG.DA.3d | Describe privacy considerations in the collection of data. | 
| PRG.DA.4a | Identify libraries and other resources that enable the visualization of data inputs. | 
| PRG.DA.4b | Compare and contrast the methods of creating data visualizations, including programming languages and application software. | 
| PRG.DA.4c | Develop a data visualization using a programming language’s data processing function. | 
| PRG.DA.4d | Create visualizations for descriptive and inferential statistical analysis based on the context and intended audience. | 
| PRG.DA.4e | Apply mathematical operations and algorithms to manipulate and extract insights from data sets. | 
| PRG.DA.4f | Justify the design, use, and effectiveness of different forms of data visualizations. | 
| PRG.IC.1a | Use a design document to explain the reasoning for the design decisions made when developing an application. | 
| PRG.IC.1b | Research the effects of technical design decisions on overall program function. | 
| PRG.IC.1c | Examine and explain the impacts of unintended consequences related to program design. | 
| PRG.IC.2a | Use statistical data to analyze the relationship between excessive screen time and attention span. | 
| PRG.IC.2b | Analyze screen time usage data and propose recommendations to promote healthy habits. | 
| PRG.IC.2c | Examine and discuss the impact of screen time and social media on academic or workplace performance. | 
| PRG.IC.3a | Engage in work-based learning experiences involving computer science. |