Please enable JavaScript to use CodeHS

Standards Mapping

for Virginia Computer Science Programming


Standards in this Framework


Standards Mapped


Mapped to Course

Standard Lessons
The student will describe and use best practices of program development that make some common flaws less likely and explain how this improves computer security.
  1. 1.6 Top Down Design and Decomposition in Karel
  2. 1.7 Commenting Your Code
  3. 1.14 More Karel Examples and Testing
  4. 3.7 Exceptions
The student will create programs that model the relationships among different elements in collections of real-world data.
The student will translate numbers between machine representations and humanaccessible representations.
  1. 5.12 Binary
The student will design and implement 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 explain the software life cycle and how it applies to iterative development processes.
The student will design and implement an algorithm a) with compound conditional execution, and analyze and evaluate complex Boolean conditions; and b) using complex iteration, including nested loops.
  1. 6.1 Writing BlackJack
  2. 8.2 Linear Search
  3. 8.3 Binary Search
  4. 8.7 Mergesort
  5. 10.1 Final Project
The student will implement programs that accept input from a variety of sources and produce output based on that input.
  1. 2.3 User Input
  2. 2.9 For Loops
  3. 2.10 While Loops
  4. 4.6 Getter and Setter Methods
  5. 8.2 Linear Search
  6. 8.3 Binary Search
The student will trace the execution of iterative and recursive algorithms, illustrating output and changes in values of named variables.
  1. 2.9 For Loops
  2. 2.10 While Loops
  3. 8.6 Advanced: Recursion
The student will perform complex computations a) on numbers, including modular division and random number generation; and b) on strings, including substring manipulation and processing individual characters.
  1. 2.2 Variables and Types
  2. 2.4 Arithmetic Expressions
  3. 2.5 Casting
  4. 3.5 Strings Methods
  5. 3.6 Strings and Characters
  6. 3.8 String Processing
  7. 4.3 Using a Class as a Client
The student will demonstrate an understanding of different data types by using appropriate constructs to convert between them when appropriate.
  1. 5.6 Arrays vs ArrayLists
  2. 5.9 2D Arrays (Matrices or Grids)
  3. 5.11 HashMaps
The student will analyze a large-scale computational problem, identify generalizable patterns, and implement a solution.
  1. 6.1 Writing BlackJack
  2. 10.1 Final Project
The student will implement an algorithm that uses existing functions and accesses existing libraries or APIs to satisfy its requirements.
  1. 1.8 Super Karel
  2. 4.3 Using a Class as a Client
The student will write functions, both with and without parameters, and both with and without return values, that represent abstractions useful to the solution of a larger 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
The student will create programs demonstrating an understanding of the interactions between classes in object-oriented design, and by implementing classes with instance data and methods to satisfy a design specification.
  1. 4.1 Introduction to Classes and Objects
  2. 4.2 Classes vs. Objects
  3. 4.3 Using a Class as a Client
  4. 4.5 Writing Classes and Instance Methods
  5. 4.6 Getter and Setter Methods
The student will use code written by others by reading the documentation and incorporating it into their programs using proper citation of the reused code.
The student will read and store data in 1D and 2D collections, and design and implement algorithms to process and manipulate those collections.
  1. 5.6 Arrays vs ArrayLists
  2. 5.8 The List Interface
  3. 5.9 2D Arrays (Matrices or Grids)
The student will adapt classic algorithms for use in a particular context and analyze them for effectiveness and efficiency.
  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 develop and use a series of test cases to verify that a program performs according to its design specifications, including edge cases and all branches.
  1. 3.7 Exceptions
  2. 6.1 Writing BlackJack
The student will, through the process of code review, evaluate a program's correctness, readability, usability, and other factors.
The student will use a systematic approach and debugging tools to independently debug a program.
  1. 1.6 Top Down Design and Decomposition in Karel
  2. 1.7 Commenting Your Code
  3. 1.14 More Karel Examples and Testing
The student will identify some of the practical, business, and ethical impacts of open source and free software and the widespread access they provide.