# NV 9-12: 9-12.AP.M.1

## CodeHS Lessons

Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.

 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 2.1 Challenge Problems 9.1 Functions Challenges 21.1 Intro to Objects 21.4 Iterating Through an Object
 Standard 2.5 Top Down Design and Decomposition in Karel 2.7 Abstraction 9.1 Functions 9.2 Functions and Parameters 9.4 Functions and Return Values
 Standard 1.7 Top Down Design and Decomposition in Karel 1.9 Abstraction 5.1 Functions and Parameters 1 5.2 Functions and Parameters 2 5.3 Functions and Parameters 3 5.4 Functions and Return Values 1 5.5 Functions and Return Values 2
 Standard 1.6 Top Down Design and Decomposition in Karel 1.8 Abstraction 5.1 Functions and Parameters 1 5.2 Functions and Parameters 2 5.3 Functions and Parameters 3 5.4 Functions and Return Values 1 5.5 Functions and Return Values 2
 Standard 1.7 Top Down Design and Decomposition in Karel 1.9 Abstraction 5.1 Functions and Parameters 1 5.2 Functions and Parameters 2 5.3 Functions and Parameters 3 5.4 Functions and Return Values 1 5.5 Functions and Return Values 2
 Standard 9.14 Functions and Parameters 1 9.15 Functions and Parameters 2 9.16 Functions and Return Values 1 9.17 Functions and Return Values 2
 Standard 21.1 Challenge Problems
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 1.16 Challenge Problems 8.1 Functions Challenges 14.1 Intro to Objects 14.4 Iterating Through an Object
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 2.1 Challenge Problems 9.1 Functions Challenges 14.1 Intro to Objects 14.4 Iterating Through an Object
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 2.1 Challenge Problems 9.1 Functions Challenges 21.1 Intro to Objects 21.4 Iterating Through an Object
 Standard 3.3 Functions 3.6 Top Down Design 5.6 Parameters
 Standard 3.3 Functions 3.6 Top Down Design 5.6 Parameters
 Standard 1.6 Top Down Design and Decomposition in Karel 13.10 Top Down Design 13.8 Functions 13.13 Parameters
 Standard 2.6 Top Down Design and Decomposition in Karel 3.8 Functions 3.10 Top Down Design 3.13 Parameters
 Standard 2.6 Top Down Design and Decomposition in Karel 6.10 Top Down Design 6.8 Functions 6.13 Parameters
 Standard 7.14 Functions 7.15 Functions and Parameters 7.17 Functions and Return Values
 Standard 1.6 Top Down Design and Decomposition in Karel
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 6.1 Functions 6.2 Functions and Parameters 6.4 Functions and Return Values 7.4 Functions
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 2.1 Challenge Problems 5.3 Comments & Pseudocode 8.1 Functions and Parameters 1 8.2 Functions and Parameters 2 8.3 Functions and Parameters 3 8.4 Functions and Return Values 1 8.5 Functions and Return Values 2 9.1 Functions Challenges 10.4 Functions
 Standard 3.3 Functions 3.5 Top Down Design 4.3 Parameters 5.3 Comments & Pseudocode 7.5 Functions
 Standard 2.3 Comments & Pseudocode 7.5 Functions
 Standard 1.3 Comments & Pseudocode 2.5 Functions
 Standard 1.3 Comments & Pseudocode 2.4 Functions
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 11.6 Top Down Design and Decomposition in Karel 14.5 Functions
 Standard 1.6 Top Down Design and Decomposition in Karel
 Standard 4.1 Introduction to Classes and Objects 4.2 Classes vs. Objects 4.4 Writing Classes 4.5 Writing Classes and Instance Methods 4.6 Getter and Setter Methods 4.13 Inheritance 4.14 Class Design and Abstract Classes 4.15 Polymorphism 4.17 Interfaces
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 2.1 Challenge Problems 7.1 Functions and Parameters 1 7.2 Functions and Parameters 2 7.3 Functions and Parameters 3 7.4 Functions and Return Values 1 7.5 Functions and Return Values 2 8.1 Functions Challenges 25.8 Intro to Objects/Maps 25.9 Basics of Objects 25.10 Iterating Over an Object 25.11 When Do I Use an Object?
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 2.1 Challenge Problems 7.1 Functions and Parameters 1 7.2 Functions and Parameters 2 7.3 Functions and Parameters 3 7.4 Functions and Return Values 1 7.5 Functions and Return Values 2 8.1 Functions Challenges 12.8 Intro to Objects/Maps 12.9 Basics of Objects 12.10 Iterating Over an Object 12.11 When Do I Use an Object?
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 2.1 Challenge Problems 7.1 Functions and Parameters 1 7.2 Functions and Parameters 2 7.3 Functions and Parameters 3 7.4 Functions and Return Values 1 7.5 Functions and Return Values 2 9.1 Functions Challenges 9.1 Functions Challenges 21.8 Intro to Objects/Maps 21.9 Basics of Objects 21.10 Iterating Over an Object 21.11 When Do I Use an Object?
 Standard 3.3 Functions 3.5 Top Down Design 4.3 Parameters 10.6 Top Down Design and Decomposition in Karel 10.8 Abstraction
 Standard 2.8 Functions 2.10 Top Down Design 2.13 Parameters 6.1 Functions 6.2 Functions and Parameters 6.4 Functions and Return Values 23.6 Top Down Design and Decomposition in Karel 23.8 Abstraction
 Standard 2.16 Functions and Parameters 1 2.17 Functions and Parameters 2 2.18 Functions and Parameters 3 2.19 Functions and Return Values 1 2.20 Functions and Return Values 2
 Standard 14.10 Functions and Parameters 1 14.11 Functions and Parameters 2 14.12 Functions and Return Values 1
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 10.1 Functions and Parameters 1 10.2 Functions and Parameters 2 10.3 Functions and Parameters 3 10.4 Functions and Return Values 1 10.5 Functions and Return Values 2 14.1 Intro to Objects/Maps 14.2 Basics of Objects 14.3 Iterating Over an Object 14.4 When Do I Use an Object?
 Standard 2.8 Functions 2.10 Top Down Design 2.14 Parameters 8.1 Functions 8.2 Functions and Parameters 8.4 Functions and Return Values
 Standard 3.4 Functions in Karel 3.6 Top Down Design and Decomposition in Karel 4.2 Challenge Problems 10.1 Functions and Parameters 1 10.2 Functions and Parameters 2 10.3 Functions and Parameters 3 10.4 Functions and Return Values 1 10.5 Functions and Return Values 2 18.1 Intro to Objects/Maps 18.2 Basics of Objects 18.3 Iterating Over an Object 18.4 When Do I Use an Object?
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 11.6 Top Down Design and Decomposition in Karel 14.5 Functions
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 11.6 Top Down Design and Decomposition in Karel 14.5 Functions
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 11.1 Functions and Parameters 1 11.2 Functions and Parameters 2 11.3 Functions and Parameters 3 11.4 Functions and Return Values 1 11.5 Functions and Return Values 2 19.1 Intro to Objects/Maps 19.2 Basics of Objects 19.3 Iterating Over an Object 19.4 When Do I Use an Object?
 Standard 3.8 Functions 3.10 Top Down Design 3.13 Parameters
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems
 Standard 1.6 Top Down Design and Decomposition in Karel 1.8 Abstraction 5.1 Functions and Parameters 1 5.2 Functions and Parameters 2 5.3 Functions and Parameters 3 5.4 Functions and Return Values 1 5.5 Functions and Return Values 2
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 17.1 Functions and Parameters 1 17.2 Functions and Parameters 2 17.3 Functions and Parameters 3 17.4 Functions and Return Values 1 17.5 Functions and Return Values 2 20.1 Intro to Objects/Maps 20.2 Basics of Objects 20.3 Iterating Over an Object 20.4 When Do I Use an Object?
 Standard 6.1 Functions 6.2 Functions and Parameters 6.4 Functions and Return Values 18.10 Top Down Design 18.8 Functions 18.13 Parameters
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 6.6 Top Down Design and Decomposition in Karel 9.5 Functions
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 18.1 Challenge Problems 25.1 Functions Challenges 29.8 Intro to Objects/Maps 29.9 Basics of Objects 29.10 Iterating Over an Object 29.11 When Do I Use an Object?
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 2.1 Challenge Problems 12.1 Functions and Parameters 1 12.2 Functions and Parameters 2 12.3 Functions and Parameters 3 12.4 Functions and Return Values 1 12.5 Functions and Return Values 2 13.1 Functions Challenges 33.8 Intro to Objects/Maps 33.9 Basics of Objects 33.10 Iterating Over an Object 33.11 When Do I Use an Object?
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 2.1 Challenge Problems 8.1 Functions and Parameters 1 8.2 Functions and Parameters 2 8.3 Functions and Parameters 3 8.4 Functions and Return Values 1 8.5 Functions and Return Values 2 9.1 Functions Challenges 26.8 Intro to Objects/Maps 26.9 Basics of Objects 26.10 Iterating Over an Object 26.11 When Do I Use an Object?
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 11.6 Top Down Design and Decomposition in Karel 14.5 Functions
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 11.6 Top Down Design and Decomposition in Karel 14.5 Functions
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 11.6 Top Down Design and Decomposition in Karel 14.5 Functions
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 11.6 Top Down Design and Decomposition in Karel 14.5 Functions
 Standard 1.6 Top Down Design and Decomposition in Karel 1.8 Abstraction 4.1 Functions and Parameters 1 4.2 Functions and Parameters 2 4.3 Functions and Parameters 3 4.4 Functions and Return Values 1 4.5 Functions and Return Values 2
 Standard 1.6 Top Down Design and Decomposition in Karel 1.8 Abstraction 4.1 Functions and Parameters 1 4.2 Functions and Parameters 2 4.3 Functions and Parameters 3 4.4 Functions and Return Values 1 4.5 Functions and Return Values 2
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 4.3 Comments & Pseudocode 14.6 Top Down Design and Decomposition in Karel 6.5 Functions
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 11.6 Top Down Design and Decomposition in Karel 14.5 Functions
 Standard 3.8 Functions 3.10 Top Down Design 3.13 Parameters 8.6 Top Down Design and Decomposition in Karel
 Standard 3.8 Functions 3.10 Top Down Design 3.14 Parameters
 Standard 6.1 Introduction to Classes and Objects 6.2 Classes vs. Objects 6.4 Writing Classes 6.5 Writing Classes and Instance Methods 6.6 Getter and Setter Methods 6.13 Inheritance 6.14 Class Design and Abstract Classes 6.15 Polymorphism 6.17 Interfaces
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 14.1 Challenge Problems 21.1 Functions Challenges
 Standard 1.6 Top Down Design and Decomposition in Karel 1.8 Abstraction
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 11.6 Top Down Design and Decomposition in Karel 14.5 Functions
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 3.4 Functions in Karel 3.6 Top Down Design and Decomposition in Karel 4.2 Challenge Problems 19.4 When Do I Use an Object? 19.3 Iterating Over an Object 19.2 Basics of Objects 19.1 Intro to Objects/Maps 24.5 Functions and Return Values 2 24.5 Functions and Return Values 2 24.4 Functions and Return Values 1 24.4 Functions and Return Values 1 24.3 Functions and Parameters 3 24.3 Functions and Parameters 3 24.2 Functions and Parameters 2 24.2 Functions and Parameters 2 24.1 Functions and Parameters 1 24.1 Functions and Parameters 1
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel
 Standard 4.4 Functions in Karel 4.6 Top Down Design and Decomposition in Karel 7.1 Functions and Parameters 1 7.2 Functions and Parameters 2 7.3 Functions and Parameters 3 7.4 Functions and Return Values 1 7.5 Functions and Return Values 2
 Standard 2.6 Top Down Design and Decomposition in Karel
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.1 Challenge Problems
 Standard 3.3 Functions 3.5 Top Down Design 4.4 Parameters
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 2.4 Functions in Karel 2.6 Top Down Design and Decomposition in Karel 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object?
 Standard 1.8 Functions 1.10 Top Down Design 1.13 Parameters 3.3 Comments & Pseudocode 11.6 Top Down Design and Decomposition in Karel 14.5 Functions
 Standard 1.8 Abstraction 12.1 Introduction to Classes and Objects 12.2 Classes vs. Objects 12.4 Writing Classes 12.5 Writing Classes and Instance Methods 12.6 Getter and Setter Methods 12.13 Inheritance 12.14 Class Design and Abstract Classes 12.15 Polymorphism 12.17 Interfaces
 Standard 1.8 Abstraction 18.1 Introduction to Classes and Objects 18.2 Classes vs. Objects 18.4 Writing Classes 18.5 Writing Classes and Instance Methods 18.6 Getter and Setter Methods 18.13 Inheritance 18.14 Class Design and Abstract Classes 18.15 Polymorphism 18.17 Interfaces
 Standard 13.14 Functions and Parameters 1 13.15 Functions and Parameters 2 13.16 Functions and Return Values 1 13.17 Functions and Return Values 2
 Standard 1.5 Top Down Design and Decomposition in Karel 1.7 Abstraction
 Standard 1.1 Functions 1.2 Functions and Parameters 1.4 Functions and Return Values
 Standard 3.3 Functions 3.6 Top Down Design 5.6 Parameters
 Standard 3.3 Functions 3.6 Top Down Design 5.6 Parameters
 Standard 1.5 Top Down Design and Decomposition in Karel 1.7 Abstraction 9.1 Functions 9.2 Functions and Parameters 9.4 Functions and Return Values
 Standard 1.5 Top Down Design and Decomposition in Karel 1.7 Abstraction
 Standard 1.1 Functions 1.2 Functions and Parameters 1.4 Functions and Return Values
 Standard 8.14 Functions and Parameters 1 8.15 Functions and Parameters 2 8.16 Functions and Return Values 1 8.17 Functions and Return Values 2
 Standard 12.14 Functions and Parameters 1 12.15 Functions and Parameters 2 12.16 Functions and Return Values 1 12.17 Functions and Return Values 2
 Standard 6.1 Introduction to Classes and Objects 6.2 Classes vs. Objects 6.4 Writing Classes 6.5 Writing Classes and Instance Methods 6.6 Getter and Setter Methods 6.13 Inheritance 6.14 Class Design and Abstract Classes 6.15 Polymorphism 6.17 Interfaces