for Utah Computer Programming 2 — Introduction to Computer Science in JavaScript (Corgi)
Total Standards: 57Mapped: 29Completion: 50%
UT.CP2.1.1a
Declare and initialize static arrays/lists of all applicable types
UT.CP2.1.1b
Perform data input to and output from static arrays/lists
UT.CP2.1.1c
Perform operations on static arrays/lists including sort arrays
UT.CP2.1.1d
Iterate through the static structure (i.e., for-each, enhanced for, or iterators)
UT.CP2.1.2a
Declare and initialize a dynamic array/list
20.1 Intro to Arrays
UT.CP2.1.2b
Add and remove items from the dynamic array/list
20.2 Adding & Removing from an Array
UT.CP2.1.2c
Output data from dynamic arrays/lists
20.2 Adding & Removing from an Array
UT.CP2.1.2d
Perform operations on dynamic arrays/lists
20.5 Array Methods
UT.CP2.1.2e
Iterate through the dynamic structure (i.e. for-each, enhanced for, or iterators)
20.3 Iterating Through an Array
20.4 Array Iteration with Graphics
20.5 Array Methods
UT.CP2.1.2f
Use a loop to iterate through the dynamic structure
20.3 Iterating Through an Array
20.4 Array Iteration with Graphics
20.5 Array Methods
UT.CP2.1.3a
Compare string values
6.4 Comparison Operators
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
3.2 Variables
3.3 User Input
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.3.1a
Understand that variables and functions have scope, which influences where they can be declared and accessed
3.7 Basic Functions
8.4 Variable Scopes
UT.CP2.3.1b
Declare and access local variables in a program
3.2 Variables
8.1 Parameters
UT.CP2.3.1c
Declare and access global variables in a program
3.4 Basic Math
4.1 Intro to the Canvas and Graphics
8.1 Parameters
UT.CP2.3.2a
Understand the correlation between arguments (inputs) and parameters (variables)
8.1 Parameters
8.2 Return Values
8.3 Default Parameter Values
UT.CP2.3.2b
Understand that functions may or may not require arguments
8.3 Default Parameter Values
UT.CP2.3.2c
Understand that functions may or may not return values
8.1 Parameters
8.2 Return Values
UT.CP2.3.2d
Define function(s), with parameters, without parameters, with return values, without return values, default parameters
3.7 Basic Functions
8.1 Parameters
8.2 Return Values
8.3 Default Parameter Values
UT.CP2.3.3a
Identify repetitive or redundant code in an application
1.9 For Loops
6.9 For Loops
UT.CP2.3.3b
Understand the role abstraction plays in computer programming
1.4 Functions in Karel
1.6 Top Down Design and Decomposition in Karel
1.8 Super Karel
UT.CP2.3.3c
Demonstrate how to abstract multiple steps into a function
1.4 Functions in Karel
1.8 Super Karel
3.7 Basic Functions
8.1 Parameters
8.2 Return Values
UT.CP2.3.3d
Identify the characteristics of a well-defined function. Examples: shorter code, efficiency, reduced memory consumption, high reliability, readability, abstraction
1.4 Functions in Karel
8.1 Parameters
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.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.1a
Tracing - Cognitively following the passes of a loop, nested function calls, change in value of global and local scoped variables, etc.
1.9 For Loops
6.7 The Break Statement
6.9 For Loops
8.1 Parameters
8.2 Return Values
8.3 Default Parameter Values
8.4 Variable Scopes
10.1 Timers
UT.CP2.5.1b
Debugging - Utilizing 3rd party tools (IDE’s) to step through a program and troubleshoot
1.1 Introduction to Programming With Karel
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.)
3.3 User Input
10.3 Collisions
10.4 Mouse Click Events
12.1 Breakout
UT.CP2.6.1a
Formalize specifications
13.1 Project Prep and Development
UT.CP2.6.1b
Choose proper input parameters
13.1 Project Prep and Development
UT.CP2.6.1c
Choose appropriate data structures and processing
UT.CP2.6.1d
Design appropriate output
13.1 Project Prep and Development
UT.CP2.6.1e
Use appropriate test data
13.1 Project Prep and Development
UT.CP2.6.1f
Write good documentation
13.1 Project Prep and Development
UT.CP2.6.2a
Divide a project among programmers
UT.CP2.6.2b
Present work to a group
13.1 Project Prep and Development
UT.CP2.6.2c
Coordinate work with others in the group
UT.CP2.6.2d
Complete assigned work according to predetermined deadlines
13.1 Project Prep and Development
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.)
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.)