Standards in this Framework
Standard | Lessons |
---|---|
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 |
|