Please enable JavaScript to use CodeHS

Standards Mapping

for Utah Computer Programming Advanced

69

Standards in this Framework

44

Standards Mapped

63%

Mapped to Course

Standard Lessons
CPA.1.1a
Develop complex applications using input, calculations, and output
  1. 4.3 Items, Choices, and the Loop
  2. 7.5 Put It All Together
CPA.1.1b
Develop complex applications using control structures (loops, if else, select, etc.)
  1. 4.3 Items, Choices, and the Loop
  2. 7.5 Put It All Together
CPA.1.1c
Develop complex applications in object-oriented programming
  1. 2.8 Composition
  2. 4.2 Building Your Characters
CPA.1.1d
Develop complex applications using data structures
  1. 5.7 Basic Trees
  2. 7.3 Playlists and Player Features
CPA.1.1e
Develop complex applications using files (sequential files)
  1. 9.2 Build Your Dataset
CPA.1.2a
Analyze and solve recursive functions or methods
  1. 6.9 Recursion
CPA.1.2b
Utilize recursive algorithms to solve a problem
  1. 6.9 Recursion
CPA.1.2c
Identify the base case, recursive case, and action of each recursive function or method
  1. 6.9 Recursion
CPA.1.2d
(Optional) Understand the use of a recursive helper function or method
CPA.1.3a
Create and use overloaded constructors and methods
  1. 2.6 Constructors
CPA.1.3b
Create and use overloaded operators (C++)
  1. 2.7 Magic Methods
CPA.2.1a
Develop a binary search
  1. 6.5 Binary Search
CPA.2.1b
Compare the efficiency and appropriateness of sequential and binary searches
  1. 6.5 Binary Search
  2. 7.4 Searching and Sorting the Library
CPA.2.2a
Sort arrays using iterative sorting algorithms (selection, insertion, bubble)
  1. 6.6 Bubble Sort
  2. 6.7 Selection Sort
  3. 6.8 Insertion Sort
CPA.2.2b
Recognize recursive sorting algorithms (merge, quick, heap)
  1. 6.10 Merge Sort
  2. 6.11 Quick Sort
CPA.2.2c
Recognize sorting data structures using quadratic (n2) and binary (n log n) sorts
  1. 6.10 Merge Sort
  2. 6.11 Quick Sort
  3. 7.4 Searching and Sorting the Library
CPA.2.2d
Compare the efficiency of different sorting algorithms
  1. 6.11 Quick Sort
  2. 7.4 Searching and Sorting the Library
CPA.3.1a
Initialize multidimensional arrays
CPA.3.1b
Input and output data into and from multidimensional arrays
CPA.3.1c
Perform operations on multidimensional arrays
CPA.3.1d
Perform searches on multidimensional arrays
  1. 6.9 Recursion
CPA.4.1a
Declare stack structures
  1. 5.3 Last-In, First-Out
CPA.4.1b
Initialize stacks
  1. 5.3 Last-In, First-Out
CPA.4.1c
Check for empty and full stacks
  1. 5.3 Last-In, First-Out
CPA.4.1d
Push on to and pop off values from stacks (Last in, First out)
  1. 5.3 Last-In, First-Out
CPA.4.1e
Develop an application that utilizes stacks
  1. 5.3 Last-In, First-Out
  2. 7.3 Playlists and Player Features
CPA.4.2a
Declare queue structures
  1. 5.4 First-In, First-Out
CPA.4.2b
Check for empty and full queues
  1. 5.4 First-In, First-Out
CPA.4.2c
Initialize queues
  1. 5.4 First-In, First-Out
CPA.4.2d
Enqueue values onto and dequeue values off of queues (First in, First out)
  1. 5.4 First-In, First-Out
CPA.4.2e
Develop an application that utilize queues
  1. 5.4 First-In, First-Out
  2. 8.2 Breadth-First Search
CPA.5.1a
Create classes with minimal extraneous relationships (high cohesion and low coupling)
CPA.5.1b
Demonstrate and use composition and aggregation (HAS-A) relationships
  1. 2.8 Composition
CPA.5.1c
Demonstrate the use of class variables (static variables)
CPA.5.1d
Understand the principle of encapsulation as it relates to object-oriented programming
  1. 2.3 Getters and Setters
CPA.5.2a
Utilize class hierarchies (parent-child relationships, superclass-subclass relationships)
  1. 2.4 Inheritance
  2. 4.2 Building Your Characters
CPA.5.2b
Demonstrate IS-A relationships
  1. 2.4 Inheritance
  2. 2.8 Composition
CPA.5.2c
Override methods. Understand how to call the overriding method from the child
  1. 2.5 Polymorphism
CPA.5.2d
Demonstrate the protected modifier
CPA.5.2e
Call a parent class constructor from the child’s constructor
  1. 2.4 Inheritance
CPA.5.3a
Create and implement abstract classes
CPA.5.3b
Implement interfaces (purely abstract classes)
CPA.5.3c
Know difference between abstract & interface classes
CPA.5.4a
Demonstrate that a parent object variable can hold an instance of a child class
  1. 2.5 Polymorphism
CPA.5.4b
Determine IS-A relationships via code (e.g. instanceof, typeof, isa)
  1. 2.5 Polymorphism
CPA.5.4c
Demonstrate typecasting via method calls of inherited objects
CPA.6.1a
Create an activity diagram
CPA.6.1b
Create a class diagram for the class hierarchy of a program
CPA.6.1c
Create a sequence diagram for a method
CPA.6.1d
Translate diagrams to code
  1. 11.9 Flowcharts and Pseudocode
CPA.7.1a
Students will understand that API’s allow programs to talk to each other
  1. 3.3 Exploring Web Data with Python
CPA.7.1b
Students will demonstrate the use of an API in the development of a program
  1. 3.3 Exploring Web Data with Python
CPA.8.1
Create an individual program of significant complexity.
  1. 4.3 Items, Choices, and the Loop
  2. 4.4 Import Packages
  3. 7.5 Put It All Together
CPA.8.1a
Create design documentation for the project
  1. 4.1 Project Launch and Design
  2. 7.1 Plan Your Music Library
  3. 9.1 Plan Your Classifier
CPA.8.1b
Follow accepted object-oriented programming methodology when writing the code
  1. 4.2 Building Your Characters
  2. 4.3 Items, Choices, and the Loop
CPA.8.2
Compile a portfolio of the individual and group programs developed.
CPA.8.2a
Include sample design work
CPA.8.2b
Include sample program source code
CPA.9.1a
Explain the impact software can have on society (i.e., privacy, piracy, copyright laws, ease of use, etc.)
  1. 8.11 Decision Trees
  2. 9.6 Showcase and Reflection
CPA.9.1b
Explain the ethical reasons for creating reliable and robust software
  1. 8.10 Overfitting and Evaluation
CPA.9.1c
Describe how computer-controlled automation affects a workplace and society
  1. 8.12 Neural Networks and Perceptrons
CPA.9.2
Students will understand the ethical use of AI in coding and how it impacts the programming field.
CPA.9.2a.i
Know when AI use is appropriate
CPA.9.2a.ii
Understand when and how to disclose the use of AI
CPA.9.2b.i
Understand why it is risky to let AI write your code without human oversight.
CPA.9.2b.ii
Know the importance of understanding programming concepts.
CPA.9.2c.i
Understand the importance of reviewing all AI generated code for accuracy.
CPA.9.2c.ii
Understand that AI tools can be helpful for debugging code, but it’s important to double-check their suggestions using your own programming knowledge
CPA.9.2d.i
Ethical use of AI-written software requires human oversight, bias awareness, security testing, transparency, and accountability to ensure software is fair, safe, and responsible.