Please enable JavaScript to use CodeHS

Standards Mapping

for Natrona Computer Programming 2


Standards in this Framework


Standards Mapped


Mapped to Course

Standard Lessons
Plan and develop programs that will provide solutions to a variety of users using a software life cycle process.
Use version control systems, integrated development environments (IDEs), and collaborative tools and practices (e.g., code documentation) in a group software project.
Use debugging tools to identify and fix errors in a program.
  1. 1.7 Commenting Your Code
Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
  1. 1.6 Top Down Design and Decomposition in Karel
  2. 3.1 Java Methods
  3. 4.4 Writing Classes
Develop and use a series of test cases to verify that a program performs according to its design specifications.
Evaluate the trade-offs in how data elements are organized and where data is stored.
Justify the selection of specific control structures when tradeoffs involve implementation, readability, and program performance, and explain the benefits and drawbacks of choices made.
  1. 2.10 While Loops
  2. 2.12 Loop-and-a-Half
Evaluate key qualities of a program through a process such as a code review (e.g., qualities could include correctness, usability, readability, efficiency, portability, and scalability).
Critically examine and trace classic algorithms. Use and adapt classic algorithms to solve computational problems (e.g., selection sort, insertion sort, binary search, linear search).
  1. 8.4 Selection Sort
  2. 8.8 Informal Code Analysis
Evaluate algorithms (e.g., sorting, searching) in terms of their efficiency, correctness, and clarity.
  1. 8.8 Informal Code Analysis
Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables.
  1. 5.3 Using Arrays
  2. 5.5 ArrayList Methods
  3. 5.6 Arrays vs ArrayLists
Construct solutions to problems using student-created components, such as procedures, modules, and/or objects.
  1. 3.1 Java Methods
  2. 4.4 Writing Classes
Explain security issues that might lead to compromised computer programs.
Compare and contrast simple data structures and their uses (e.g., lists, stacks, queues, arrays, dynamic arrays, objects).
  1. 5.6 Arrays vs ArrayLists
Trace the execution of recursion, illustrating output and changes in values of named variables.
  1. 8.6 Advanced: Recursion