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