Please enable JavaScript to use CodeHS

Standards Mapping

for Virginia Computer Science Programming NCTE 2025

64

Standards in this Framework

35

Standards Mapped

54%

Mapped to Course

Standard Lessons
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.
  1. 5.6 Writing Methods
PRG.AP.1c
Decompose large-scale computational problems into subtasks and component processes and inter-relationships.
  1. 5.6 Writing Methods
PRG.AP.1d
Implement and evaluate abstractions based on their modularity, reusability, and readability.
  1. 5.6 Writing Methods
PRG.AP.2a
Read and interpret algorithms expressed using plain language and pseudocode. Read and write programs that include compound conditional execution.
  1. 3.5 Compound Boolean Expressions
PRG.AP.2b
Read and write programs that accept input from a variety of sources and produce output based on that input.
  1. 1.5 User Input
PRG.AP.2c
Read and write programs that include pre-defined and self-defined procedures.
  1. 5.6 Writing Methods
PRG.AP.2d
Read and write programs that include functions with/without parameters, and functions with/without return values.
  1. 2.10 Using the Math Class
PRG.AP.2e
Read and write programs that consist of modular division, random number generation, substring manipulation, and processing of individual characters.
  1. 2.10 Using the Math Class
PRG.AP.2f
Integrate external code with Application Programming Interface (APIs) and library calls.
  1. 2.10 Using the Math Class
PRG.AP.3a
Trace the execution of iterative and recursive algorithms, illustrating output and changes in values of named variables.
  1. 10.1 Recursion
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.
  1. 4.5 Informal Code Analysis
PRG.AP.3c
Use code review to evaluate the correctness, readability, and usability of a program.
  1. 4.5 Informal Code Analysis
PRG.AP.3d
Use debugging tools and user feedback to refine programs.
  1. 4.5 Informal Code Analysis
PRG.AP.3e
Modify existing program to improve functionality.
  1. 4.5 Informal Code Analysis
PRG.AP.4a
Use linear data structures: arrays, lists, and non-linear data structures.
  1. 6.1 Array
PRG.AP.4b
Evaluate and convert data structures when appropriate.
  1. 7.1 ArrayList
PRG.AP.4c
Read and write programs that store, process, and manipulate 1D and 2D collections.
  1. 8.1 2D Arrays
PRG.AP.4d
Identify how and when to use search and sort algorithms.
  1. 7.5 Searching
PRG.AP.4e
Read and write programs that include search and sort algorithms.
  1. 7.6 Sorting
PRG.AP.5a
Define the role of inheritance, polymorphism, and encapsulation in object-oriented programming languages.
  1. 9.1 Inheritance
PRG.AP.5b
Use classes with instance data and methods to satisfy a design specification.
  1. 5.1 Writing Classes
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.
  1. 5.3 Documentation with Comments
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.
  1. 4.5 Informal Code Analysis
PRG.CYB.1a
Create programs that safeguard against user error.
  1. 1.5 User Input
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.
  1. 1.5 User Input
PRG.CYB.2b
Develop code that validates input based on defined specifications.
  1. 1.5 User Input
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.
  1. 1.2 Variables and Data Types
  2. 6.1 Array
  3. 7.1 ArrayList
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.
  1. 4.5 Informal Code Analysis
  2. 7.1 ArrayList
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.
  1. 6.4 Developing Algorithms Using Arrays
  2. 7.4 Developing Algorithms using ArrayLists
PRG.DA.2d
Utilize data analysis to create programmatic solutions and draw conclusions based on the results.
  1. 7.4 Developing Algorithms using ArrayLists
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.
  1. 7.7 Ethical Issues Around Data Collection
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.
  1. 7.4 Developing Algorithms using ArrayLists
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.
  1. 5.10 Ethical and Social Implications of Computing
PRG.IC.1b
Research the effects of technical design decisions on overall program function.
  1. 5.10 Ethical and Social Implications of Computing
PRG.IC.1c
Examine and explain the impacts of unintended consequences related to program design.
  1. 5.10 Ethical and Social Implications of Computing
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.