Standards in this Framework
Standards Mapped
Mapped to Course
| Standard | Lessons |
|---|---|
|
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
Recognize sorting data structures using quadratic (n2) and binary (n log n) sorts |
|
|
CPA.2.2d
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 (Last in, First out) |
|
|
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 onto and dequeue values off of queues (First in, First out) |
|
|
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.1d
Understand the principle of encapsulation as it relates to object-oriented programming |
|
|
CPA.5.2a
Utilize class hierarchies (parent-child relationships, superclass-subclass 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. instanceof, 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
Students will understand that API’s allow programs to talk to each other |
|
|
CPA.7.1b
Students will demonstrate the use of an API in the development of a program |
|
|
CPA.8.1
Create an individual program of significant complexity. |
|
|
CPA.8.1a
Create design documentation for the project |
|
|
CPA.8.1b
Follow accepted object-oriented programming methodology when writing the code |
|
|
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.) |
|
|
CPA.9.1b
Explain the ethical reasons for creating reliable and robust software |
|
|
CPA.9.1c
Describe how computer-controlled automation affects a workplace and society |
|
|
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. |
|