Please enable JavaScript to use CodeHS

Natrona Computer Programming 2 Framework


Standard Description
L2.AP.PD.01 Plan and develop programs that will provide solutions to a variety of users using a software life cycle process. Lessons
L2.AP.PD.02 Use version control systems, integrated development environments (IDEs), and collaborative tools and practices (e.g., code documentation) in a group software project. Lessons
L1.AP.PD.03 Use debugging tools to identify and fix errors in a program. Lessons
L1.AP.M.01 Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects. Lessons
L2.AP.PD.05 Develop and use a series of test cases to verify that a program performs according to its design specifications. Lessons
L1.DA.S.02 Evaluate the trade-offs in how data elements are organized and where data is stored. Lessons
L1.AP.C.01 Justify the selection of specific control structures when tradeoffs involve implementation, readability, and program performance, and explain the benefits and drawbacks of choices made. Lessons
L2.AP.PD.04 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). Lessons
L2.AP.A.01 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). Lessons
L2.AP.A.03 Evaluate algorithms (e.g., sorting, searching) in terms of their efficiency, correctness, and clarity. Lessons
L1.AP.V.01 Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables. Lessons
L2.AP.M.01 Construct solutions to problems using student-created components, such as procedures, modules, and/or objects. Lessons
L2.AP.PD.06 Explain security issues that might lead to compromised computer programs. Lessons
L2.AP.V.01 Compare and contrast simple data structures and their uses (e.g., lists, stacks, queues, arrays, dynamic arrays, objects). Lessons
L2.AP.C.01 Trace the execution of recursion, illustrating output and changes in values of named variables. Lessons