Please enable JavaScript to use CodeHS

Utah Computer Programming 2 Framework


Standard Description
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