Please enable JavaScript to use CodeHS

Standards Framework

for Utah Computer Programing Advanced

52

Standards in this Framework

Standard Description
CPA.1.1a Develop complex applications using input, calculations, and output.
CPA.1.1b Develop complex applications using control structures. (loops, if else, select, etc.)
CPA.1.1c Develop complex applications in object-oriented programming.
CPA.1.1d Develop complex applications using data structures.
CPA.1.1e Develop complex applications using files (sequential files).
CPA.1.2a Analyze and solve recursive functions or methods.
CPA.1.2b Utilize recursive algorithms to solve a problem.
CPA.1.2c Identify the base case, recursive case, and action of each recursive function or method.
CPA.1.2d (Optional) Understand the use of a recursive helper function or method.
CPA.1.3a Create and use overloaded constructors and methods.
CPA.1.3b Create and use overloaded operators (C++).
CPA.2.1a Develop a binary search.
CPA.2.1b Compare the efficiency and appropriateness of sequential and binary searches.
CPA.2.2a Sort arrays using iterative sorting algorithms (selection, insertion, bubble).
CPA.2.2b Recognize recursive sorting algorithms (merge, quick, heap).
CPA.2.2c Compare the efficiency of different sorting algorithms.
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.
CPA.4.1a Declare stack structures.
CPA.4.1b Initialize stacks.
CPA.4.1c Check for empty and full stacks.
CPA.4.1d Push on to and pop off values from stacks.
CPA.4.1e Develop an application that utilizes stacks.
CPA.4.2a Declare queue structures.
CPA.4.2b Check for empty and full queues.
CPA.4.2c Initialize queues.
CPA.4.2d Enqueue values on to and dequeue values off of queues.
CPA.4.2e Develop an application that utilize queues.
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.
CPA.5.1c Demonstrate the use of class variables (static variables).
CPA.5.2a Utilize class hierarchies (parent-child relationships).
CPA.5.2b Demonstrate IS-A relationships.
CPA.5.2c Override methods. Understand how to call the overriding method from the child.
CPA.5.2d Demonstrate the protected modifier.
CPA.5.2e Call a parent class constructor from the child's constructor.
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.
CPA.5.4b Determine IS-A relationships via code e.g. instance of, typeof, isa.
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.
CPA.7.1a Create design documentation for the project.
CPA.7.1b Follow accepted object-oriented programming methodology when writing the code.
CPA.7.2a Include sample design work.
CPA.7.2b Include sample program source code.