UT.CP2.1.1a |
Declare and initialize static arrays/lists of all applicable types |
Lessons
|
UT.CP2.1.1b |
Perform data input to and output from static arrays/lists |
Lessons
|
UT.CP2.1.1c |
Perform operations on static arrays/lists including sort arrays |
Lessons
|
UT.CP2.1.1d |
Iterate through the static structure (i.e., for-each, enhanced for, or iterators) |
Lessons
|
UT.CP2.1.2a |
Declare and initialize a dynamic array/list |
Lessons
|
UT.CP2.1.2b |
Add and remove items from the dynamic array/list |
Lessons
|
UT.CP2.1.2c |
Output data from dynamic arrays/lists |
Lessons
|
UT.CP2.1.2d |
Perform operations on dynamic arrays/lists |
Lessons
|
UT.CP2.1.2e |
Iterate through the dynamic structure (i.e. for-each, enhanced for, or iterators) |
Lessons
|
UT.CP2.1.2f |
Use a loop to iterate through the dynamic structure |
Lessons
|
UT.CP2.1.3a |
Compare string values |
Lessons
|
UT.CP2.1.3b |
Find the length of a string |
Lessons
|
UT.CP2.1.3c |
Copy part or all of string values into other strings |
Lessons
|
UT.CP2.1.3d |
Concatenate string values |
Lessons
|
UT.CP2.1.3e |
Locate substring positions |
Lessons
|
UT.CP2.1.3f |
Insert strings into other strings |
Lessons
|
UT.CP2.2.1a |
Create and initialize sequential files |
Lessons
|
UT.CP2.2.1b |
Store data to sequential files |
Lessons
|
UT.CP2.2.1c |
Retrieve data from sequential files |
Lessons
|
UT.CP2.2.1d |
Update sequential files |
Lessons
|
UT.CP2.3.1a |
Understand that variables and functions have scope, which influences where they can be declared and accessed |
Lessons
|
UT.CP2.3.1b |
Declare and access local variables in a program |
Lessons
|
UT.CP2.3.1c |
Declare and access global variables in a program |
Lessons
|
UT.CP2.3.2a |
Understand the correlation between arguments (inputs) and parameters (variables) |
Lessons
|
UT.CP2.3.2b |
Understand that functions may or may not require arguments |
Lessons
|
UT.CP2.3.2c |
Understand that functions may or may not return values |
Lessons
|
UT.CP2.3.2d |
Define function(s), with parameters, without parameters, with return values, without return values, default parameters |
Lessons
|
UT.CP2.3.3a |
Identify repetitive or redundant code in an application |
Lessons
|
UT.CP2.3.3b |
Understand the role abstraction plays in computer programming |
Lessons
|
UT.CP2.3.3c |
Demonstrate how to abstract multiple steps into a function |
Lessons
|
UT.CP2.3.3d |
Identify the characteristics of a well-defined function. Examples: shorter code, efficiency, reduced memory consumption, high reliability, readability, abstraction |
Lessons
|
UT.CP2.4.1a |
Instantiate objects |
Lessons
|
UT.CP2.4.1b |
Use object data members (i.e., Java’s arr. length) |
Lessons
|
UT.CP2.4.1c |
Use object member functions (methods) |
Lessons
|
UT.CP2.4.2a |
Create and use data members (instance variables) |
Lessons
|
UT.CP2.4.2b |
Create a constructor to initialize the data members |
Lessons
|
UT.CP2.4.2c |
Create and use member functions (methods) |
Lessons
|
UT.CP2.5.1a |
Tracing - Cognitively following the passes of a loop, nested function calls, change in value of global and local scoped variables, etc. |
Lessons
|
UT.CP2.5.1b |
Debugging - Utilizing 3rd party tools (IDE’s) to step through a program and troubleshoot |
Lessons
|
UT.CP2.5.1c |
Testing - Validating the outputs of a program and testing its robustness. (i.e., boundary conditions, invalid inputs, unexpected scenarios, incorrect results, etc.) |
Lessons
|
UT.CP2.6.1a |
Formalize specifications |
Lessons
|
UT.CP2.6.1b |
Choose proper input parameters |
Lessons
|
UT.CP2.6.1c |
Choose appropriate data structures and processing |
Lessons
|
UT.CP2.6.1d |
Design appropriate output |
Lessons
|
UT.CP2.6.1e |
Use appropriate test data |
Lessons
|
UT.CP2.6.1f |
Write good documentation |
Lessons
|
UT.CP2.6.2a |
Divide a project among programmers |
Lessons
|
UT.CP2.6.2b |
Present work to a group |
Lessons
|
UT.CP2.6.2c |
Coordinate work with others in the group |
Lessons
|
UT.CP2.6.2d |
Complete assigned work according to predetermined deadlines |
Lessons
|
UT.CP2.6.2e |
Participate in a peer performance evaluation |
Lessons
|
UT.CP2.6.2f |
Demonstrate professionalism in team relationships, communication, timeliness, and attitude |
Lessons
|
UT.CP2.7.1a |
Explain the ethical reasons for creating reliable and robust software |
Lessons
|
UT.CP2.7.1b |
Explain the impact software can have on society (i.e., privacy, piracy, copyright laws, ease of use, ete.) |
Lessons
|
UT.CP2.7.1c |
Show how security concerns can be addressed in an application (i.e., biometrics, passwords, information hiding, etc.) |
Lessons
|
UT.CP2.7.1d |
Describe how computer-controlled automation affects a workplace and society |
Lessons
|
UT.CP2.7.1e |
Give examples of ways to protect information on computer systems (attacks, viruses, malware, etc.) |
Lessons
|
UT.CP2.8.1a |
Identify the members of a computer programming/software engineering team: team leader, analyst, senior developer, junior developer, and client/subject matter expert |
Lessons
|
UT.CP2.8.1b |
Describe work performed by each member of the computer programming/software engineering team |
Lessons
|
UT.CP2.8.1c |
Investigate trends and traits associated with computer programming/software engineering careers (creativity, technical, leadership, collaborative, problem solving, design, etc.) |
Lessons
|
UT.CP2.8.1d |
Discuss related career (computer programming/software engineering) pathways |
Lessons
|