Standards in this Framework
Standard | Description |
---|---|
CP1.1.1 | Demonstrate concept knowledge of different languages. |
CP1.1.1a | Describe the difference between an interpreted language vs a compiled language |
CP1.1.1b | Identify characteristics of high-level and low-level languages |
CP1.1.2 | Demonstrate the ability to use an IDE. |
CP1.1.2a | Use an IDE to develop, compile, and run programs |
CP1.1.2b | Understand the difference between syntax, run-time, and logic errors |
CP1.1.2c | Use the debugger to identify errors |
CP1.2.1 | Demonstrate the ability to use good programming style. |
CP1.2.1a | Demonstrate proper use of white space (between lines and indentation) |
CP1.2.1b | Use appropriate naming conventions for identifiers (variables, methods, functions, and file names) |
CP1.2.1c | Understand the appropriate use of constants versus variables in programming style |
CP1.2.1d | Construct identifiers with meaningful format; camelCase and underscore |
CP1.2.1e | Implement appropriate output formatting (decimal places, dollar signs, and correct placement of variable data in a sentence) |
CP1.2.2 | Understand the ordered software development life cycle. |
CP1.2.2a | Requirements Analysis: Identify specifications and understand requirements to create a solution to a problem |
CP1.2.2b | Planning/Design: Design an algorithm to solve the problem using appropriate documentation (UML diagrams and pseudocode). |
CP1.2.2b.i | Define an algorithm |
CP1.2.2b.ii | Break the problem down into its subcomponents using top-down design |
CP1.2.2c | Implementation: Write the code, with comments, to implement the algorithm |
CP1.2.2d | Testing: Test program for verification of errors and proper functionality |
CP1.2.2e | Release and Maintenance: Release the solution and provide updates when necessarv |
CP1.3.1 | Understand and implement input and output commands. |
CP1.3.1a | Understand the difference between input and output |
CP1.3.1b | Understand there are different types of input (file, keyboard, mouse, microphone) |
CP1.3.1c | Understand there are different types of output (speakers, monitor, printer, file) |
CP1.3.1d | Write a program that receives input from a keyboard and produces output to the display |
CP1.3.2 | Understand and implement data types and variables. |
CP1.3.2a | Differentiate between primitive data types (boolean, integer, float and string) |
CP1.3.2b | Identify proper use of primitive data types (when to use one versus another) |
CP1.3.2c | Declare a variable and assign it a value using the assignment operator |
CP1.3.2d | Understand the difference between declaring and initializing a variable |
CP1.3.3 | Understand and implement operators and operands. |
CP1.3.3a | Use basic arithmetic operators (modulus, multiplication, integer division, float division, addition, subtraction) |
CP1.3.3b | Use basic comparison operators (<, >, ==, ›=, <=) |
CP1.3.3c | Use basic assignment operator (=) |
CP1.3.3d | Understand order of operations for all operators (PEMDAS) |
CP1.3.3e | Use basic logical operators (AND, OR, NOT) |
CP1.3.3f | Use operands in conjunction with arithmetic, relational, and logical operators |
CP1.3.4 | Understand and implement expressions in a program. |
CP1.3.4a | Understand how operators and operands are used to form expressions |
CP1.3.4b | Identify and implement suntactically correct expressions (Possible examples: A OR B, 5==6, x I= 3.142, x = 4, V + 7) |
CP1.3.5 | Understand and implement functions. |
CP1.3.5a | Understand and properly define scope, local variable, and global variable |
CP1.3.5b | Understand what functions are and what are they used for (readability, reusability, modularity, abstraction) |
CP1.3.5c | Understand the difference between a built-in function and user defined function |
CP1.3.5d | Utilize built-in functions |
CP1.3.5e | Understand that functions may or mav not require arguments (input(s)) |
CP1.3.5f | Understand that functions mav or mav not return value(s) (output(s)) |
CP1.3.6 | Understand and implement complex data types. |
CP1.3.6a | Understand the difference between a simple and complex data types |
CP1.3.6b | Declare a string variable in a program |
CP1.4.1a | Understand when to use an IF statement and demonstrate correct use of an IF statement |
CP1.4.1b | Understand when to use an ELSE-IF statement and demonstrate correct use of an ELSE-IF statement |
CP1.4.1c | Understand when to use an ELSE statement and demonstrate correct use of an ELSE statement |
CP1.4.1d | Understand when to use a nested IF statement and demonstrate proper use of a nested IF statement |
CP1.4.2a.i | Understand when to use a for-loop and demonstrate proper use of a for-loop |
CP1.4.2a.ii | Understand the three components of a for-loop: An initial value (i = 0), A condition (i<7), An update expression (i=i+1) |
CP1.4.2b | Understand when to use a while-loop and demonstrate proper use of a while-loop |
CP1.4.2c | Understand when to use nested loops and demonstrate proper use nested loops |
CP1.4.2d | Identify the various ways that loops can end (break, met condition, condition fail) |
CP1.4.2e | Design loops so they iterate the correct number of times |
CP1.4.2f | Understand what causes an infinite loop |
CP1.4.3 | Understand and implement expressions and complex conditions in control structures. |
CP1.4.3a | Create expressions using relational operators -- Example: (a> 6, x!=7, y> 4) |
CP1.4.3b | Form complex conditions using logical operators -- Example: (a > 6 AND x != 7 OR y > 4) |
CP1.4.3c | Incorporate complex conditions in loop structures -- Example: While a player's health is greater than 50 and player is not dead |
CP1.5.1 | Investigate career opportunities, trends, and requirements related to computer programming/software engineering careers. |
CP1.5.1a | Identify the members of a computer programming/software engineering team:, team leader, analyst, senior developer, junior developer, client/subiect matter expert |
CP1.5.1b | Describe work performed by each member of the computer programming/software engineering team |
CP1.5.1c | Investigate trends and traits associated with computer programming/software engineering careers (creativity, technical, leadership, collaborative, problem solving, design, etc.) |
CP1.5.1d | Discuss related career pathways |
CP1.5.2 | Understand current ethical issues dealing with computer programming and information in society. |
CP1.5.2a | Explain the impact software can have on society (i.e., privacy, piracy, copyright laws, ease of use, etc.) |
CP1.5.2b | Explain the ethical reasons for creating reliable and robust software |
CP1.5.2c | Describe how computer-controlled automation affects a workplace and society |