Standards in this Framework
| Standard | Description |
|---|---|
| UT.CP2.1.1a | Declare and initialize arrays/lists of all applicable types. |
| UT.CP2.1.1b | Perform data input to and output from arrays/lists. |
| UT.CP2.1.1c | Perform operations on arrays/lists including sort arrays. |
| UT.CP2.1.1d | Iterate through the structure (i.e., for-each, enhanced for, or iterators). |
| UT.CP2.1.2a | Declare and initialize a dynamic array/list. |
| UT.CP2.1.2b | Add and remove items from the array/list. |
| UT.CP2.1.2c | Output data from arrays/lists. |
| UT.CP2.1.2d | Perform operations on arrays/lists. |
| UT.CP2.1.2e | Iterate through the structure (i.e., for-each, enhanced for, or iterators). |
| UT.CP2.1.2f | Use a loop to iterate through the structure. |
| UT.CP2.1.3a | Compare string values. |
| UT.CP2.1.3b | Find the length of a string. |
| UT.CP2.1.3c | Copy part or all of string values into other strings. |
| UT.CP2.1.3d | Concatenate string values. |
| UT.CP2.1.3e | Locate substring positions. |
| UT.CP2.1.3f | Insert strings into other strings. |
| UT.CP2.2.1a | Create and initialize sequential files. |
| UT.CP2.2.1b | Store data to sequential files. |
| UT.CP2.2.1c | Retrieve data from sequential files. |
| UT.CP2.2.1d | Update sequential files. |
| UT.CP2.2.2a | An API (Application Programming Interface) is a set of rules and protocols that enables different software applications to communicate with each other and exchange data or functionality. |
| UT.CP2.2.2b | An API is like a bridge that lets different software systems exchange data or use each other's features without needing to know what's happening behind the scenes. |
| UT.CP2.2.2c | Know the different types of APIs (ex: REST, SOAP, GraphQL, WebSocket, Database API, etc.). |
| UT.CP2.2.2d | Implement or demonstrate an API. |
| UT.CP2.2.2e | Demonstrate how to use an API in program development. |
| UT.CP2.3.1a | Understand that variables and functions/methods/procedures have scope, which influences where they can be declared and accessed. |
| UT.CP2.3.1b | Declare and access local variables in a program. |
| UT.CP2.3.1c | Declare and access global variables in a program. |
| UT.CP2.3.2a | Understand the correlation between arguments (inputs) and parameters (variables). |
| UT.CP2.3.2b | Understand that functions/methods/procedures may or may not require arguments. |
| UT.CP2.3.2c | Understand that functions/methods/procedures may or may not return values. |
| UT.CP2.3.2d | Define functions/methods/procedures: |
| UT.CP2.3.2d.i | with parameters |
| UT.CP2.3.2d.ii | without parameters |
| UT.CP2.3.2d.iii | with return values |
| UT.CP2.3.2d.iv | without return values |
| UT.CP2.3.2d.v | default parameters |
| UT.CP2.3.3a | Identify repetitive or redundant code in an application. |
| UT.CP2.3.3b | Understand the role abstraction plays in computer programming. |
| UT.CP2.3.3c | Demonstrate how to abstract multiple steps into a function/method/procedure. |
| UT.CP2.3.3d | Identify the characteristics of a well-defined function/method/procedure (examples: shorter code, efficiency, reduced memory consumption, high reliability, readability, abstraction). |
| UT.CP2.4.1a | Instantiate objects. |
| UT.CP2.4.1b | Use object data members (i.e., Java's arr.length). |
| UT.CP2.4.1c | Use object member functions (methods). |
| UT.CP2.4.2 | Demonstrate the ability to create user-defined classes. |
| UT.CP2.4.2a | Create and use data members (instance variables). |
| UT.CP2.4.2b | Create a constructor to initialize the data members. |
| UT.CP2.4.2c | Create and use member functions (methods). |
| UT.CP2.5.1 | Demonstrate the ability to comprehend code outcomes. |
| 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. |
| UT.CP2.5.1b | Debugging - Utilizing 3rd party tools (IDEs) to step through a program and troubleshoot. |
| 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.). |
| UT.CP2.6.1a | Formalize specifications. |
| UT.CP2.6.1b | Choose proper input parameters. |
| UT.CP2.6.1c | Choose appropriate data structures and processing. |
| UT.CP2.6.1d | Design appropriate output. |
| UT.CP2.6.1e | Use appropriate test data. |
| UT.CP2.6.1f | Write good documentation. |
| UT.CP2.6.2a | Divide a project among programmers. |
| UT.CP2.6.2b | Present work to a group. |
| UT.CP2.6.2c | Coordinate work with others in the group. |
| UT.CP2.6.2d | Complete assigned work according to predetermined deadlines. |
| UT.CP2.6.2e | Participate in a peer performance evaluation. |
| UT.CP2.6.2f | Demonstrate professionalism in team relationships, communication, timeliness, and attitude. |
| UT.CP2.7.1a | Explain the ethical reasons for creating reliable and robust software. |
| UT.CP2.7.1b | Explain the impact software can have on society (i.e., privacy, piracy, copyright laws, ease of use, etc.). |
| UT.CP2.7.1c | Show how security concerns can be addressed in an application (i.e., biometrics, passwords, information hiding, etc.). |
| UT.CP2.7.1d | Describe how computer-controlled automation affects a workplace and society. |
| UT.CP2.7.1e | Give examples of ways to protect information on computer systems (attacks, viruses, malware, etc.). |
| UT.CP2.7.2a | Responsible use of AI, which includes recognizing when to use AI, using appropriate prompts to produce desired output, determining accuracy of information, how AI has contributed to a product, and communicating that clearly. |
| UT.CP2.7.2b | The importance of transparency and documentation, both in their own use of AI tools and in verifying the authenticity of others' work. |
| UT.CP2.7.2c | How AI influences all work, including the evolving boundaries and tightening restrictions around intellectual property and copyright. |
| UT.CP2.7.3a | Academic integrity and attribution. |
| UT.CP2.7.3b | Know when AI use is appropriate. |
| UT.CP2.7.3c | Understand disclosing when you use AI. |
| UT.CP2.7.3d | Understanding vs. over-reliance on AI. |
| UT.CP2.7.3e | Verifying and debugging AI generated code. |
| UT.CP2.7.3f | Reviewing the code to make sure there are no coding errors. |
| UT.CP2.7.3g | Ethical implications of AI written software. |
| 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. |
| UT.CP2.8.1b | Describe work performed by each member of the computer programming/software engineering team. |
| UT.CP2.8.1c | Investigate trends and traits associated with computer programming/software engineering careers (creativity, technical, leadership, collaborative, problem solving, design, etc.). |
| UT.CP2.8.1d | Discuss related career pathways. |