# CSTA 2: 2-AP-13

## CodeHS Lessons

Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.

 Standard 3.1 Printing in Python 3.2 Variables and Types 3.4 Mathematical Operators 5.1 Booleans 5.2 If Statements 5.3 Comparison Operators 5.4 Logical Operators 7.1 While Loops 7.2 For Loops 7.3 Break and Continue 7.4 Nested Control Structures 9.1 Functions 9.5 Exceptions 10.1 Indexing 10.2 Slicing 10.3 Immutability 10.4 Strings and For Loops 10.6 String Methods 12.1 Tuples 12.2 Lists 12.3 For Loops and Lists 12.4 List Methods 13.1 2d Lists 13.2 List Comprehensions 13.3 Packing and Unpacking 13.4 Dictionaries 24.20 While Loops 24.19 If/Else Statements 24.18 If Statements 24.17 Extended Loop Control 24.16 Using i in For Loops 24.10 Variables 19.1 Project: Who Said It? 22.2 De Morgan's Laws 22.1 Short Circuit Evaluation 21.9 Modules 21.6 Inheritance 21.5 Class Variables vs. Instance Variables 21.4 Operator Overloading 21.3 Built-In Methods 21.2 Methods
 Standard 34.5 Equivalence vs. Identity 29.1 Project: Who Said It? 28.2 De Morgan's Laws 28.1 Short Circuit Evaluation 27.9 Modules 27.6 Inheritance 27.5 Class Variables vs. Instance Variables 27.4 Operator Overloading 27.3 Built-In Methods 27.2 Methods 33.1 Indexing 34.4 Dictionaries 34.3 Packing and Unpacking 34.2 List Comprehensions 34.1 2d Lists 33.6 String Methods 33.4 Strings and For Loops 33.3 Immutability 33.2 Slicing
 Standard 5.1 Recreate a Popular App 9.1 Currency Converter 12.1 Project: Image Feed 14.1 Build Your Own App
 Standard 5.1 Recreate a Popular App 9.1 Currency Converter 14.1 Build Your Own App
 Standard 2.2 A Day at the Park 5.3 Functions 5.4 Multiple Functions 8.1 Getting Started 8.2 Color 8.3 Variables 8.4 The Draw Loop 8.5 Color Transitions 8.6 Shape Transformations 8.7 Direction 8.8 Mouse Data 8.9 Keyboard Data 8.10 Project: Animate an Emoji
 Standard 2.2 A Day at the Park
 Standard 1.3 Functions 1.4 Multiple Functions 4.1 Getting Started 4.2 Color 4.3 Variables 4.4 The Draw Loop 4.5 Color Transitions 4.6 Shape Transformations 4.7 Direction 4.8 Mouse Data 4.9 Keyboard Data 4.10 Project: Animate an Emoji
 Standard 5.1 Variables 5.9 Using i in For Loops 5.10 Extended Loop Control 7.1 If Statements 7.2 If/Else Statements 7.4 While Loops
 Standard 5.1 Variables 5.9 Using i in For Loops 5.10 Extended Loop Control 7.1 If Statements 7.2 If/Else Statements 7.4 While Loops
 Standard 1.3 Color 1.4 Variables 2.1 The Draw Loop 2.2 Color Transitions 2.3 Shape Transformations 2.4 Direction 3.2 Mouse Data 3.3 Keyboard Data
 Standard 8.1 Final Project
 Standard 1.16 Karel Challenges 13.11 Variables 13.14 Using i in For Loops 13.15 Extended Loop Control 13.16 If Statements 13.17 If/ Else Statements 13.18 While Loops
 Standard 2.16 Karel Challenges 3.11 Variables 3.14 Using i in For Loops 3.15 Extended Loop Control 3.16 If Statements 3.17 If/ Else Statements 3.18 While Loops
 Standard 2.16 Karel Challenges 6.11 Variables 6.14 Using i in For Loops 6.15 Extended Loop Control 6.16 If Statements 6.17 If/ Else Statements 6.18 While Loops
 Standard 7.4 Mathematical Operators 7.8 Comparison Operators 7.9 Logical Operators 7.11 For Loops 7.12 Break and Continue 7.14 Functions 7.18 Exceptions
 Standard 1.5 Pulling It All Together! 2.5 Final Roofing Project 3.4 The Formula Solver 4.4 Vector Arithmetic 7.1 Precision of Pi
 Standard 1.16 Karel Challenges 3.6 Top Down Design and Decomposition in Karel 3.17 Karel Challenges 3.18 Final Project
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 2.1 Printing in Python 2.2 Variables and Types 2.4 Mathematical Operators 3.3 Comments & Pseudocode 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 5.1 While Loops 5.2 For Loops 5.3 Break and Continue 5.4 Nested Control Structures 6.1 Functions 6.5 Exceptions 8.1 Indexing 8.2 Slicing 8.3 Immutability 8.4 Strings and For Loops 8.6 String Methods 9.1 Tuples 9.2 Lists 9.3 For Loops and Lists 9.4 List Methods 10.1 2d Lists 10.2 List Comprehensions 10.3 Packing and Unpacking 10.4 Dictionaries 10.5 Equivalence vs. Identity 14.2 Methods 14.3 Built-In Methods 14.4 Operator Overloading 14.5 Class Variables vs. Instance Variables 14.6 Inheritance 14.9 Modules 17.1 Short Circuit Evaluation 17.2 De Morgan's Laws
 Standard 4.1 Variables 4.4 Using i in For Loops 4.5 Extended Loop Control 5.3 Comments & Pseudocode 6.1 If Statements 6.2 If/ Else Statements 6.3 While Loops
 Standard 2.3 Comments & Pseudocode 3.4 Top Down Design and Decomposition in Karel 9.1 Karel Challenges 11.1 Final Project
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 11.16 Karel Challenges
 Standard 4.1 Variables 4.4 Using i in For Loops 4.5 Extended Loop Control 5.1 If Statements 5.2 If/ Else Statements 5.3 While Loops
 Standard 2.11 Variables 2.14 Using i in For Loops 2.15 Extended Loop Control 2.16 If Statements 2.17 If/ Else Statements 2.18 While Loops 3.1 Printing in Python 3.2 Variables and Types 3.4 Mathematical Operators 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 5.1 While Loops 5.2 For Loops 5.3 Break and Continue 5.4 Nested Control Structures 6.1 Functions 6.5 Exceptions 7.1 Indexing 7.2 Slicing 7.3 Immutability 7.4 Strings and For Loops 7.6 String Methods 8.1 Tuples 8.2 Lists 8.3 For Loops and Lists 8.4 List Methods 9.1 2d Lists 9.2 List Comprehensions 9.3 Packing and Unpacking 9.4 Dictionaries 9.5 Equivalence vs. Identity 12.2 Methods 12.3 Built-In Methods 12.4 Operator Overloading 12.5 Class Variables vs. Instance Variables 12.6 Inheritance 12.9 Modules 15.1 Short Circuit Evaluation 15.2 De Morgan's Laws 16.1 Project: Who Said It?
 Standard 1.16 Challenge Problems 6.1 Breakout 9.1 Tic Tac Toe 10.4 Polish 11.1 Final Project
 Standard 2.4 Top Down Design and Decomposition in Karel 7.1 Karel Challenges 8.1 Final Project
 Standard 2.12 Variables 2.16 Using i in For Loops 2.17 Extended Loop Control 2.18 If Statements 2.19 If/ Else Statements 2.20 While Loops 5.1 Printing in Python 5.2 Variables and Types 5.4 Mathematical Operators 6.1 Booleans 6.2 If Statements 6.3 Comparison Operators 6.4 Logical Operators 7.1 While Loops 7.2 For Loops 7.3 Break and Continue 7.4 Nested Control Structures 8.1 Functions 8.5 Exceptions 9.1 Indexing 9.2 Slicing 9.3 Immutability 9.4 Strings and For Loops 9.6 String Methods 10.1 Tuples 10.2 Lists 10.3 For Loops and Lists 10.4 List Methods 11.1 2d Lists 11.2 List Comprehensions 11.3 Packing and Unpacking 11.4 Dictionaries 11.5 Equivalence vs. Identity 17.1 Short Circuit Evaluation 17.2 De Morgan's Laws 18.1 Project: Who Said It?
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 11.16 Karel Challenges
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 11.16 Karel Challenges
 Standard 3.11 Variables 3.14 Using i in For Loops 3.15 Extended Loop Control 3.16 If Statements 3.17 If/ Else Statements 3.18 While Loops
 Standard 3.2 Printing in Python 3.3 Variables and Types 3.5 Mathematical Operators 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 5.1 While Loops 5.2 For Loops 5.3 Break and Continue 5.4 Nested Control Structures 6.1 Functions 6.5 Exceptions 8.1 Indexing 8.2 Slicing 8.3 Immutability 8.4 Strings and For Loops 8.6 String Methods 9.1 Tuples 9.2 Lists 9.3 For Loops and Lists 9.4 List Methods 9.5 2d Lists 15.3 Built-In Methods 15.2 Methods 17.1 Project: Who Said It? 12.4 Equivalence vs. Identity 15.4 Operator Overloading 15.5 Class Variables vs. Instance Variables 15.6 Inheritance 15.9 Modules 18.11 Variables 12.3 Dictionaries 12.2 Packing and Unpacking 12.1 List Comprehensions 18.18 While Loops 18.17 If/ Else Statements 18.16 If Statements 18.15 Extended Loop Control 18.14 Using i in For Loops
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 6.16 Karel Challenges
 Standard 2.2 A Day at the Park
 Standard 1.3 Functions 1.4 Multiple Functions 3.1 Getting Started 3.2 Color 3.3 Variables 3.4 The Draw Loop 3.5 Color Transitions 3.6 Shape Transformations 3.7 Direction 3.8 Mouse Data 3.9 Keyboard Data 3.10 Project: Animate an Emoji
 Standard 4.2 Printing in Python 4.3 Variables and Types 4.5 Mathematical Operators 5.1 Functions 6.1 Tuples 6.2 Lists 6.3 For Loops and Lists 6.4 List Methods 6.5 2d Lists 6.6 Dictionaries
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 11.16 Karel Challenges
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 11.16 Karel Challenges
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 11.16 Karel Challenges
 Standard 6.10 Variables 6.13 If Statements 6.14 If/ Else Statements 6.15 While Loops 7.1 Printing in Python 7.2 Variables and Types 7.4 Mathematical Operators 7.6 Booleans 7.7 If Statements 7.8 Comparison Operators 7.9 Logical Operators 7.11 While Loops 7.12 For Loops 7.13 Functions
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 11.16 Karel Challenges
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 4.3 Comments & Pseudocode 14.16 Karel Challenges
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 11.16 Karel Challenges
 Standard 3.11 Variables 3.14 Using i in For Loops 3.15 Extended Loop Control 3.16 If Statements 3.17 If/ Else Statements 3.18 While Loops 8.16 Karel Challenges
 Standard 3.12 Variables 3.15 Using i in For Loops 3.16 Extended Loop Control 3.17 If Statements 3.18 If/ Else Statements 3.19 While Loops
 Standard 2.3 Functions 2.4 Multiple Functions 5.1 Getting Started 5.2 Color 5.3 Variables 5.4 The Draw Loop 5.5 Color Transitions 5.6 Shape Transformations 5.7 Direction 5.8 Mouse Data 5.9 Keyboard Data 5.10 Project: Animate an Emoji
 Standard 1.12 Variables 1.15 Using i in For Loops 1.16 Extended Loop Control 1.17 If Statements 1.18 If/ Else Statements 1.19 While Loops
 Standard 1.12 Variables 1.15 Using i in For Loops 1.16 Extended Loop Control 1.17 If Statements 1.18 If/ Else Statements 1.19 While Loops
 Standard 4.1 Indexing 4.2 Slicing 4.3 Immutability 4.4 Strings and For Loops 4.6 String Methods 5.6 Dictionaries 13.2 Methods 13.3 Built-In Methods 13.4 Operator Overloading 13.5 Class Variables vs. Instance Variables 13.6 Inheritance 13.9 Modules
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 11.16 Karel Challenges
 Standard 18.1 Indexing 18.2 Slicing 18.3 Immutability 18.4 Strings and For Loops 18.6 String Methods
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 12.16 Karel Challenges
 Standard 4.1 Printing in Python 4.2 Variables and Types 4.4 Mathematical Operators 6.1 Booleans 6.2 If Statements 6.3 Comparison Operators 6.4 Logical Operators 7.1 While Loops 7.2 For Loops 7.3 Break and Continue 7.4 Nested Control Structures 8.1 Functions 8.5 Exceptions 16.10 Variables 16.16 Using i in For Loops 16.17 Extended Loop Control 16.18 If Statements 16.19 If/Else Statements 16.20 While Loops
 Standard 6.2 Methods 6.3 Built-In Methods 6.4 Operator Overloading 6.5 Class Variables vs. Instance Variables 6.6 Inheritance 6.9 Modules 15.1 Indexing 15.2 Slicing 15.3 Immutability 15.4 Strings and For Loops 15.6 String Methods 13.1 Project: Who Said It?
 Standard 4.1 Printing in Python 4.2 Variables and Types 4.4 Mathematical Operators 6.1 Booleans 6.2 If Statements 6.3 Comparison Operators 6.4 Logical Operators 7.1 While Loops 7.2 For Loops 7.3 Break and Continue 7.4 Nested Control Structures 8.1 Functions 8.5 Exceptions 16.10 Variables 16.16 Using i in For Loops 16.17 Extended Loop Control 16.18 If Statements 16.19 If/Else Statements 16.20 While Loops
 Standard 6.2 Methods 6.3 Built-In Methods 6.4 Operator Overloading 6.5 Class Variables vs. Instance Variables 6.6 Inheritance 6.9 Modules 15.1 Indexing 15.2 Slicing 15.3 Immutability 15.4 Strings and For Loops 15.6 String Methods 13.1 Project: Who Said It?
 Standard 4.2 Variables 4.6 Using i in For Loops 4.7 Extended Loop Control 5.1 If Statements 5.2 If/ Else Statements 5.3 While Loops
 Standard 1.11 Variables 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.18 While Loops 3.3 Comments & Pseudocode 11.16 Karel Challenges
 Standard 1.3 Functions 1.4 Multiple Functions 5.1 Getting Started 5.2 Color 5.3 Variables 5.4 The Draw Loop 5.5 Color Transitions 5.6 Shape Transformations 5.7 Direction 5.8 Mouse Data 5.9 Keyboard Data 5.10 Project: Animate an Emoji
 Standard 1.3 Functions 1.4 Multiple Functions 3.3 Comments & Pseudocode
 Standard 2.1 Printing in Python 2.2 Variables and Types 2.4 Mathematical Operators 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 6.1 While Loops 6.2 For Loops 6.3 Break and Continue 6.4 Nested Control Structures
 Standard 1.1 Functions 1.5 Exceptions 2.1 Indexing 2.2 Slicing 2.3 Immutability 2.4 Strings and For Loops 2.6 String Methods 4.1 Tuples 4.2 Lists 4.3 For Loops and Lists 4.4 List Methods 5.1 2d Lists 5.2 List Comprehensions 5.3 Packing and Unpacking 5.4 Dictionaries 8.2 Methods 8.3 Built-In Methods 8.4 Operator Overloading 8.5 Class Variables vs. Instance Variables
 Standard 5.1 Variables 5.9 Using i in For Loops 5.10 Extended Loop Control 7.1 If Statements 7.2 If/Else Statements 7.4 While Loops
 Standard 5.1 Variables 5.9 Using i in For Loops 5.10 Extended Loop Control 7.1 If Statements 7.2 If/Else Statements 7.4 While Loops
 Standard 2.1 Printing in Python 2.2 Variables and Types 2.4 Mathematical Operators 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 6.1 While Loops 6.2 For Loops 6.3 Break and Continue 6.4 Nested Control Structures 9.1 Functions 9.5 Exceptions 10.1 Indexing 10.2 Slicing 10.3 Immutability 10.4 Strings and For Loops 10.6 String Methods 12.1 Tuples 12.2 Lists 12.3 For Loops and Lists 12.4 List Methods 13.1 2d Lists 13.2 List Comprehensions 13.3 Packing and Unpacking 13.4 Dictionaries 16.2 Methods 16.3 Built-In Methods 16.4 Operator Overloading 16.5 Class Variables vs. Instance Variables
 Standard 2.1 Printing in Python 2.2 Variables and Types 2.4 Mathematical Operators 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 6.1 While Loops 6.2 For Loops 6.3 Break and Continue 6.4 Nested Control Structures 11.10 Variables 11.16 Using i in For Loops 11.17 Extended Loop Control 11.18 If Statements 11.19 If/Else Statements 11.20 While Loops
 Standard 1.1 Functions 1.5 Exceptions 2.1 Indexing 2.2 Slicing 2.3 Immutability 2.4 Strings and For Loops 2.6 String Methods 4.1 Tuples 4.2 Lists 4.3 For Loops and Lists 4.4 List Methods 5.1 2d Lists 5.2 List Comprehensions 5.3 Packing and Unpacking 5.4 Dictionaries 9.6 Inheritance 9.9 Modules 13.1 Project: Who Said It? 9.5 Class Variables vs. Instance Variables 9.4 Operator Overloading 9.3 Built-In Methods 9.2 Methods
 Standard 6.1 Tuples 6.2 Lists 6.3 For Loops and Lists 6.4 List Methods 6.5 2d Lists 6.6 Dictionaries