Computer Mathematics (Virginia SOL)
Your Teacher Information Pack for Computer Mathematics (Virginia SOL): the standards with their official codes, in our own short summaries, plus tests and official links.
Learn how – Teacher Information Packs: watch the 2-minute video · print (PDF) · also Year Planner setup
- State
- Virginia
- Grade
- 9-12 (course)
- Source
- Mathematics Standards of Learning for Virginia Public Schools (2023)
- Last checked
- 2026-10-20
Track your class against these statements with Classfern Pro. What's in Pro Join Classfern Pro
The standards (our summaries)
Official Virginia codes with our own short summaries (not the official wording). Each code links to the official document.
Data Representation and Storage (DRS)
- CM.DRS.1 Represent data in different number systems and convert between them.
- Represent data in binary, decimal and hexadecimal.
- Convert data between number systems, such as binary and decimal.
- CM.DRS.2 Tell variable data types apart by their features and choose the right type for a purpose.
- Describe Boolean, character, integer, decimal and string types.
- Choose the data type a task needs.
- CM.DRS.3 Choose and use data structures such as lists, arrays or objects to store data.
- Choose a suitable data structure for a task.
- Declare, type and fill one- or two-dimensional lists or arrays.
- Access and change single elements of a list or array.
- Use predefined objects to group related data of different types.
Components of Programming (CP)
- CM.CP.1 Plan a solution step by step with flowcharts or pseudocode, defining variables and conditions.
- Plan subtasks with a flowchart or pseudocode.
- Define the variables a task needs.
- State pre-conditions and post-conditions for inputs and outputs.
- CM.CP.2 Write Boolean expressions and conditional statements to control the flow of a program.
- Write Boolean expressions with logical and relational operators.
- Write and run "if" statements.
- Write and run "if/else" statements.
- Write nested and chained conditionals.
- Work out which code runs for true or false conditions.
- CM.CP.3 Use "while" and "for" loops, telling fixed-count repetition from condition-based repetition.
- Write and run "while" and "for" loops.
- Tell fixed-count loops from indefinite loops.
- Identify conditions that cause infinite loops.
- Work out the result of code that contains loops.
- CM.CP.4 Write the output stage of a program, including formatted text, a GUI display, devices and files.
- Produce output as formatted text, a GUI display or output to a physical device.
- Write output to a file.
- CM.CP.5 Write input code that stores values a user enters and validates them.
- Write input statements that store values given by the user.
- Validate input with exception handling, such as a loop.
- Work out a program's output for a given input.
- CM.CP.6 Use library functions to process data and do math, including overloaded functions.
- Use library functions to process data.
- Use library math functions such as random, absolute value, square root and power.
- Use void and return library functions.
- Use overloaded library functions.
- CM.CP.7 Write user-defined void and return functions that take parameters.
- Write a user-defined function for a task or subtask.
- Write void and return functions.
- Write functions that take parameters.
- CM.CP.8 Use predefined search and sort algorithms on one-dimensional lists or arrays.
- Tell types of search routine apart.
- Tell types of sort routine apart.
- Implement predefined algorithms.
- Implement sequential and binary search on one-dimensional lists or arrays.
- Implement selection, insertion and merge sorts on one-dimensional lists or arrays.
Applications of Programming (AP)
- CM.AP.1 Write programs that combine sequencing, selection and iteration to solve problems.
- Identify the programming parts a plan needs.
- Write a program that uses sequencing, selection and iteration.
- Solve math problems with formulas, functions, probability, statistics and data analysis.
- CM.AP.2 Document programs with comments on purpose, plan, conditions and readability.
- Use comments to state purpose, match the plan, note conditions and make code readable.
- CM.AP.3 Check how a program accesses and processes variables.
- Check that variable types fit the purpose of the algorithm.
- Check that global variables are constants set before run time.
- Tell variable scopes such as global and local apart and check how they are used.
- CM.AP.4 Turn mathematical expressions and statements into program code.
- Declare, initialize and assign variables for math expressions.
- Apply the order of operations, including logical and relational operators.
- Convert a math expression or statement into program statements.
- CM.AP.5 Trace existing code to work out what it is meant to do.
- Trace code to find values at each step and predict what functions return.
- Use tracing to explain the purpose of the code.
Evaluation of Programming (EP)
- CM.EP.1 Test a program against sample output using data sets.
- Produce a given output by entering a data set.
- Test boundary cases and wrong data types to check results.
- CM.EP.2 Find and fix errors with a range of debugging techniques.
- Tell syntax, runtime and logic errors apart.
- Debug with error messages, breakpoints, intermediate output, commenting out, tracing and debugging tools.
- CM.EP.3 Compare how efficient different programs are. (to be re-checked)
- Compare algorithms with the same result by complexity, memory use and run time.
Tests and key dates
Check the Virginia Department of Education for state tests and testing windows.
Official documents
More packs
Kindergarten Math · Grade 1 Math · Grade 2 Math · Grade 3 Math · Grade 4 Math · Grade 5 Math · Grade 6 Math · Grade 7 Math · Grade 8 Math · Algebra 1 · Geometry · Algebra, Functions, and Data Analysis · Algebra 2 · Trigonometry · Probability and Statistics · Discrete Mathematics · Find another TIP
Standards codes from the Virginia Standards of Learning, © Virginia Department of Education. Summaries are Classfern's own words, not the official text – see the VDOE documents for the official wording.
Codes are facts; the descriptions are our own summaries, not the official text (Virginia Department of Education material is copyright and may not be copied commercially). Always check the official document.
Classfern is not affiliated with or endorsed by Virginia Department of Education.