Please enable JavaScript to use CodeHS

Standards Mapping

for Virginia Computer Science Foundations


Standards in this Framework


Standards Mapped


Mapped to Course

Standard Lessons
The student will a) compare the structures, functions, and interactions between application software, system software, and hardware; and b) explore the relationship between hardware and software using the Internet of Things.
The student will model how information is broken down into smaller pieces, transmitted as packets through multiple devices over networks and the Internet, and reassembled at the destination.
The student will explain the role of protocols in transmitting data across networks and the Internet.
The student will evaluate the scalability and reliability of networks, by describing the relationship between routers, switches, servers, topology and addressing.
The student will identify and explain ways that sensitive data (assets) can be threatened by malware and other computer attacks, using appropriate terminology.
The student will give examples of ways to protect sensitive data (assets) from malware and other computer attacks and evaluate them according to multiple criteria.
The student will explain typical tradeoffs between usability and security and recommend security measures in a given scenario based on these (or other) tradeoffs.
The student will write or adapt a program to validate its input and to avoid certain kinds of vulnerabilities.
  1. 2.3 User Input
The student will evaluate the tradeoffs in how data elements are organized and where data is stored.
  1. 5.1 What are Data Structures?
  2. 5.6 Arrays vs ArrayLists
  3. 5.9 2D Arrays (Matrices or Grids)
  4. 5.11 HashMaps
The student will create interactive data visualizations using software tools to help others better understand real-world phenomena.
The student will use data analysis tools and techniques to identify patterns in data representing complex systems.
The student will develop a program working individually and in teams using a text-based language.
  1. 6.1 Writing BlackJack
  2. 10.1 Final Project
  3. 11.1 Pokemon Simulation
  4. 12.1 Mad Libs
  5. 14.1 Quiz Creation
The student will identify the expected output of a program given a problem and some input.
  1. 1.12 If/Else Statements
  2. 2.10 While Loops
  3. 2.11 If Statements
  4. 3.5 Strings Methods
  5. 8.2 Linear Search
  6. 8.3 Binary Search
  7. 8.4 Selection Sort
  8. 8.5 Insertion Sort
The student will design and iteratively develop programs for practical intent or personal expression, incorporating feedback from users.
  1. 10.1 Final Project
The student will design and implement algorithms using a) sequencing of instructions; b) conditional execution; and c) iteration.
  1. 2.9 For Loops
  2. 2.10 While Loops
  3. 2.11 If Statements
  4. 2.12 Loop-and-a-Half
The student will implement a program that accepts input values, stores them in appropriately named variables, and produces output.
  1. 3.2 Methods and Parameters
  2. 3.3 Methods and Return Values
  3. 3.4 Javadocs and More Methods
The student will trace the execution of an algorithm, illustrating output and changes in values of named variables.
  1. 3.2 Methods and Parameters
  2. 3.3 Methods and Return Values
  3. 3.4 Javadocs and More Methods
  4. 4.10 Local Variables and Scope
The student will apply the basic operations used with numeric and non-numeric data types in developing programs.
  1. 2.2 Variables and Types
  2. 2.4 Arithmetic Expressions
  3. 3.8 String Processing
The student will use predefined functions to simplify the solution of a complex problem.
  1. 3.1 Java Methods
  2. 3.2 Methods and Parameters
  3. 3.3 Methods and Return Values
  4. 3.4 Javadocs and More Methods
  5. 3.5 Strings Methods
  6. 4.7 Class Methods and Class Variables
  7. 4.9 Method Overloading
The student will apply simple algorithms to a collection of data.
  1. 8.2 Linear Search
  2. 8.3 Binary Search
  3. 8.4 Selection Sort
  4. 8.5 Insertion Sort
  5. 8.7 Mergesort
The student will create programs a) demonstrating an understanding that program development is an ongoing process that requires adjusting and debugging along the way; and b) using version control to create and refine programs.
The student will use tools and methods for collaboration on a project to increase connectivity of people in different cultures and career fields.
The student will evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices.
The student will explain the beneficial and harmful effects that intellectual property laws can have on innovation, including the impact of open source software.
The student will explain the privacy concerns related to the collection and generation of data through automated processes that are not always evident to users