Please enable JavaScript to use CodeHS

Standards Framework

for Virginia Computer Science Programming NCTE 2025

64

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.