Please enable JavaScript to use CodeHS

Standards Mapping

for Virginia Computer Science Foundations 2025

101

Standards in this Framework

41

Standards Mapped

40%

Mapped to Course

Standard Lessons
CSF.AP.1.a
Identify real-world problems that are classification and prediction problems.
CSF.AP.1.b
Decompose a problem or process into sub-components.
  1. Intro to Programming in Python with Arduino
  2. 1.10 Top Down Design
  3. Introduction to Python Programming
  4. 2.5 Top Down Design and Decomposition in Karel
CSF.AP.1.c
Implement abstractions to improve program modularity, reusability, and readability.
  1. Introduction to Python Programming
  2. 2.7 Abstraction
CSF.AP.1.d
Identify computing-based solutions to address a computational problem.
CSF.AP.2.a
Create programs using a text-based programming language.
  1. Intro to Programming in Python with Arduino
  2. 1.19 Putting Together Control Structures
  3. 11.1 Project: Guess the Word
  4. 12.1 Arduino Challenges
CSF.AP.2.b
Document programs to improve the ability to trace, test, and debug.
  1. Intro to Programming in Python with Arduino
  2. 1.6 Comments
  3. 2.6 Comments
  4. 3.3 Comments & Pseudocode
  5. Introduction to Python Programming
  6. 2.6 Commenting Your Code
  7. 3.6 Comments
CSF.AP.2.c
Trace the execution of an algorithm and predict its results.
  1. Introduction to Python Programming
  2. 2.14 Debugging Strategies
CSF.AP.2.d
Analyze the outcomes of programs to identify logic and syntax errors.
  1. Intro to Programming in Python with Arduino
  2. 3.5 Debugging
  3. Introduction to Python Programming
  4. 2.14 Debugging Strategies
CSF.AP.2.e
Use multiple test cases to verify and refine the program.
  1. Introduction to Python Programming
  2. 2.14 Debugging Strategies
CSF.AP.2.f
Revise and improve an algorithm to resolve errors or produce desired outcomes.
  1. Intro to Programming in Python with Arduino
  2. 12.1 Arduino Challenges
  3. 12.3 Step-by-Step Arduino Project
  4. Introduction to Python Programming
  5. 2.14 Debugging Strategies
CSF.AP.2.g
Use version control and incorporate user feedback to refine program.
CSF.AP.3.a
Read and interpret algorithms and programs expressed using plain language, pseudocode, and text-based programming languages.
  1. Introduction to Python Programming
  2. 2.15 Algorithms
CSF.AP.3.b
Create design documents using plain language, pseudocode, or diagrams.
CSF.AP.3.c
Read and write algorithms and programs that accept multiple input values, use variables, and produce output.
  1. Intro to Programming in Python with Arduino
  2. 2.3 User Input
  3. Introduction to Python Programming
  4. 3.3 User Input
CSF.AP.3.d
Read and write algorithms and programs that include predefined functions and procedures with parameters and returns.
  1. Intro to Programming in Python with Arduino
  2. 6.1 Functions
  3. 6.2 Functions and Parameters
  4. Introduction to Python Programming
  5. 2.17 Karel Challenges
  6. 9.1 Functions
  7. 9.2 Functions and Parameters
CSF.AP.3.e
Compare several implementations of the same algorithm using different control structures.
  1. Introduction to Python Programming
  2. 2.13 Control Structures Example
CSF.AP.4.a
Determine appropriate data structures to address program specifications.
  1. Intro to Programming in Python with Arduino
  2. 9.2 Lists
  3. Introduction to Python Programming
  4. 12.2 Lists
CSF.AP.4.b
Apply basic computations on numeric and non-numeric data types.
  1. Intro to Programming in Python with Arduino
  2. 2.4 Mathematical Operators
  3. Introduction to Python Programming
  4. 3.4 Mathematical Operators
CSF.AP.4.c
Read and write programs that create, store, and manipulate primitive data.
  1. Intro to Programming in Python with Arduino
  2. 9.2 Lists
  3. Introduction to Python Programming
  4. 12.2 Lists
CSF.AP.4.d
Read and write programs that create, store, and manipulate linear collections of primitive data types: arrays or list.
  1. Intro to Programming in Python with Arduino
  2. 4.3 Comparison Operators
  3. Introduction to Python Programming
  4. 5.3 Comparison Operators
CSF.AP.4.e
Read and write programs that use relational, logical, and arithmetic expressions.
  1. Intro to Programming in Python with Arduino
  2. 4.4 Logical Operators
  3. Introduction to Python Programming
  4. 5.4 Logical Operators
CSF.AP.4.f
Read and write programs that traverse and manipulate data structures.
  1. Intro to Programming in Python with Arduino
  2. 9.4 List Methods
  3. Introduction to Python Programming
  4. 12.4 List Methods
CSF.AP.5.a
Define and describe neural network learning algorithms.
  1. Applications of AI and Machine Learning
  2. 1.3 Machine Learning and Neural Networks
CSF.AP.5.b
Illustrate and describe a neural network structure.
  1. Applications of AI and Machine Learning
  2. 1.3 Machine Learning and Neural Networks
CSF.AP.5.c
Identify and discuss examples of computing technologies that utilize neural networks.
  1. Applications of AI and Machine Learning
  2. 1.3 Machine Learning and Neural Networks
CSF.AP.5.d
Compare and contrast a decision tree learning algorithm and a neural network learning algorithm.
CSF.AP.6.a
Identify and describe characteristics of block-based and text-based coding languages.
  1. Introduction to Python Programming
  2. 3.7 Programming Languages
CSF.AP.6.b
Analyze the advantages and disadvantages of block-based and text-based coding languages.
  1. Introduction to Python Programming
  2. 3.7 Programming Languages
CSF.AP.6.c
Analyze the advantages and disadvantages of various text-based coding languages.
  1. Introduction to Python Programming
  2. 3.7 Programming Languages
CSF.AP.7.a
Define the concept and role of a search algorithm.
CSF.AP.7.b
Define the concept and role of a sort algorithm.
CSF.AP.7.c
Compare and contrast bubble sort, quick sort, and merge sort.
CSF.AP.7.d
Compare and contrast linear search and binary search.
CSF.AP.7.e
Evaluate and determine the best search or sort algorithm to use based on intended results.
CSF.AP.8.a
Identify project management frameworks and methodologies that emphasize iteration.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.AP.8.b
Discuss the significance of communication and methods of communication when working collaboratively.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.AP.8.c
Distribute roles and responsibilities and adhere to predetermined timeline and/or project scope.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.AP.8.d
Collaboratively plan, design, and revise programs.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.AP.8.e
Provide constructive feedback through peer review.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.AP.8.f
Use project management tools to support collaboration.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.AP.8.g
Justify and explain design choices, including constraints, and audiences.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.AP.8.h
Reflect and discuss collaborative experience with team.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.CSY.1.a
Provide real-world examples of abstraction in computing.
  1. Introduction to Python Programming
  2. 2.7 Abstraction
CSF.CSY.1.b
Explain the role of abstraction to simplify complex systems.
  1. Introduction to Python Programming
  2. 2.7 Abstraction
CSF.CSY.1.c
Identify and describe levels of abstraction between application software, system software, and hardware layers.
  1. Introduction to Python Programming
  2. 2.7 Abstraction
CSF.CSY.2.a
Describe how computers receive visual data from various sensors and tools.
CSF.CSY.2.b
Describe image processing techniques to include filtering, segmentation, and feature extraction.
CSF.CSY.2.c
Explain how computers use pattern recognition and classify data to interpret and make decisions.
CSF.CSY.2.d
Discuss ethical considerations related to the use of visual data and computer vision technologies.
CSF.CSY.3.a
Describe the parts of a network diagram and how they are related.
CSF.CSY.3.b
Explain the relationship between nodes, links, and other components of graphs.
CSF.CSY.3.c
Explain how a computer can solve a maze, find a route on a map, and use reasoning to solve problems.
CSF.CSY.4.a
Compare and contrast the learning process of humans and computers.
CSF.CSY.4.b
Identify mathematical models used by supervised learning to produce classifications and predictions.
CSF.CYB.1.a
Describe ways data and computing systems can be threatened by malware, ransomware, social engineering, phishing, and other cyberattacks.
CSF.CYB.1.b
Compare strategies to protect data and computing systems from malware, ransomware, social engineering, phishing, and other cyberattacks.
CSF.CYB.2.a
Identify common targets and perpetrators of cyberattacks.
CSF.CYB.2.b
Identify ways data is automatically collected and generated that may or may not be evident to users.
CSF.CYB.2.c
Describe potential vulnerabilities when using publicly available networks.
CSF.CYB.2.d
Assess the impact of cyber threats on systems and people with diverse backgrounds, technical knowledge, or threat profiles.
CSF.CYB.3.a
Evaluate tradeoffs between usability and security.
CSF.CYB.3.b
Analyze scenarios to determine tradeoffs between usability and security.
CSF.CYB.3.c
Propose recommendations for optimizing balance between usability and security in a given computing system.
CSF.DA.1.a
Describe the types of data that business, industry, and government entities collect and maintain.
CSF.DA.1.b
Identify privacy and consumer protection issues that impact data representation.
CSF.DA.1.c
Identify real-world problems that can be addressed through data analysis.
CSF.DA.1.d
Compare two real-world datasets to identify how the values of features are encoded and represented.
CSF.DA.1.e
Formulate questions to decompose a problem and develop a data project plan.
CSF.DA.2a
Identify methods for collecting and storing data of different data sizes.
CSF.DA.2b
Evaluate the technical and ethical implications of collecting and storing data from the perspectives of users, programmers, companies, and communities.
CSF.DA.2c
Identify impacts of bias in data collection and storage practices.
CSF.DA.2d
Analyze the impact of data quality, quantity, diversity, and other factors on the accuracy and reliability of data visualizations.
CSF.DA.2e
Research emerging technologies that have the capability to construct reasoning from stakeholder data.
CSF.DA.3a
Evaluate the quality of training data: completeness, accuracy, consistency, and relevance.
CSF.DA.3b
Analyze and discuss the ethical implications and social and economic impact of training data choices.
CSF.DA.4a
Explain the use of training data and the role it has in the development of machine learning models.
CSF.DA.4b
Explain the use of reasoning models and the role it has in the development of machine learning models.
CSF.DA.4c
Identify and discuss the similarities and differences between training data and reasoning models in artificial intelligence systems.
CSF.DA.5a
Formulate questions that require data collection.
  1. Applications of AI and Machine Learning
  2. 4.1 Final Project
CSF.DA.5b
Identify appropriate data to address a predetermined question.
  1. Applications of AI and Machine Learning
  2. 4.1 Final Project
CSF.DA.5c
Define the stages of the data cycle and the interrelationship between each stage.
CSF.DA.5d
Identify and explain constraints of a data-driven approach.
CSF.DA.5e
Create a computational artifact of the data analysis results.
CSF.IC.1a
Identify the societal impacts of computing technologies and the various aspects of daily life and industry.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.IC.1b
Evaluate the effect of advances in information technology on the economy, environment, and ethics, including advancements of AI, quantum computing, and technologies.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.IC.1c
Examine the environmental impact of computing technologies.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.IC.1d
Propose strategies to address the ethical impacts and potential challenges of computing technologies.
  1. Introduction to Python Programming
  2. 16.1 Software Engineer
CSF.IC.2a
Identify digital tools and applications designed to monitor or regulate screen time usage.
CSF.IC.2b
Evaluate the impact of screen time management on productivity and well-being.
CSF.IC.2c
Examine and discuss the impact of screen time and social media on academic or workplace performance.
CSF.IC.3a
Examine correlations between historical developments in computing technologies and changes in society.
CSF.IC.3b
Appraise contributions of pioneers in the field of computer science.
CSF.IC.3c
Explore the impact of Moore’s Law on scientific and mathematical advancements.
CSF.IC.4a
Research and explain the preparation and job outlook for computer science careers.
CSF.IC.4b
Examine current and future computer science career pathways involving emerging technologies.
CSF.NI.1a
Identify the roles of computing devices: routers, switches, servers, and clients.
CSF.NI.1b
Explain the role of Internet protocols: Hypertext Transfer Protocol Secure (HTTPS) and Transmission Control Protocol/Internet Protocol (TCP/IP) to provide reliable and secure data.
CSF.NI.1c
Analyze and create network topology diagrams.
CSF.NI.1d
Model how computing devices communicate via networks using TCP/IP protocols.
CSF.NI.1e
Identify common problems that impact network functionality.
CSF.NI.1f
Identify solutions to resolve common network issues.