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. |