Please enable JavaScript to use CodeHS

Standards Framework

for Virginia Middle School Elective: Computer Science (2025)

107

Standards in this Framework

Standard Description
9.AP.1a Decompose a problem or process into sub-components.
9.AP.1b Recognize characteristics or patterns to determine commonalities.
9.AP.1c Abstract relevant information to identify essential details.
9.AP.1d Use pseudocode and/or flowcharts to address complex problems as algorithms.
9.AP.2a Identify the goal and objectives of the program.
9.AP.2b Plan for the design or prototype of the program.
9.AP.2c Develop an outline for the program’s functionality.
9.AP.2d Engage with peers to collect feedback on relevant aspects.
9.AP.3a Read and interpret algorithms expressed using plain language, pseudocode, and block-based or text-based programming languages.
9.AP.3b Create an algorithm using plain language, pseudocode, or diagrams.
9.AP.3c Implement programs that accept input values, use variables, and produce output.
9.AP.3d Write and test algorithms using block-based or text-based programming languages.
9.AP.4a Trace a program for accuracy.
9.AP.4b Analyze and describe the results of a program for validity.
9.AP.4c Revise and improve an algorithm to resolve errors or produce desired outcomes.
9.AP.4d Document programs to improve the ability to trace, test, and debug.
18.AP.1a Categorize problems as classification, prediction, combinational search, or sequential decision problems.
18.AP.1b Determine when problems can be solved with programs and automation.
18.AP.1c Create a variety of programs while considering the needs and preferences of diverse user groups.
18.AP.1d Utilize existing code, media, and libraries into original programs, and give attribution.
18.AP.2a Predict and test the outcome or output of multiple test cases.
18.AP.2b Verify and refine the program based on the outcome of multiple test cases.
18.AP.3a Collaboratively plan, design, and revise programs.
18.AP.3b Explain design choices, including constraints, and audiences.
18.AP.3c Provide constructive feedback through peer review.
18.AP.3d Reflect on collaborative experiences.
18.AP.4a Analyze and decompose a problem.
18.AP.4b Use abstraction to determine a solution to a problem.
18.AP.5a Identify characteristics of block-based and text-based coding languages.
18.AP.5b Analyze the advantages and disadvantages of block-based and text-based coding languages.
36.AP.1a Identify problems that can be solved with a program.
36.AP.1b Justify a proposed solution to a problem.
36.AP.1c Use project management tools to support collaboration.
36.AP.1d Engage in peer review and incorporate evaluative feedback through the design process.
36.AP.1e Incorporate feedback provided through peer review to refine prototypes.
36.AP.2a Decompose problems into subcomponents to facilitate the creation of a program.
36.AP.2b Use documentation to explain the purpose of a section of code and its relationship to other parts of a program.
36.AP.2c Evaluate the limitations of models, algorithms, and programs considering multiple perspectives.
36.AP.2d Systematically test and refine programs.
36.AP.3a Read and write programs that combine loops and conditional control structures.
36.AP.3b Read and write programs using functions and procedures.
9.CSY.1a Explain the structure and function of hardware and software in computing devices.
9.CSY.1b Describe the interactions of hardware and software in computing systems.
9.CSY.1c Evaluate the usability of hardware and software from different perspectives.
9.CSY.2a Abstract the problems with computing devices and apply appropriate troubleshooting strategies.
9.CSY.2b Propose and implement solutions to a variety of hardware and software problems.
18.CSY.1a Explain the interactions of hardware and software components when collecting and exchanging data
18.CSY.1b Justify the selection of hardware and software components for project designs by considering multiple factors: functionality, cost, size, speed, accessibility, and data bias.
18.CSY.2a Evaluate design and user operability to assess user accessibility, hardware and software performance, and compatibility.
18.CSY.2b Develop and apply criteria to evaluate a computing system for a given purpose and its intended environment.
36.CSY.1a Analyze and evaluate the design of a computing device for the end user
36.CSY.1b Propose recommendations for improvements to a computing device to include accessibility, functionality, cost, size, speed, accessibility, data bias, and aesthetics.
36.CSY.1c Investigate additional improvements available through emerging technologies.
9.CYB.1a Describe how cyber-attacks can affect a computing system
9.CYB.1b Compare and contrast safe and unsafe computing practices.
9.CYB.1c Explore how industries and emerging technologies are addressing cyber solutions.
9.CYB.1d Model common prevention practices for cyber-attacks.
18.CYB.1a Create strategies for protecting information.
18.CYB.1b Describe the benefits and drawbacks of each type of information.
18.CYB.1c Analyze the impact of misclassified information.
18.CYB.1d Outline common causes and reasons for data breaches involving information.
18.CYB.1e Describe the role of social engineering and human error in data breaches.
36.CYB.1a Identify different types of data that can be encrypted.
36.CYB.1b Use simple encryption and decryption strategies to encode and decode a message.
9.DA.1a Identify and use computing technologies to collect data sets.
9.DA.1b Evaluate data sets and visualizations for limitations, reliability, and bias.
9.DA.1c Identify encoding schemes used to represent similar data.
9.DA.1d Transform data utilizing decomposition, pattern recognition, and abstraction to make inferences, predictions, and decisions about real-world phenomena.
9.DA.1e Explore how machine learning, Artificial Intelligence (AI), and emerging technologies automate data analysis.
18.DA.1a Create representations and visualizations of data.
18.DA.1b Assess data reliability and biases in the data collection process, data visualizations, and existing automation.
18.DA.1c Use and evaluate various schemes to represent data.
18.DA.1d Explore how emerging technologies including Artificial Intelligence (AI) organize data, make decisions, and formulate predictions.
36.DA.1a Communicate the significance of data visualizations and computation models in the real-world.
36.DA.1b Use existing data visualizations that refresh in real-time to make predictions about real-world phenomena.
36.DA.1c Create interactive data visualizations of real-world phenomena.
9.IC.1a Compare and contrast the benefits and risks of everyday use of computing technologies and their influences on daily life and society.
9.IC.1b Discuss issues of digital citizenship, ethics, bias, and accessibility in relation to computing technologies and the Internet.
9.IC.1c Identify and describe significant historical figures that made an impact in the computer science field.
9.IC.2a Investigate physical health effects associated with excessive screen time to include risk of obesity and related health issues.
9.IC.2b Investigate social and emotional effects associated with excessive screen time to include development of social skills and emotional intelligence.
9.IC.2c Investigate cognitive effects associated with excessive screen time to include the impact on attention span, concentration, and ability to focus.
9.IC.2d Analyze and differentiate between the use of technology and screen time for instructional benefits compared to recreational activities.
9.IC.2e Synthesize and report findings of the screen time usage and impact on one’s mental and physical health.
9.IC.3a Research computer science and information technology career pathways.
9.IC.3b Discuss careers that use computer science skills and practices.
18.IC.1a Identify correlations between historical developments in computing technologies and changes in society, including automated decision-making and emerging computing technologies.
18.IC.1b Explain how computing technologies can positively and negatively impact communities in Virginia and globally.
18.IC.1c Examine how risk and benefits have changed based on the development of computing technologies.
18.IC.2a Identify computer science related careers that relate to the student’s interest
18.IC.2b Evaluate different computer science related careers and develop a career plan.
36.IC.1a Describe tradeoffs between allowing information to be public and keeping information private and secure.
36.IC.1b Evaluate policies, laws, and regulations for computing technologies.
36.IC.1c Propose strategies to mitigate risks and increase benefits of computing technologies.
36.IC.1d Assess the benefits and drawbacks of using Internet technologies by considering factors such as: data storage, cost, speed, reliability, and privacy.
9.NI.1a Explain the role of networks and the Internet in different computing contexts: gaming, web browsing, communication, streaming, or other common use cases.
9.NI.1b Identify and describe hardware and software components that make up the Internet.
9.NI.1c Explain how hardware and software components can be combined to collect and exchange data.
9.NI.1d Compare and contrast different methods of data transfer.
18.NI.1a Define packet, protocol, server, and router.
18.NI.1b Analyze the role of computing devices in transmitting data.
18.NI.1c Model how data is transmitted across networks and the Internet.
36.NI.1a Define client, server, router, and switches.
36.NI.1b Identify how computing devices collect and exchange data.
36.NI.1c Compare and contrast network topologies.
36.NI.1d Illustrate the arrangement of topology among elements of a network.
36.NI.1e Model how information is transmitted amongst multiple computing devices within a network.