Please enable JavaScript to use CodeHS

Standards Framework

for Virginia Computer Science Principles 2025

79

Standards in this Framework

Standard Description
CSP.AP.1a Identify and categorize real-world problems as classification, prediction, and sequential decision.
CSP.AP.1b Identify the process used by specialized algorithms for perceptual tasks using sensory inputs.
CSP.AP.1c Decompose a computational problem or process into sub-components.
CSP.AP.1d Use abstraction to improve program modularity, reusability, and readability.
CSP.AP.1e Create a prototype that uses algorithms to address a complex computational problem.
CSP.AP.1f Justify selected control structure(s) used to design an algorithm.
CSP.AP.2a Determine appropriate data structures to implement when given a programming problem or task.
CSP.AP.2b Create, modify, store data in, and manipulate primitive data types like numbers, strings/characters, or Boolean values.
CSP.AP.2c Create, modify, store data in, and manipulate linear and non-linear collections containing primitive and higher-order data types: arrays, lists, objectives, or key-values structures.
CSP.AP.2d Read and write programs that include linear data structures and process a collection of data.
CSP.AP.3a Use project management skills to work individually and in teams.
CSP.AP.3b Design an interactive program that accepts input from a variety of sources and produces output based on input.
CSP.AP.3c Create a design specification document.
CSP.AP.3d Design and create programs for various computing platforms.
CSP.AP.3e Document programs to improve the ability to trace, test, and debug.
CSP.AP.3f Trace the execution of an algorithm and predict its results.
CSP.AP.3g Use proper attribution to incorporate code written by others.
CSP.AP.3h Use multiple test cases to verify and refine programs.
CSP.AP.3i Revise and improve an algorithm to resolve errors or produce desired outcomes.
CSP.AP.3j Solicit and synthesize user feedback to test and refine the program.
CSP.AP.3k Apply best practices in developing programs: program development cycle, code styling, documentation, and version control.
CSP.AP.4a Compare and contrast schematic representation, pictorial representation, and other coding representations.
CSP.AP.4b Generalize programming concepts, structures, and practices across coding representations.
CSP.AP.4c Communicate the ways a coding representation or approach shapes solutions to problems.
CSP.AP.4d Evaluate coding languages for specific real-world applications.
CSP.CSY.1a Explain the role of abstraction and computing systems for user usability.
CSP.CSY.1b Explore the interdependent relationship between hardware and software and the effect on functionality and system architecture.
CSP.CSY.1c Analyze the components of hardware and software and propose solutions to increase functionality.
CSP.CSY.1d Describe the functions of an operating system, including resource management and process execution.
CSP.CSY.1e Construct a model to show the hierarchy of hardware, system software, and application software.
CSP.CYB.1a Explain the C-I-A (Confidentiality, Integrity, and Availability) Triad.
CSP.CYB.1b Solve a cybersecurity problem and propose security measures related to confidentiality, integrity, and availability.
CSP.CYB.1c Compare information security and physical security measures to assess potential threats and vulnerabilities.
CSP.CYB.2a Describe state and federal laws that relate to cybersecurity and privacy.
CSP.CYB.2b Compare and contrast ethical and unethical hacking.
CSP.CYB.2c Evaluate the social and economic implications of privacy in the context of safety, law, or ethics.
CSP.CYB.3a Examine measures to prevent the disclosure of personally identifiable information (PII).
CSP.CYB.3b Compare and contrast ways to conduct threat analysis and to protect data and computing systems from data breaches.
CSP.CYB.3c Analyze scenarios and propose computing practices to protect personal information and reduce the risk of a data breach.
CSP.DA.1a Identify the role of relational databases in storing data and in data utilization.
CSP.DA.1b Analyze tradeoffs inherent in distilling raw data into data representations.
CSP.DA.1c Evaluate data reliability and scalability.
CSP.DA.1d Identify potential bias present in data representation practices.
CSP.DA.1e Discuss the potential effect of data bias and provide recommendations on how to mitigate data bias.
CSP.DA.2a Collect and clean diverse data sets to improve data quality and relevance.
CSP.DA.2b Apply preprocessing techniques: missing values, normalization, and encoding categorical variables.
CSP.DA.2c Create subsets of training data for training, validation, and testing.
CSP.DA.2d Investigate potential imbalances within training data that could result in a biased model.
CSP.DA.3a Explain the difference between labeled and unlabeled data.
CSP.DA.3b Evaluate a dataset used to train an artificial intelligence system.
CSP.DA.3c Apply mathematical operations and algorithms to manipulate and extract insights from data sets.
CSP.DA.3d Describe how supervised or unsupervised learning algorithms find patterns and make predictions.
CSP.DA.3e Discuss how machines learn from data sets and derive new knowledge.
CSP.DA.3f Describe how natural language processors (NLP) analyze data and produce output.
CSP.DA.4a Create and refine models or computational artifacts that can be used to make predictions and communicate effectively.
CSP.DA.4b Justify tools and data visualizations selected to create and assess the model for accuracy.
CSP.IC.1a Assess the impact of manufacturing and energy use on communities and the environment.
CSP.IC.1b Analyze ways in which global collaboration is supported by new technologies.
CSP.IC.1c Identify applications of quantum computing in various fields: scientific research, nonprofit entities, government agencies, and/or business industries.
CSP.IC.2a Research and analyze the prevalence, causes, and long-term consequences of extended screen time usage.
CSP.IC.2b Identify indicators of excessive social media use.
CSP.IC.2c Propose techniques and strategies to mitigate or reduce the impact of excessive screen time usage.
CSP.IC.2d Examine and discuss the impact of screen time and social media on academic or workplace performance.
CSP.IC.3a Analyze and evaluate equity, access, and influence on the distribution of computing resources in a global society.
CSP.IC.3b Analyze the implications of emerging computing technologies to design solutions.
CSP.IC.3c Create computing artifact(s) that illustrates a solution to solve a problem locally or globally.
CSP.IC.4a Engage in work-based learning experiences involving computer science and related pathways.
CSP.IC.4b Create a plan to navigate career pathways that include computer science skills and practices.
CSP.IC.5a Identify ways Artificial Intelligence applications can modify their behavior to respond to different people’s emotional states.
CSP.IC.5b Describe the role of natural language processing in computing technologies.
CSP.IC.5c Examine ethical and privacy concerns related to Artificial Intelligence and propose recommendations to address these concerns.
CSP.NI.1a Explain abstraction enabling computing devices to communicate to one another over an Internet connection.
CSP.NI.1b Model abstractions and protocols enabling computers to transmit, receive, and interpret data within networks and over the Internet.
CSP.NI.1c Explain how abstraction enables different layers of Internet technology to build on one another.
CSP.NI.1d Describe the seven layers of the OSI model.
CSP.NI.1e Analyze issues pertaining to networks through the seven layers of the OSI model.
CSP.NI.2a Explain design principles that permit scalability and reliability of connected devices on a network
CSP.NI.2b Describe issues that impact network functionality, scalability, and reliability and recommend solutions
CSP.NI.2c Create a diagram to illustrate the communication connection between two distant devices.