Please enable JavaScript to use CodeHS

Standards Mapping

for Virginia Middle School Elective: Computer Science (2025)

107

Standards in this Framework

71

Standards Mapped

66%

Mapped to Course

Standard Lessons
9.AP.1a
Decompose a problem or process into sub-components.
  1. 2.1 Quest for the Rosetta Stone
  2. 5.2 Karel's World
  3. 5.3 Functions
  4. 9.2 Unpacking a Game
  5. 10.2 Structure of an HTML Page
9.AP.1b
Recognize characteristics or patterns to determine commonalities.
  1. 5.3 Functions
  2. 9.2 Unpacking a Game
9.AP.1c
Abstract relevant information to identify essential details.
  1. 2.1 Quest for the Rosetta Stone
  2. 5.2 Karel's World
  3. 5.3 Functions
  4. 10.2 Structure of an HTML Page
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.
  1. 3.1 Intro to Tracy's Grid World
  2. 6.7 Project: Steganography
  3. 9.2 Unpacking a Game
9.AP.2b
Plan for the design or prototype of the program.
  1. 10.2 Structure of an HTML Page
9.AP.2c
Develop an outline for the program’s functionality.
  1. 5.3 Functions
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.
  1. 1.1 Karel's Coding Environment
  2. 1.2 Karel Error Messages
  3. 3.1 Intro to Tracy's Grid World
  4. 5.1 Introduction to Karel
9.AP.3b
Create an algorithm using plain language, pseudocode, or diagrams.
  1. 2.1 Quest for the Rosetta Stone
  2. 3.1 Intro to Tracy's Grid World
  3. 5.3 Functions
9.AP.3c
Implement programs that accept input values, use variables, and produce output.
  1. 3.3 A Day at the Carnival
  2. 10.1 Introduction to HTML
9.AP.3d
Write and test algorithms using block-based or text-based programming languages.
  1. 1.1 Karel's Coding Environment
  2. 1.2 Karel Error Messages
  3. 3.2 Debugging with Error Messages
9.AP.4a
Trace a program for accuracy.
  1. 3.2 Debugging with Error Messages
9.AP.4b
Analyze and describe the results of a program for validity.
  1. 3.2 Debugging with Error Messages
  2. 5.2 Karel's World
  3. 5.3 Functions
  4. 10.2 Structure of an HTML Page
  5. 10.3 Formatting Text
9.AP.4c
Revise and improve an algorithm to resolve errors or produce desired outcomes.
  1. 1.2 Karel Error Messages
  2. 3.2 Debugging with Error Messages
9.AP.4d
Document programs to improve the ability to trace, test, and debug.
  1. 1.2 Karel Error Messages
  2. 3.2 Debugging with Error Messages
18.AP.1a
Categorize problems as classification, prediction, combinational search, or sequential decision problems.
  1. 2.1 Quest for the Rosetta Stone
  2. 3.1 Intro to Tracy's Grid World
18.AP.1b
Determine when problems can be solved with programs and automation.
  1. 5.5 For Loops
  2. 5.8 While Loops
18.AP.1c
Create a variety of programs while considering the needs and preferences of diverse user groups.
  1. 10.9 Complete Your Homepage
18.AP.1d
Utilize existing code, media, and libraries into original programs, and give attribution.
  1. 10.5 Incorporating Images
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.
  1. 2.1 Quest for the Rosetta Stone
18.AP.3a
Collaboratively plan, design, and revise programs.
18.AP.3b
Explain design choices, including constraints, and audiences.
  1. 10.2 Structure of an HTML Page
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.
  1. 2.1 Quest for the Rosetta Stone
  2. 5.3 Functions
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.
  1. 5.9 Karel Challenges
36.AP.1b
Justify a proposed solution to a problem.
  1. 2.1 Quest for the Rosetta Stone
  2. 10.2 Structure of an HTML Page
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.
  1. 5.3 Functions
36.AP.2b
Use documentation to explain the purpose of a section of code and its relationship to other parts of a program.
  1. 10.2 Structure of an HTML Page
36.AP.2c
Evaluate the limitations of models, algorithms, and programs considering multiple perspectives.
36.AP.2d
Systematically test and refine programs.
  1. 2.1 Quest for the Rosetta Stone
  2. 2.2 A Day at the Park
  3. 3.2 Debugging with Error Messages
36.AP.3a
Read and write programs that combine loops and conditional control structures.
  1. 2.1 Quest for the Rosetta Stone
  2. 5.6 Conditional Statements
  3. 5.7 If/Else Statements
  4. 5.8 While Loops
36.AP.3b
Read and write programs using functions and procedures.
  1. 5.3 Functions
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.
  1. 4.2 Software
  2. 4.3 Hardware
9.CSY.1c
Evaluate the usability of hardware and software from different perspectives.
  1. 4.2 Software
9.CSY.2a
Abstract the problems with computing devices and apply appropriate troubleshooting strategies.
  1. 4.3 Hardware
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.
  1. 4.2 Software
  2. 4.3 Hardware
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
  1. 4.3 Hardware
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.
  1. 4.1 History of Computing
9.CYB.1a
Describe how cyber-attacks can affect a computing system
  1. 7.3 Internet Safety
9.CYB.1b
Compare and contrast safe and unsafe computing practices.
  1. 7.3 Internet Safety
9.CYB.1c
Explore how industries and emerging technologies are addressing cyber solutions.
  1. 6.4 Cybersecurity
9.CYB.1d
Model common prevention practices for cyber-attacks.
  1. 6.4 Cybersecurity
  2. 7.4 Privacy & Security
18.CYB.1a
Create strategies for protecting information.
  1. 6.5 The CIA Triad
  2. 7.4 Privacy & Security
18.CYB.1b
Describe the benefits and drawbacks of each type of information.
18.CYB.1c
Analyze the impact of misclassified information.
  1. 6.5 The CIA Triad
18.CYB.1d
Outline common causes and reasons for data breaches involving information.
  1. 6.4 Cybersecurity
  2. 7.4 Privacy & Security
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.
  1. 6.6 Encryption
36.CYB.1b
Use simple encryption and decryption strategies to encode and decode a message.
  1. 6.7 Project: Steganography
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.
  1. 6.6 Encryption
9.DA.1d
Transform data utilizing decomposition, pattern recognition, and abstraction to make inferences, predictions, and decisions about real-world phenomena.
  1. 5.4 Multiple Functions
9.DA.1e
Explore how machine learning, Artificial Intelligence (AI), and emerging technologies automate data analysis.
  1. 4.7 The Future of Computing
18.DA.1a
Create representations and visualizations of data.
  1. 7.8 Project: Public Service Announcement
18.DA.1b
Assess data reliability and biases in the data collection process, data visualizations, and existing automation.
  1. 4.6 Ethics and Legal Considerations
  2. 7.5 Information Literacy
18.DA.1c
Use and evaluate various schemes to represent data.
  1. 6.6 Encryption
  2. 6.7 Project: Steganography
18.DA.1d
Explore how emerging technologies including Artificial Intelligence (AI) organize data, make decisions, and formulate predictions.
  1. 4.7 The Future of Computing
36.DA.1a
Communicate the significance of data visualizations and computation models in the real-world.
  1. 7.8 Project: Public Service Announcement
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.
  1. 7.8 Project: Public Service Announcement
9.IC.1a
Compare and contrast the benefits and risks of everyday use of computing technologies and their influences on daily life and society.
  1. 4.5 Internet of Things
  2. 7.3 Internet Safety
9.IC.1b
Discuss issues of digital citizenship, ethics, bias, and accessibility in relation to computing technologies and the Internet.
  1. 4.6 Ethics and Legal Considerations
  2. 7.1 Digital Footprint and Reputation
9.IC.1c
Identify and describe significant historical figures that made an impact in the computer science field.
  1. 4.7 The Future of Computing
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.
  1. 4.7 The Future of Computing
18.IC.1a
Identify correlations between historical developments in computing technologies and changes in society, including automated decision-making and emerging computing technologies.
  1. 4.4 Cloud Computing
  2. 4.5 Internet of Things
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.
  1. 7.4 Privacy & Security
36.IC.1b
Evaluate policies, laws, and regulations for computing technologies.
  1. 4.6 Ethics and Legal Considerations
  2. 7.7 Hacking Ethics
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.
  1. 4.4 Cloud Computing
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.
  1. 6.1 What is the Internet?
  2. 6.3 Impact of the Internet
9.NI.1b
Identify and describe hardware and software components that make up the Internet.
  1. 6.1 What is the Internet?
9.NI.1c
Explain how hardware and software components can be combined to collect and exchange data.
  1. 4.5 Internet of Things
9.NI.1d
Compare and contrast different methods of data transfer.
  1. 4.4 Cloud Computing
18.NI.1a
Define packet, protocol, server, and router.
  1. 6.2 The Need for Protocols
18.NI.1b
Analyze the role of computing devices in transmitting data.
  1. 4.3 Hardware
  2. 6.1 What is the Internet?
18.NI.1c
Model how data is transmitted across networks and the Internet.
  1. 6.2 The Need for Protocols
  2. 6.4 Cybersecurity
36.NI.1a
Define client, server, router, and switches.
  1. 6.1 What is the Internet?
36.NI.1b
Identify how computing devices collect and exchange data.
  1. 4.5 Internet of Things
36.NI.1c
Compare and contrast network topologies.
36.NI.1d
Illustrate the arrangement of topology among elements of a network.
  1. 6.2 The Need for Protocols
36.NI.1e
Model how information is transmitted amongst multiple computing devices within a network.
  1. 6.2 The Need for Protocols