Please enable JavaScript to use CodeHS

Standards Mapping

for Utah Computer Programming 2

61

Standards in this Framework

33

Standards Mapped

54%

Mapped to Course

Standard Lessons
UT.CP2.1.1a
Declare and initialize static arrays/lists of all applicable types
  1. 6.1 Array
  2. 7.1 ArrayList
UT.CP2.1.1b
Perform data input to and output from static arrays/lists
  1. 6.2 Traversing Arrays
UT.CP2.1.1c
Perform operations on static arrays/lists including sort arrays
  1. 6.4 Developing Algorithms Using Arrays
  2. 7.6 Sorting
UT.CP2.1.1d
Iterate through the static structure (i.e., for-each, enhanced for, or iterators)
  1. 6.2 Traversing Arrays
  2. 6.3 Enhanced for Loop for Arrays
UT.CP2.1.2a
Declare and initialize a dynamic array/list
  1. 7.1 ArrayList
UT.CP2.1.2b
Add and remove items from the dynamic array/list
  1. 7.2 ArrayList Methods
UT.CP2.1.2c
Output data from dynamic arrays/lists
  1. 7.2 ArrayList Methods
UT.CP2.1.2d
Perform operations on dynamic arrays/lists
  1. 7.2 ArrayList Methods
UT.CP2.1.2e
Iterate through the dynamic structure (i.e. for-each, enhanced for, or iterators)
  1. 7.3 Traversing ArrayLists
  2. 7.4 Developing Algorithms using ArrayLists
UT.CP2.1.2f
Use a loop to iterate through the dynamic structure
  1. 7.3 Traversing ArrayLists
UT.CP2.1.3a
Compare string values
  1. 2.8 String Methods
UT.CP2.1.3b
Find the length of a string
  1. 2.8 String Methods
UT.CP2.1.3c
Copy part or all of string values into other strings
  1. 2.8 String Methods
UT.CP2.1.3d
Concatenate string values
  1. 2.8 String Methods
UT.CP2.1.3e
Locate substring positions
  1. 2.8 String Methods
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.3.1a
Understand that variables and functions have scope, which influences where they can be declared and accessed
  1. 5.8 Scope and Access
UT.CP2.3.1b
Declare and access local variables in a program
  1. 5.8 Scope and Access
UT.CP2.3.1c
Declare and access global variables in a program
  1. 5.8 Scope and Access
UT.CP2.3.2a
Understand the correlation between arguments (inputs) and parameters (variables)
  1. 2.5 Calling a Void Method with Parameters
UT.CP2.3.2b
Understand that functions may or may not require arguments
  1. 2.5 Calling a Void Method with Parameters
UT.CP2.3.2c
Understand that functions may or may not return values
  1. 2.6 Calling a Non-void Method
UT.CP2.3.2d
Define function(s), with parameters, without parameters, with return values, without return values, default parameters
  1. 2.4 Calling a Void Method
  2. 2.5 Calling a Void Method with Parameters
  3. 2.6 Calling a Non-void Method
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
UT.CP2.3.3d
Identify the characteristics of a well-defined function. Examples: shorter code, efficiency, reduced memory consumption, high reliability, readability, abstraction
UT.CP2.4.1a
Instantiate objects
  1. 2.2 Creating and Storing Objects (Instantiation)
UT.CP2.4.1b
Use object data members (i.e., Java’s arr. length)
  1. 6.2 Traversing Arrays
UT.CP2.4.1c
Use object member functions (methods)
  1. 2.4 Calling a Void Method
  2. 2.5 Calling a Void Method with Parameters
  3. 2.6 Calling a Non-void Method
UT.CP2.4.2a
Create and use data members (instance variables)
  1. 5.4 Accessor Methods
  2. 5.5 Mutator Methods
UT.CP2.4.2b
Create a constructor to initialize the data members
  1. 5.2 Constructors
UT.CP2.4.2c
Create and use member functions (methods)
  1. 5.6 Writing Methods
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.
  1. 4.5 Informal Code Analysis
  2. 10.1 Recursion
UT.CP2.5.1b
Debugging - Utilizing 3rd party tools (IDE’s) 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
  1. 5.6 Writing Methods
UT.CP2.6.1c
Choose appropriate data structures and processing
UT.CP2.6.1d
Design appropriate output
  1. 1.6 Casting and Ranges of Variables
UT.CP2.6.1e
Use appropriate test data
UT.CP2.6.1f
Write good documentation
  1. 5.3 Documentation with Comments
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, ete.)
  1. 5.10 Ethical and Social Implications of Computing
  2. 7.7 Ethical Issues Around Data Collection
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.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 (computer programming/software engineering) pathways