Virginia: Computer Mathematics Math Standards
76 standards · 4 domains
APPLICATIONS OF PROGRAMMING
- CM.AP.1.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.b Write a computer program that includes sequencing, selection (conditionals), and iteration (loops).
- CM.AP.1.c.i formulas and equations;
- CM.AP.1.c.ii functions;
- CM.AP.1.c.iii probability and statistics; and
- CM.AP.1.c.iv data-analysis.
- CM.AP.2.a.i describe the overall purpose of a program;
- CM.AP.2.a.ii align a previously created step-by-step plan to a written program;
- CM.AP.2.a.iii describe pre-conditions and post-conditions; and
- CM.AP.2.a.iv improve the readability of a program.
- CM.AP.3.a Verify that the variable types are aligned to the purpose of the algorithm.
- CM.AP.3.b Verify that global variables are set to constant values before run time.
- CM.AP.3.c Differentiate between the scopes of variables (e.g., global scope versus local scope) and verify the intended use.
- CM.AP.4.a Declare, initialize, and assign variables to represent mathematical expressions or statements.
- CM.AP.4.b Implement order of operations, including logical and relational operators.
- CM.AP.4.c Translate a mathematical expression or statement into a programming statement(s).
- CM.AP.5.a.i identify values at each stage of an algorithm; and
- CM.AP.5.a.ii predict return values of functions given specific arguments.
- CM.AP.5.b Use tracing to describe the intended purpose of existing code for an algorithm.
COMPONENTS OF PROGRAMMING
- CM.CP.1.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.b Define the variables needed to perform a task or solve a problem.
- CM.CP.1.c Define the constraints of a task or problem (e.g., pre-conditions, post-conditions) to determine the desired input and output.
- CM.CP.2.a Write and implement Boolean expressions using logical and relational operators (e.g., !, &&, ||, ==, <, >, >=, <=, !=).
- CM.CP.2.b Write and implement “if” conditional statements.
- CM.CP.2.c Write and implement “if/else” conditional statements.
- CM.CP.2.d Write and implement compound conditional statements (e.g., nested conditionals, chained conditional statements).
- CM.CP.2.e Determine which parts of an algorithm are executed based on a condition being true or false.
- CM.CP.3.a Write and implement “while” and “for” loops.
- CM.CP.3.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.c Identify conditions that cause infinite loops.
- CM.CP.3.d Determine the outcome of code segments that include loops.
- CM.CP.4.a.i formatting output in text-based environments;
- CM.CP.4.a.ii displaying output through a graphical user interface; and
- CM.CP.4.a.iii sending output to a physical device (e.g., speakers, robots, LED lights).
- CM.CP.4.b Write output to a file.
- CM.CP.5.a Write and implement input statements to store user given values into a program.
- CM.CP.5.b Validate input data using exception coding (e.g., using a “while” loop to control valid input by a user).
- CM.CP.5.c Determine what output a program will produce given a specific input.
- CM.CP.6.a Implement library functions to process data.
- CM.CP.6.b Implement library functions to perform mathematical operations (e.g., random, absolute value, square root, power).
- CM.CP.6.c Implement void library functions and return library functions.
- CM.CP.6.d Implement overloaded library functions.
- CM.CP.7.a Write and implement a user-defined function to complete a task or sub-task.
- CM.CP.7.b Write and implement void functions and return functions.
- CM.CP.7.c Write and implement functions that accept parameters.
- CM.CP.8.a Differentiate between types of search routines.
- CM.CP.8.b Differentiate between types of sort routines.
- CM.CP.8.c Implement pre-defined algorithms.
- CM.CP.8.d Implement a search routine on a one-dimensional list or an array, including sequential search and binary search.
- CM.CP.8.e Implement a sort routine on a one-dimensional list or an array (e.g., selection sort, insertion sort, merge sort).
DATA REPRESENTATION AND STORAGE
- CM.DRS.1.a Represent data in different number systems, including binary, decimal, and hexadecimal.
- CM.DRS.1.b Convert data between number systems (e.g., binary to decimal, decimal to hexadecimal).
- CM.DRS.2.a.i Boolean;
- CM.DRS.2.a.ii character;
- CM.DRS.2.a.iii integer;
- CM.DRS.2.a.iv decimal (double/float); and
- CM.DRS.2.a.v string.
- CM.DRS.2.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.3.a Given a specific task or problem, determine the appropriate data structure (e.g., lists, arrays, objects) to represent data.
- CM.DRS.3.b.i declare a list or array (one-dimensional or two-dimensional);
- CM.DRS.3.b.ii choose an appropriate data type for a list or an array; and
- CM.DRS.3.b.iii fill the list or array with data.
- CM.DRS.3.c Access and manipulate a particular element of a list or an array.
- CM.DRS.3.d Implement predefined objects to consolidate related information of different data types.
EVALUATION OF PROGRAMMING
- CM.EP.1.a Produce a given output by entering a data set.
- CM.EP.1.b Test a program including boundary cases and inaccurate data types to verify the intended outcomes.
- CM.EP.2.a Differentiate among syntax errors, runtime errors, and logic errors.
- CM.EP.2.b.i interpret syntax and runtime error messages;
- CM.EP.2.b.ii place controlled breaks;
- CM.EP.2.b.iii output intermediate results;
- CM.EP.2.b.iv disable a section of code by converting it into a comment;
- CM.EP.2.b.v trace code to identify logic errors; and
- CM.EP.2.b.vi use debugging tools available in the programming environment.
- CM.EP.3.a.i complexity of algorithms with the same intended outcomes;
- CM.EP.3.a.ii memory space used; and
- CM.EP.3.a.iii run time.