Data Representation and Storage
- DRS.1
The student will represent data and convert data between different number systems.CM.DRS.1
- DRS.2
The student will differentiate between variable data types based upon their characteristics. CM.DRS.2
- DRS.3
The student will represent data using appropriate data structures.CM.DRS.3
Represent data in different number systems, including binary, decimal, and hexadecimal.CM.DRS.1.a
- a
Represent data in different number systems, including binary, decimal, and hexadecimal.CM.DRS.1.a
Convert data between number systems (e.g., binary to decimal, decimal to hexadecimal).CM.DRS.1.b
- b
Convert data between number systems (e.g., binary to decimal, decimal to hexadecimal).CM.DRS.1.b
Describe the characteristics of different variable data types, includingCM.DRS.2.a
- a
Describe the characteristics of different variable data types, includingCM.DRS.2.a
Boolean;CM.DRS.2.a.i
- i
Boolean;CM.DRS.2.a.i
character; CM.DRS.2.a.ii
- ii
character; CM.DRS.2.a.ii
integer; CM.DRS.2.a.iii
- iii
integer; CM.DRS.2.a.iii
decimal (double/float); andCM.DRS.2.a.iv
- iv
decimal (double/float); andCM.DRS.2.a.iv
string.CM.DRS.2.a.v
- v
string.CM.DRS.2.a.v
Differentiate between variable data types to determine the data type needed based upon intended use (e.g., character versus string, integer versus double/float). CM.DRS.2.b
- b
Differentiate between variable data types to determine the data type needed based upon intended use (e.g., character versus string, integer versus double/float). CM.DRS.2.b
Given a specific task or problem, determine the appropriate data structure (e.g., lists, arrays, objects) to represent data.CM.DRS.3.a
- a
Given a specific task or problem, determine the appropriate data structure (e.g., lists, arrays, objects) to represent data.CM.DRS.3.a
Perform tasks related to lists or arrays (one-dimensional or two-dimensional), includingCM.DRS.3.b
- b
Perform tasks related to lists or arrays (one-dimensional or two-dimensional), includingCM.DRS.3.b
declare a list or array (one-dimensional or two-dimensional); CM.DRS.3.b.i
- i
declare a list or array (one-dimensional or two-dimensional); CM.DRS.3.b.i
choose an appropriate data type for a list or an array; andCM.DRS.3.b.ii
- ii
choose an appropriate data type for a list or an array; andCM.DRS.3.b.ii
fill the list or array with data.CM.DRS.3.b.iii
- iii
fill the list or array with data.CM.DRS.3.b.iii
Access and manipulate a particular element of a list or an array.CM.DRS.3.c
- c
Access and manipulate a particular element of a list or an array.CM.DRS.3.c
Implement predefined objects to consolidate related information of different data types.CM.DRS.3.d
- d
Implement predefined objects to consolidate related information of different data types.CM.DRS.3.d
Components of Programming
- CP.1
The student will design a step-by-step plan to perform a task or solve a problem, including those arising from mathematical or interdisciplinary contexts.CM.CP.1
- CP.2
The student will construct Boolean expressions and implement conditional statements.CM.CP.2
- CP.3
The student will perform iteration with loops.CM.CP.3
- CP.4
The student will write and implement the output phase of a computer program.CM.CP.4
- CP.5
The student will write and implement the input phase of a computer program.CM.CP.5
- CP.6
The student will implement library functions. CM.CP.6
- CP.7
The student will write and implement user-defined functions.CM.CP.7
- CP.8
The student will implement pre-defined algorithms, including search routines and sort routines.CM.CP.8
Design a step-by-step plan to perform a task or solve a problem using a flowchart or pseudocode that outlines the subtasks needed.CM.CP.1.a
- a
Design a step-by-step plan to perform a task or solve a problem using a flowchart or pseudocode that outlines the subtasks needed.CM.CP.1.a
Define the variables needed to perform a task or solve a problem.CM.CP.1.b
- b
Define the variables needed to perform a task or solve a problem.CM.CP.1.b
Define the constraints of a task or problem (e.g., pre-conditions, post-conditions) to determine the desired input and output.CM.CP.1.c
- c
Define the constraints of a task or problem (e.g., pre-conditions, post-conditions) to determine the desired input and output.CM.CP.1.c
Write and implement Boolean expressions using logical and relational operators (e.g., !, &&, ||, ==, <, >, >=, <=, !=).CM.CP.2.a
- a
Write and implement Boolean expressions using logical and relational operators (e.g., !, &&, ||, ==, <, >, >=, <=, !=).CM.CP.2.a
Write and implement “if” conditional statements. CM.CP.2.b
- b
Write and implement “if” conditional statements. CM.CP.2.b
Write and implement “if/else” conditional statements. CM.CP.2.c
- c
Write and implement “if/else” conditional statements. CM.CP.2.c
Write and implement compound conditional statements (e.g., nested conditionals, chained conditional statements). CM.CP.2.d
- d
Write and implement compound conditional statements (e.g., nested conditionals, chained conditional statements). CM.CP.2.d
Determine which parts of an algorithm are executed based on a condition being true or false.CM.CP.2.e
- e
Determine which parts of an algorithm are executed based on a condition being true or false.CM.CP.2.e
Write and implement “while” and “for” loops.CM.CP.3.a
- a
Write and implement “while” and “for” loops.CM.CP.3.a
Differentiate between loops that run a fixed number of times and loops that run an indefinite number of times (e.g., stopping dependent on variable conditions).CM.CP.3.b
- b
Differentiate between loops that run a fixed number of times and loops that run an indefinite number of times (e.g., stopping dependent on variable conditions).CM.CP.3.b
Identify conditions that cause infinite loops.CM.CP.3.c
- c
Identify conditions that cause infinite loops.CM.CP.3.c
Determine the outcome of code segments that include loops.CM.CP.3.d
- d
Determine the outcome of code segments that include loops.CM.CP.3.d
Write and implement the output phase of a computer program, which may include:CM.CP.4.a
- a
Write and implement the output phase of a computer program, which may include:CM.CP.4.a
formatting output in text-based environments;CM.CP.4.a.i
- i
formatting output in text-based environments;CM.CP.4.a.i
displaying output through a graphical user interface; andCM.CP.4.a.ii
- ii
displaying output through a graphical user interface; andCM.CP.4.a.ii
sending output to a physical device (e.g., speakers, robots, LED lights).CM.CP.4.a.iii
- iii
sending output to a physical device (e.g., speakers, robots, LED lights).CM.CP.4.a.iii
Write output to a file.CM.CP.4.b
- b
Write output to a file.CM.CP.4.b
Write and implement input statements to store user given values into a program.CM.CP.5.a
- a
Write and implement input statements to store user given values into a program.CM.CP.5.a
Validate input data using exception coding (e.g., using a “while” loop to control valid input by a user).CM.CP.5.b
- b
Validate input data using exception coding (e.g., using a “while” loop to control valid input by a user).CM.CP.5.b
Determine what output a program will produce given a specific input.CM.CP.5.c
- c
Determine what output a program will produce given a specific input.CM.CP.5.c
Implement library functions to process data.CM.CP.6.a
- a
Implement library functions to process data.CM.CP.6.a
Implement library functions to perform mathematical operations (e.g., random, absolute value, square root, power). CM.CP.6.b
- b
Implement library functions to perform mathematical operations (e.g., random, absolute value, square root, power). CM.CP.6.b
Implement void library functions and return library functions.CM.CP.6.c
- c
Implement void library functions and return library functions.CM.CP.6.c
Implement overloaded library functions.CM.CP.6.d
- d
Implement overloaded library functions.CM.CP.6.d
Write and implement a user-defined function to complete a task or sub-task.CM.CP.7.a
- a
Write and implement a user-defined function to complete a task or sub-task.CM.CP.7.a
Write and implement void functions and return functions.CM.CP.7.b
- b
Write and implement void functions and return functions.CM.CP.7.b
Write and implement functions that accept parameters. CM.CP.7.c
- c
Write and implement functions that accept parameters. CM.CP.7.c
Differentiate between types of search routines. CM.CP.8.a
- a
Differentiate between types of search routines. CM.CP.8.a
Differentiate between types of sort routines. CM.CP.8.b
- b
Differentiate between types of sort routines. CM.CP.8.b
Implement pre-defined algorithms.CM.CP.8.c
- c
Implement pre-defined algorithms.CM.CP.8.c
Implement a search routine on a one-dimensional list or an array, including sequential search and binary search.CM.CP.8.d
- d
Implement a search routine on a one-dimensional list or an array, including sequential search and binary search.CM.CP.8.d
Implement a sort routine on a one-dimensional list or an array (e.g., selection sort, insertion sort, merge sort).CM.CP.8.e
- e
Implement a sort routine on a one-dimensional list or an array (e.g., selection sort, insertion sort, merge sort).CM.CP.8.e
Applications of Programming
- AP.1
The student will write and implement programs using sequencing, selection, and iteration to perform a specific task or solve a problem, including those arising from mathematical and interdisciplinary contexts. CM.AP.1
- AP.2
The student will create documentation using written comments to annotate the intended purpose of the components of a user-created program.CM.AP.2
- AP.3
The student will verify how programs access and process variables.CM.AP.3
- AP.4
The student will translate a mathematical expression or statement into computer code.CM.AP.4
- AP.5
The student will trace existing code to interpret the intended purpose.CM.AP.5
Determine what components of programming are needed to implement a step-by-step plan to perform a specific task or solve a problem.CM.AP.1.a
- a
Determine what components of programming are needed to implement a step-by-step plan to perform a specific task or solve a problem.CM.AP.1.a
Write a computer program that includes sequencing, selection (conditionals), and iteration (loops).CM.AP.1.b
- b
Write a computer program that includes sequencing, selection (conditionals), and iteration (loops).CM.AP.1.b
Write and implement computer programs to solve mathematical problems usingCM.AP.1.c
- c
Write and implement computer programs to solve mathematical problems usingCM.AP.1.c
formulas and equations;CM.AP.1.c.i
- i
formulas and equations;CM.AP.1.c.i
functions;CM.AP.1.c.ii
- ii
functions;CM.AP.1.c.ii
probability and statistics; andCM.AP.1.c.iii
- iii
probability and statistics; andCM.AP.1.c.iii
data-analysis.CM.AP.1.c.iv
- iv
data-analysis.CM.AP.1.c.iv
Create documentation using written comments to: CM.AP.2.a
- a
Create documentation using written comments to: CM.AP.2.a
describe the overall purpose of a program;CM.AP.2.a.i
- i
describe the overall purpose of a program;CM.AP.2.a.i
align a previously created step-by-step plan to a written program;CM.AP.2.a.ii
- ii
align a previously created step-by-step plan to a written program;CM.AP.2.a.ii
describe pre-conditions and post-conditions; andCM.AP.2.a.iii
- iii
describe pre-conditions and post-conditions; andCM.AP.2.a.iii
improve the readability of a program.CM.AP.2.a.iv
- iv
improve the readability of a program.CM.AP.2.a.iv
Verify that the variable types are aligned to the purpose of the algorithm.CM.AP.3.a
- a
Verify that the variable types are aligned to the purpose of the algorithm.CM.AP.3.a
Verify that global variables are set to constant values before run time.CM.AP.3.b
- b
Verify that global variables are set to constant values before run time.CM.AP.3.b
Differentiate between the scopes of variables (e.g., global scope versus local scope) and verify the intended use.CM.AP.3.c
- c
Differentiate between the scopes of variables (e.g., global scope versus local scope) and verify the intended use.CM.AP.3.c
Declare, initialize, and assign variables to represent mathematical expressions or statements. CM.AP.4.a
- a
Declare, initialize, and assign variables to represent mathematical expressions or statements. CM.AP.4.a
Implement order of operations, including logical and relational operators. CM.AP.4.b
- b
Implement order of operations, including logical and relational operators. CM.AP.4.b
Translate a mathematical expression or statement into a programming statement(s). CM.AP.4.c
- c
Translate a mathematical expression or statement into a programming statement(s). CM.AP.4.c
Trace existing code of an algorithm toCM.AP.5.a
- a
Trace existing code of an algorithm toCM.AP.5.a
identify values at each stage of an algorithm; andCM.AP.5.a.i
- i
identify values at each stage of an algorithm; andCM.AP.5.a.i
predict return values of functions given specific arguments. CM.AP.5.a.ii
- ii
predict return values of functions given specific arguments. CM.AP.5.a.ii
Use tracing to describe the intended purpose of existing code for an algorithm.CM.AP.5.b
- b
Use tracing to describe the intended purpose of existing code for an algorithm.CM.AP.5.b
Evaluation of Programming
- EP.1
The student will test a program to match a sample output, using a set of data.CM.EP.1
- EP.2
The student will identify errors and debug a program using various techniques.CM.EP.2
- EP.3
The student will compare and contrast the efficiency of computer programs.CM.EP.3
Produce a given output by entering a data set. CM.EP.1.a
- a
Produce a given output by entering a data set. CM.EP.1.a
Test a program including boundary cases and inaccurate data types to verify the intended outcomes.CM.EP.1.b
- b
Test a program including boundary cases and inaccurate data types to verify the intended outcomes.CM.EP.1.b
Differentiate among syntax errors, runtime errors, and logic errors.CM.EP.2.a
- a
Differentiate among syntax errors, runtime errors, and logic errors.CM.EP.2.a
Debug a program using various techniques:CM.EP.2.b
- b
Debug a program using various techniques:CM.EP.2.b
interpret syntax and runtime error messages;CM.EP.2.b.i
- i
interpret syntax and runtime error messages;CM.EP.2.b.i
place controlled breaks;CM.EP.2.b.ii
- ii
place controlled breaks;CM.EP.2.b.ii
output intermediate results;CM.EP.2.b.iii
- iii
output intermediate results;CM.EP.2.b.iii
disable a section of code by converting it into a comment;CM.EP.2.b.iv
- iv
disable a section of code by converting it into a comment;CM.EP.2.b.iv
trace code to identify logic errors; andCM.EP.2.b.v
- v
trace code to identify logic errors; andCM.EP.2.b.v
use debugging tools available in the programming environment. CM.EP.2.b.vi
- vi
use debugging tools available in the programming environment. CM.EP.2.b.vi
Compare and contrast the efficiency of computer programs in terms ofCM.EP.3.a
- a
Compare and contrast the efficiency of computer programs in terms ofCM.EP.3.a
complexity of algorithms with the same intended outcomes; CM.EP.3.a.i
- i
complexity of algorithms with the same intended outcomes; CM.EP.3.a.i
memory space used; andCM.EP.3.a.ii
- ii
memory space used; andCM.EP.3.a.ii
run time.CM.EP.3.a.iii
- iii
run time.CM.EP.3.a.iii
Frequently asked questions
- What grade levels do these standards cover?
- Grade 9, Grade 10, Grade 11, and Grade 12
- Where can I read the official document?
- Mathematics Standards of Learning for Virginia Public Schools
Keep exploring
Keep exploring Mathematics standards
Sibling grade bands, other subjects in this jurisdiction, and the same subject across other states.
More Virginia Mathematics sets
MathematicsOther Virginia subjects
Virginia- Applied Studies Curriculum Map6 sets
- Computer Science13 sets
- CTE103 sets
- Digital Learning Integration4 sets
- Driver Education1 set
- Early Learning and Development Standards5 sets
- Economics and Personal Finance1 set
- English13 sets
- Expanded High School Science1 set
- Family Life Education13 sets
- Fine Arts43 sets
- Health11 sets
- History & Social Studies - VAAP1 set
- History and Social Science13 sets
- Mathematics - VAAP8 sets
- Physical Education14 sets
- Reading - VAAP9 sets
- School Counseling4 sets
- Science18 sets
- Science - VAAP4 sets
- Social Emotional Learning Guidance Standards7 sets
- Virginia's Community Colleges Courses2 sets
- World Language2 sets
Mathematics in other jurisdictions
Mathematics- Alabama
- Alaska
- Arizona
- California
- Colorado
- Georgia
- Idaho
- Indiana
- Iowa
- Kansas
- Kentucky
- Louisiana
- Maine
- Maryland
- Massachusetts
- Michigan
- Minnesota
- Mississippi
- Missouri
- Nebraska
- Nevada
- New Jersey
- New Mexico
- North Carolina
- Ohio
- Oklahoma
- Oregon
- Pennsylvania
- Rhode Island
- South Carolina
- South Dakota
- Tennessee
- Texas
- Utah
- Washington
- West Virginia
- Wisconsin
- Wyoming