# DE 2: 2-AP-12

## CodeHS Lessons

Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.

 Standard 1.12 While Loops 1.14 Control Structures Example 9.1 Functions Challenges 10.3 Collisions 10.4 Mouse Click Events 10.5 More Mouse Events 10.6 Key Events 12.1 Breakout 22.3 Looping Over a Grid 21.4 Iterating Through an Object 22.4 Grid Example: Get a Row 26.1 Tic Tac Toe 27.1 Game Design: Helicopter 19.3 Animation Practice 19.4 Crazy Ball Game 20.1 Intro to Arrays 20.2 Adding & Removing from an Array 20.3 Iterating Through an Array 21.1 Intro to Objects 22.2 Intro to Grids 22.1 Intro to Sets 24.1 Visualizing Music 25.2 Connect Four 25.1 Conway's Game of Life 19.2 Fun Graphics Challenges 19.1 Snake Game 18.1 Prime Numbers 17.1 Functions and Parameters Practice 16.2 Extra Karel Puzzles 16.1 Extra Karel Practice
 Standard 7.4 Nested Control Structures 7.4 Nested Control Structures 12.2 Lists 12.2 Lists 12.3 For Loops and Lists 12.3 For Loops and Lists 13.1 2d Lists 23.6 Inheritance 21.1 Project: Who Said It? 23.6 Inheritance 21.1 Project: Who Said It?
 Standard 27.6 Inheritance 29.1 Project: Who Said It? 27.6 Inheritance 29.1 Project: Who Said It?
 Standard 9.19 Intro to Lists/Arrays 9.20 Indexing Into an Array 9.21 Adding/Removing From an Array 9.22 Array Length and Looping Through Arrays 9.19 Intro to Lists/Arrays 9.20 Indexing Into an Array 9.21 Adding/Removing From an Array 9.22 Array Length and Looping Through Arrays
 Standard 4.3 Looping 4.3 Looping 4.4 Branching 4.4 Branching
 Standard 1.12 While Loops 1.14 Control Structures Example 8.1 Functions Challenges 9.3 Collisions 9.4 Mouse Click Events 9.5 More Mouse Events 9.6 Key Events 11.1 Breakout 12.1 Snake Game 13.1 Intro to Arrays 13.2 Adding & Removing from an Array 13.3 Iterating Through an Array 14.1 Intro to Objects 14.4 Iterating Through an Object 15.1 Tic Tac Toe 16.1 Game Design: Helicopter 27.1 Conway's Game of Life 20.1 Connect Four 29.1 Visualizing Music 22.1 Intro to Sets 22.2 Intro to Grids 22.3 Looping Over a Grid 22.4 Grid Example: Get a Row 26.2 Animation Practice 26.3 Crazy Ball Game 26.1 Fun Graphics Challenges 25.1 Prime Numbers 24.1 Functions and Parameters Practice 23.2 Extra Karel Puzzles 23.1 Extra Karel Practice
 Standard 1.12 While Loops 1.14 Control Structures Example 9.1 Functions Challenges 10.3 Collisions 10.4 Mouse Click Events 10.5 More Mouse Events 10.6 Key Events 12.1 Breakout 13.1 Intro to Arrays 13.2 Adding & Removing from an Array 13.3 Iterating Through an Array 14.1 Intro to Objects 14.4 Iterating Through an Object 15.1 Tic Tac Toe 16.1 Game Design: Helicopter 21.1 Extra Karel Practice 24.2 Fun Graphics Challenges 21.2 Extra Karel Puzzles 22.1 Functions and Parameters Practice 23.1 Prime Numbers 24.1 Snake Game 24.4 Crazy Ball Game 24.3 Animation Practice 20.4 Grid Example: Get a Row 20.3 Looping Over a Grid 20.2 Intro to Grids 20.1 Intro to Sets 26.1 Visualizing Music 27.2 Connect Four 27.1 Conway's Game of Life
 Standard 1.12 While Loops 1.14 Control Structures Example 9.1 Functions Challenges 21.4 Iterating Through an Object 21.1 Intro to Objects 20.3 Iterating Through an Array 20.2 Adding & Removing from an Array 20.1 Intro to Arrays 17.4 Crazy Ball Game 17.3 Animation Practice 25.1 Game Design: Helicopter 24.1 Tic Tac Toe 22.4 Grid Example: Get a Row 22.3 Looping Over a Grid 22.2 Intro to Grids 22.1 Intro to Sets 18.1 Visualizing Music 23.2 Connect Four 23.1 Conway's Game of Life 17.2 Fun Graphics Challenges 17.1 Snake Game 16.1 Prime Numbers 15.1 Functions and Parameters Practice 14.2 Extra Karel Puzzles 14.1 Extra Karel Practice 13.1 Breakout 11.6 Key Events 11.5 More Mouse Events 11.4 Mouse Click Events 11.3 Collisions
 Standard 8.1 Conditionals and State Change 8.1 Conditionals and State Change 8.2 Conditionals using Parameters 8.2 Conditionals using Parameters
 Standard 8.1 Conditionals and State Change 8.1 Conditionals and State Change 8.2 Conditionals using Parameters 8.2 Conditionals using Parameters
 Standard 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 11.1 Extra Karel Practice 12.1 Extra Karel Puzzles 11.1 Extra Karel Practice 12.1 Extra Karel Puzzles
 Standard 2.12 While Loops in Karel 2.12 While Loops in Karel 2.13 Control Structures Example 2.13 Control Structures Example 4.1 Extra Karel Practice 5.1 Extra Karel Puzzles 4.1 Extra Karel Practice 5.1 Extra Karel Puzzles
 Standard 2.12 While Loops in Karel 2.12 While Loops in Karel 2.13 Control Structures Example 2.13 Control Structures Example 4.1 Extra Karel Practice 5.1 Extra Karel Puzzles 4.1 Extra Karel Practice 5.1 Extra Karel Puzzles
 Standard 6.2 Lists 6.2 Lists 6.3 For Loops and Lists 6.3 For Loops and Lists 6.5 2d Lists 6.5 2d Lists
 Standard 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example
 Standard 5.4 Nested Control Structures 5.4 Nested Control Structures 7.1 Loops 7.2 If/Else Statements 7.3 Arithmetic, Comparison, and Logical Operators 9.2 Lists 9.2 Lists 9.3 For Loops and Lists 9.3 For Loops and Lists 10.1 2d Lists 10.1 2d Lists 10.5 Equivalence vs. Identity 10.5 Equivalence vs. Identity 12.1 Arduino Challenges 14.6 Inheritance 14.6 Inheritance
 Standard 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 9.1 Functions Challenges 9.1 Functions Challenges 10.1 Loops 10.2 If/Else Statements 10.3 Arithmetic, Comparison, and Logical Operators 11.3 Random Ghosts 11.3 Random Ghosts 11.4 Bouncing Ball 11.4 Bouncing Ball 11.5 Mouse Events: Mouse Clicked 11.5 Mouse Events: Mouse Clicked 11.6 Mouse Events: Mouse Moved 11.6 Mouse Events: Mouse Moved 11.7 Drawing Lines 11.7 Drawing Lines 11.8 Key Events 11.8 Key Events 11.9 Crazy Ball Game 11.9 Crazy Ball Game 13.1 Breakout 13.1 Breakout 14.1 Arduino Challenges 22.1 Game Design: Helicopter 22.1 Game Design: Helicopter 18.1 Extra Karel Practice 19.1 Extra Karel Puzzles 21.1 Tic Tac Toe 20.1 Functions and Parameters Practice 18.1 Extra Karel Practice 19.1 Extra Karel Puzzles 21.1 Tic Tac Toe 20.1 Functions and Parameters Practice
 Standard 7.1 For Loops 7.2 While Loops 7.4 If/Else Statements 9.1 micro:bit Challenges
 Standard 7.1 For Loops 7.2 While Loops 7.4 If/Else Statements 10.1 micro:bit Challenges
 Standard 2.1 For Loops 2.2 While Loops 2.4 If/Else Statements 3.1 micro:bit Challenges
 Standard 2.1 Loops 2.2 If/Else Statements 2.3 Arithmetic, Comparison, and Logical Operators 3.1 Arduino Challenges
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 14.1 For Loops 14.2 While Loops 14.4 If/Else Statements 15.1 micro:bit Challenges
 Standard 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 8.1 Functions Challenges 8.1 Functions Challenges 9.3 Random Ghosts 9.3 Random Ghosts 9.4 Bouncing Ball 9.4 Bouncing Ball 9.5 Mouse Events: Mouse Clicked 9.5 Mouse Events: Mouse Clicked 9.6 Mouse Events: Mouse Moved 9.6 Mouse Events: Mouse Moved 9.7 Drawing Lines 9.7 Drawing Lines 9.8 Key Events 9.8 Key Events 9.9 Crazy Ball Game 9.9 Crazy Ball Game 11.1 Breakout 11.1 Breakout 25.10 Iterating Over an Object 25.2 Indexing Into an Array 25.3 Adding/Removing From an Array 25.4 Array Length and Looping Through Arrays 25.5 Iterating Over an Array 25.6 Finding an Element in a List 25.7 Removing an Element From an Array 25.8 Intro to Objects/Maps 25.9 Basics of Objects 16.1 Extra Karel Puzzles 25.2 Indexing Into an Array 18.1 Prime Numbers 19.2 Fun Graphics Challenges 19.1 Fun Snake 20.2 Connect Four 20.1 Conway's Game of Life 21.1 Evolution Simulation 24.1 Visualizing Music 26.1 Tic Tac Toe 17.1 Functions and Parameters Practice 15.1 Extra Karel Practice 27.1 Game Design: Helicopter 25.16 Data Structures Challenges 25.15 Grid Example: Get a Row 25.14 Looping Over a Grid 25.13 Intro to Grids 25.12 Intro to Sets 25.11 When Do I Use an Object? 25.16 Data Structures Challenges 25.3 Adding/Removing From an Array 25.4 Array Length and Looping Through Arrays 25.5 Iterating Over an Array 25.6 Finding an Element in a List 25.7 Removing an Element From an Array 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? 25.12 Intro to Sets 25.13 Intro to Grids 25.14 Looping Over a Grid 25.15 Grid Example: Get a Row 25.1 Intro to Lists/Arrays 27.1 Game Design: Helicopter 15.1 Extra Karel Practice 16.1 Extra Karel Puzzles 26.1 Tic Tac Toe 24.1 Visualizing Music 21.1 Evolution Simulation 20.1 Conway's Game of Life 20.2 Connect Four 19.1 Fun Snake 19.2 Fun Graphics Challenges 18.1 Prime Numbers 17.1 Functions and Parameters Practice 25.1 Intro to Lists/Arrays
 Standard 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 8.1 Functions Challenges 8.1 Functions Challenges 9.3 Random Ghosts 9.3 Random Ghosts 9.4 Bouncing Ball 9.4 Bouncing Ball 9.5 Mouse Events: Mouse Clicked 9.5 Mouse Events: Mouse Clicked 9.6 Mouse Events: Mouse Moved 9.6 Mouse Events: Mouse Moved 9.7 Drawing Lines 9.7 Drawing Lines 9.8 Key Events 9.8 Key Events 9.9 Crazy Ball Game 9.9 Crazy Ball Game 11.1 Breakout 11.1 Breakout 12.1 Intro to Lists/Arrays 12.1 Intro to Lists/Arrays 12.2 Indexing Into an Array 12.2 Indexing Into an Array 12.3 Adding/Removing From an Array 12.3 Adding/Removing From an Array 12.4 Array Length and Looping Through Arrays 12.4 Array Length and Looping Through Arrays 12.5 Iterating Over an Array 12.5 Iterating Over an Array 12.6 Finding an Element in a List 12.6 Finding an Element in a List 12.7 Removing an Element From an Array 12.7 Removing an Element From an Array 12.8 Intro to Objects/Maps 12.8 Intro to Objects/Maps 12.9 Basics of Objects 12.9 Basics of Objects 12.10 Iterating Over an Object 12.10 Iterating Over an Object 12.11 When Do I Use an Object? 12.11 When Do I Use an Object? 12.12 Intro to Sets 12.12 Intro to Sets 12.13 Intro to Grids 12.13 Intro to Grids 12.14 Looping Over a Grid 12.14 Looping Over a Grid 12.15 Grid Example: Get a Row 12.15 Grid Example: Get a Row 12.16 Data Structures Challenges 12.16 Data Structures Challenges 13.1 Tic Tac Toe 13.1 Tic Tac Toe 14.1 Game Design: Helicopter 14.1 Game Design: Helicopter 19.1 Extra Karel Puzzles 20.1 Functions and Parameters Practice 28.1 Visualizing Music 24.1 Evolution Simulation 23.1 Conway's Game of Life 23.2 Connect Four 22.1 Fun Snake 22.2 Fun Graphics Challenges 21.1 Prime Numbers 18.1 Extra Karel Practice 18.1 Extra Karel Practice 20.1 Functions and Parameters Practice 21.1 Prime Numbers 22.2 Fun Graphics Challenges 22.1 Fun Snake 23.2 Connect Four 23.1 Conway's Game of Life 24.1 Evolution Simulation 28.1 Visualizing Music 19.1 Extra Karel Puzzles
 Standard 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 9.1 Functions Challenges 9.1 Functions Challenges 9.1 Functions Challenges 9.1 Functions Challenges 21.13 Intro to Grids 21.2 Indexing Into an Array 21.3 Adding/Removing From an Array 21.4 Array Length and Looping Through Arrays 21.5 Iterating Over an Array 21.6 Finding an Element in a List 21.7 Removing an Element From an Array 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? 21.12 Intro to Sets 12.1 Functions and Parameters Practice 21.14 Looping Over a Grid 21.15 Grid Example: Get a Row 21.16 Data Structures Challenges 23.1 Game Design: Helicopter 10.1 Extra Karel Practice 11.1 Extra Karel Puzzles 22.1 Tic Tac Toe 20.1 Visualizing Music 16.1 Evolution Simulation 15.1 Conway's Game of Life 15.2 Connect Four 14.1 Fun Snake 14.2 Fun Graphics Challenges 13.1 Prime Numbers 21.1 Intro to Lists/Arrays 21.15 Grid Example: Get a Row 21.2 Indexing Into an Array 21.3 Adding/Removing From an Array 21.4 Array Length and Looping Through Arrays 21.5 Iterating Over an Array 21.6 Finding an Element in a List 21.7 Removing an Element From an Array 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? 21.12 Intro to Sets 21.13 Intro to Grids 21.14 Looping Over a Grid 21.1 Intro to Lists/Arrays 21.16 Data Structures Challenges 23.1 Game Design: Helicopter 10.1 Extra Karel Practice 11.1 Extra Karel Puzzles 22.1 Tic Tac Toe 20.1 Visualizing Music 16.1 Evolution Simulation 15.1 Conway's Game of Life 15.2 Connect Four 14.1 Fun Snake 14.2 Fun Graphics Challenges 13.1 Prime Numbers 12.1 Functions and Parameters Practice
 Standard 5.4 Nested Control Structures 5.4 Nested Control Structures 8.2 Lists 8.2 Lists 8.3 For Loops and Lists 8.3 For Loops and Lists 9.1 2d Lists 9.1 2d Lists 9.5 Equivalence vs. Identity 9.5 Equivalence vs. Identity 12.6 Inheritance 16.1 Project: Who Said It? 12.6 Inheritance 16.1 Project: Who Said It?
 Standard 14.13 Intro to Lists/Arrays 14.14 Indexing Into an Array 14.15 Adding/Removing From an Array 14.16 Array Length and Looping Through Arrays
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 10.9 Random Ghosts 10.9 Random Ghosts 10.10 Bouncing Ball 10.10 Bouncing Ball 10.11 Mouse Events: Mouse Clicked 10.11 Mouse Events: Mouse Clicked 10.12 Intro to Lists/Arrays 10.12 Intro to Lists/Arrays 10.13 Adding/Removing From an Array 10.13 Adding/Removing From an Array 10.14 Array Length and Looping Through Arrays 10.14 Array Length and Looping Through Arrays 10.15 Iterating Over an Array 10.15 Iterating Over an Array 13.1 Indexing Into an Array 18.4 Crazy Ball Game 17.1 Functions and Parameters Practice 18.3 Key Events 13.2 Finding an Element in a List 13.3 Removing an Element From an Array 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? 14.5 Intro to Sets 14.6 Intro to Grids 14.7 Looping Over a Grid 14.8 Grid Example: Get a Row 14.9 Data Structures Challenges 15.1 Extra Karel Practice 16.1 Extra Karel Puzzles 14.4 When Do I Use an Object? 18.1 Mouse Events: Mouse Moved 18.2 Drawing Lines 18.3 Key Events 18.4 Crazy Ball Game 13.1 Indexing Into an Array 13.2 Finding an Element in a List 13.3 Removing an Element From an Array 14.1 Intro to Objects/Maps 14.2 Basics of Objects 14.3 Iterating Over an Object 18.2 Drawing Lines 14.5 Intro to Sets 14.6 Intro to Grids 14.7 Looping Over a Grid 14.8 Grid Example: Get a Row 14.9 Data Structures Challenges 15.1 Extra Karel Practice 16.1 Extra Karel Puzzles 17.1 Functions and Parameters Practice 18.1 Mouse Events: Mouse Moved
 Standard 7.4 Nested Control Structures 7.4 Nested Control Structures 10.2 Lists 10.2 Lists 10.3 For Loops and Lists 10.3 For Loops and Lists 11.1 2d Lists 11.1 2d Lists 11.5 Equivalence vs. Identity 11.5 Equivalence vs. Identity 18.1 Project: Who Said It? 18.1 Project: Who Said It?
 Standard 3.13 While Loops in Karel 3.13 While Loops in Karel 3.14 Control Structures Example 3.14 Control Structures Example 10.8 Random Ghosts 10.8 Random Ghosts 10.9 Bouncing Ball 10.9 Bouncing Ball 10.10 Mouse Events: Mouse Clicked 10.10 Mouse Events: Mouse Clicked 10.11 Intro to Lists/Arrays 10.11 Intro to Lists/Arrays 10.12 Adding/Removing From an Array 10.12 Adding/Removing From an Array 10.13 Array Length and Looping Through Arrays 10.13 Array Length and Looping Through Arrays 10.14 Iterating Over an Array 10.14 Iterating Over an Array 17.1 Indexing Into an Array 16.4 Crazy Ball Game 15.1 Functions and Parameters Practice 16.3 Key Events 17.2 Finding an Element in a List 17.3 Removing an Element From an Array 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? 18.5 Intro to Sets 18.6 Intro to Grids 18.7 Looping Over a Grid 18.8 Grid Example: Get a Row 18.9 Data Structures Challenges 13.1 Extra Karel Practice 14.1 Extra Karel Puzzles 18.4 When Do I Use an Object? 16.1 Mouse Events: Mouse Moved 16.2 Drawing Lines 16.3 Key Events 16.4 Crazy Ball Game 17.1 Indexing Into an Array 17.2 Finding an Element in a List 17.3 Removing an Element From an Array 18.1 Intro to Objects/Maps 18.2 Basics of Objects 18.3 Iterating Over an Object 16.2 Drawing Lines 18.5 Intro to Sets 18.6 Intro to Grids 18.7 Looping Over a Grid 18.8 Grid Example: Get a Row 18.9 Data Structures Challenges 13.1 Extra Karel Practice 14.1 Extra Karel Puzzles 15.1 Functions and Parameters Practice 16.1 Mouse Events: Mouse Moved
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 14.1 For Loops 14.2 While Loops 14.4 If/Else Statements 15.1 micro:bit Challenges
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 14.1 For Loops 14.2 While Loops 14.4 If/Else Statements 15.1 micro:bit Challenges
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 11.8 Random Ghosts 11.8 Random Ghosts 11.9 Bouncing Ball 11.9 Bouncing Ball 11.10 Mouse Events: Mouse Clicked 11.10 Mouse Events: Mouse Clicked 11.11 Intro to Lists/Arrays 11.11 Intro to Lists/Arrays 11.12 Adding/Removing From an Array 11.12 Adding/Removing From an Array 11.13 Array Length and Looping Through Arrays 11.13 Array Length and Looping Through Arrays 11.14 Iterating Over an Array 11.14 Iterating Over an Array 18.1 Indexing Into an Array 17.4 Crazy Ball Game 16.1 Functions and Parameters Practice 17.3 Key Events 18.2 Finding an Element in a List 18.3 Removing an Element From an Array 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? 19.5 Intro to Sets 19.6 Intro to Grids 19.7 Looping Over a Grid 19.8 Grid Example: Get a Row 19.9 Data Structures Challenges 14.1 Extra Karel Practice 15.1 Extra Karel Puzzles 19.4 When Do I Use an Object? 17.1 Mouse Events: Mouse Moved 17.2 Drawing Lines 17.3 Key Events 17.4 Crazy Ball Game 18.1 Indexing Into an Array 18.2 Finding an Element in a List 18.3 Removing an Element From an Array 19.1 Intro to Objects/Maps 19.2 Basics of Objects 19.3 Iterating Over an Object 17.2 Drawing Lines 19.5 Intro to Sets 19.6 Intro to Grids 19.7 Looping Over a Grid 19.8 Grid Example: Get a Row 19.9 Data Structures Challenges 14.1 Extra Karel Practice 15.1 Extra Karel Puzzles 16.1 Functions and Parameters Practice 17.1 Mouse Events: Mouse Moved
 Standard 6.4 Branching 6.4 Branching 6.3 Looping 6.3 Looping
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 13.1 Extra Karel Practice 14.1 Extra Karel Puzzles 13.1 Extra Karel Practice 14.1 Extra Karel Puzzles
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 19.3 Removing an Element From an Array 17.9 Bouncing Ball 17.10 Mouse Events: Mouse Clicked 16.1 Mouse Events: Mouse Moved 16.2 Drawing Lines 16.3 Key Events 16.4 Crazy Ball Game 17.11 Intro to Lists/Arrays 19.1 Indexing Into an Array 17.12 Adding/Removing From an Array 17.13 Array Length and Looping Through Arrays 17.14 Iterating Over an Array 19.2 Finding an Element in a List 17.8 Random Ghosts 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? 20.5 Intro to Sets 20.6 Intro to Grids 20.7 Looping Over a Grid 20.8 Grid Example: Get a Row 20.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 18.1 Functions and Parameters Practice 20.2 Basics of Objects 16.1 Mouse Events: Mouse Moved 16.2 Drawing Lines 16.3 Key Events 16.4 Crazy Ball Game 17.11 Intro to Lists/Arrays 19.1 Indexing Into an Array 17.12 Adding/Removing From an Array 17.13 Array Length and Looping Through Arrays 17.14 Iterating Over an Array 19.2 Finding an Element in a List 19.3 Removing an Element From an Array 20.1 Intro to Objects/Maps 17.10 Mouse Events: Mouse Clicked 20.3 Iterating Over an Object 20.4 When Do I Use an Object? 20.5 Intro to Sets 20.6 Intro to Grids 20.7 Looping Over a Grid 20.8 Grid Example: Get a Row 20.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 18.1 Functions and Parameters Practice 17.9 Bouncing Ball 17.8 Random Ghosts
 Standard 5.4 Nested Control Structures 5.4 Nested Control Structures 9.2 Lists 9.2 Lists 9.3 For Loops and Lists 9.3 For Loops and Lists 9.5 2d Lists 9.5 2d Lists 12.4 Equivalence vs. Identity 15.6 Inheritance 17.1 Project: Who Said It? 12.4 Equivalence vs. Identity 15.6 Inheritance 17.1 Project: Who Said It?
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 6.12 While Loops in Karel 6.13 Control Structures Example 7.1 Extra Karel Puzzles 6.12 While Loops in Karel 6.13 Control Structures Example 7.1 Extra Karel Puzzles 9.1 For Loops 9.2 While Loops 9.4 If/Else Statements 10.1 micro:bit Challenges
 Standard 1.12 While Loops 1.14 Control Structures Example 6.3 Collisions 6.4 Mouse Click Events 6.5 More Mouse Events 6.6 Key Events 29.6 Finding an Element in a List 21.4 Crazy Ball Game 29.7 Removing an Element From an Array 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? 29.12 Intro to Sets 29.13 Intro to Grids 29.14 Looping Over a Grid 29.15 Grid Example: Get a Row 29.16 Data Structures Quiz 31.1 Tic Tac Toe 32.1 Game Design: Helicopter 21.3 Animation Practice 29.5 Iterating Over an Array 29.4 Array Length and Looping Through Arrays 29.3 Adding/Removing From an Array 29.2 Indexing Into an Array 29.1 Intro to Lists/Arrays 28.1 Visualizing Music 30.2 Connect Four 30.1 Conway's Game of Life 21.2 Fun Graphics Challenges 21.1 Snake Game 20.1 Prime Numbers 24.1 Functions and Parameters Practice 19.2 Extra Karel Puzzles 19.1 Extra Karel Practice 27.1 Breakout 25.1 Functions Challenges
 Standard 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 13.1 Functions Challenges 13.1 Functions Challenges 33.9 Basics of Objects 33.10 Iterating Over an Object 33.8 Intro to Objects/Maps 33.7 Removing an Element From an Array 33.6 Finding an Element in a List 33.5 Iterating Over an Array 33.4 Array Length and Looping Through Arrays 33.3 Adding/Removing From an Array 33.2 Indexing Into an Array 33.1 Intro to Lists/Arrays 23.1 Breakout 21.9 Crazy Ball Game 21.8 Key Events 21.7 Drawing Lines 21.6 Mouse Events: Mouse Moved 21.5 Mouse Events: Mouse Clicked 21.4 Bouncing Ball 24.1 Extra Karel Puzzles 21.4 Bouncing Ball 26.1 Prime Numbers 27.2 Fun Graphics Challenges 27.1 Fun Snake 28.2 Connect Four 28.1 Conway's Game of Life 29.1 Evolution Simulation 32.1 Visualizing Music 34.1 Tic Tac Toe 25.1 Functions and Parameters Practice 20.1 Extra Karel Practice 35.1 Game Design: Helicopter 33.16 Data Structures Challenges 33.15 Grid Example: Get a Row 33.14 Looping Over a Grid 33.13 Intro to Grids 33.12 Intro to Sets 33.11 When Do I Use an Object? 33.3 Adding/Removing From an Array 33.11 When Do I Use an Object? 33.10 Iterating Over an Object 33.9 Basics of Objects 33.8 Intro to Objects/Maps 33.7 Removing an Element From an Array 33.6 Finding an Element in a List 33.5 Iterating Over an Array 33.4 Array Length and Looping Through Arrays 33.12 Intro to Sets 33.2 Indexing Into an Array 33.1 Intro to Lists/Arrays 23.1 Breakout 21.9 Crazy Ball Game 21.8 Key Events 21.7 Drawing Lines 21.6 Mouse Events: Mouse Moved 21.5 Mouse Events: Mouse Clicked 32.1 Visualizing Music 21.3 Random Ghosts 25.1 Functions and Parameters Practice 26.1 Prime Numbers 27.2 Fun Graphics Challenges 27.1 Fun Snake 28.2 Connect Four 28.1 Conway's Game of Life 29.1 Evolution Simulation 21.3 Random Ghosts 34.1 Tic Tac Toe 24.1 Extra Karel Puzzles 20.1 Extra Karel Practice 35.1 Game Design: Helicopter 33.16 Data Structures Challenges 33.15 Grid Example: Get a Row 33.14 Looping Over a Grid 33.13 Intro to Grids
 Standard 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 9.1 Functions Challenges 9.1 Functions Challenges 10.3 Random Ghosts 10.3 Random Ghosts 10.4 Bouncing Ball 10.4 Bouncing Ball 10.5 Mouse Events: Mouse Clicked 10.5 Mouse Events: Mouse Clicked 10.6 Mouse Events: Mouse Moved 10.6 Mouse Events: Mouse Moved 10.7 Drawing Lines 10.7 Drawing Lines 10.8 Key Events 10.8 Key Events 10.9 Crazy Ball Game 10.9 Crazy Ball Game 12.1 Breakout 12.1 Breakout 26.10 Iterating Over an Object 26.2 Indexing Into an Array 26.3 Adding/Removing From an Array 26.4 Array Length and Looping Through Arrays 26.5 Iterating Over an Array 26.6 Finding an Element in a List 26.7 Removing an Element From an Array 26.8 Intro to Objects/Maps 26.9 Basics of Objects 17.1 Extra Karel Puzzles 26.2 Indexing Into an Array 19.1 Prime Numbers 20.2 Fun Graphics Challenges 20.1 Fun Snake 21.2 Connect Four 21.1 Conway's Game of Life 22.1 Evolution Simulation 25.1 Visualizing Music 27.1 Tic Tac Toe 18.1 Functions and Parameters Practice 16.1 Extra Karel Practice 28.1 Game Design: Helicopter 26.16 Data Structures Challenges 26.15 Grid Example: Get a Row 26.14 Looping Over a Grid 26.13 Intro to Grids 26.12 Intro to Sets 26.11 When Do I Use an Object? 26.16 Data Structures Challenges 26.3 Adding/Removing From an Array 26.4 Array Length and Looping Through Arrays 26.5 Iterating Over an Array 26.6 Finding an Element in a List 26.7 Removing an Element From an Array 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? 26.12 Intro to Sets 26.13 Intro to Grids 26.14 Looping Over a Grid 26.15 Grid Example: Get a Row 26.1 Intro to Lists/Arrays 28.1 Game Design: Helicopter 16.1 Extra Karel Practice 17.1 Extra Karel Puzzles 27.1 Tic Tac Toe 25.1 Visualizing Music 22.1 Evolution Simulation 21.1 Conway's Game of Life 21.2 Connect Four 20.1 Fun Snake 20.2 Fun Graphics Challenges 19.1 Prime Numbers 18.1 Functions and Parameters Practice 26.1 Intro to Lists/Arrays
 Standard 23.3 Looping 23.4 Branching 23.3 Looping 23.4 Branching
 Standard 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 14.1 For Loops 14.2 While Loops 14.4 If/Else Statements 15.1 micro:bit Challenges
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 14.1 For Loops 14.2 While Loops 14.4 If/Else Statements 15.1 micro:bit Challenges
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 14.1 For Loops 14.2 While Loops 14.4 If/Else Statements 15.1 micro:bit Challenges
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 14.1 For Loops 14.2 While Loops 14.4 If/Else Statements 15.1 micro:bit Challenges
 Standard 14.12 While Loops in Karel 14.13 Control Structures Example 15.1 Extra Karel Puzzles 14.12 While Loops in Karel 14.13 Control Structures Example 15.1 Extra Karel Puzzles 6.1 For Loops 6.2 While Loops 6.4 If/Else Statements 7.1 micro:bit Challenges
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 14.1 For Loops 14.2 While Loops 14.4 If/Else Statements 15.1 micro:bit Challenges
 Standard 8.12 While Loops in Karel 8.12 While Loops in Karel 8.13 Control Structures Example 8.13 Control Structures Example
 Standard 2.13 While Loops 2.15 Control Structures Example 10.1 Intro to Lists/Arrays 10.2 Indexing Into an Array 10.3 Adding/Removing From an Array 10.4 Array Length and Looping Through Arrays 10.5 Iterating Over an Array 10.6 Finding an Element in a List 10.7 Removing an Element From an Array 10.9 Data Structures Quiz 11.2 Intro to Sets 11.3 Intro to Grids 11.4 Looping Over a Grid 11.5 Grid Example: Get a Row 13.6 Key Events 13.5 More Mouse Events 13.4 Mouse Click Events 13.3 Collisions
 Standard 2.12 While Loops 2.14 Control Structures Example 8.3 Collisions 8.4 Mouse Click Events 8.5 More Mouse Events 8.6 Key Events 11.4 For Loops 11.5 While Loops 17.4 Crazy Ball Game 17.3 Animation Practice 17.2 Fun Graphics Challenges 17.1 Snake Game 16.1 Prime Numbers 20.1 Functions and Parameters Practice 15.2 Extra Karel Puzzles 15.1 Extra Karel Practice 23.1 Breakout 21.1 Functions Challenges
 Standard 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 14.1 For Loops 14.2 While Loops 14.4 If/Else Statements 15.1 micro:bit Challenges
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 3.13 While Loops in Karel 3.13 While Loops in Karel 3.14 Control Structures Example 3.14 Control Structures Example 18.3 Removing an Element From an Array 12.9 Bouncing Ball 12.10 Mouse Events: Mouse Clicked 17.1 Mouse Events: Mouse Moved 17.2 Drawing Lines 17.3 Key Events 17.4 Crazy Ball Game 12.11 Intro to Lists/Arrays 18.1 Indexing Into an Array 12.12 Adding/Removing From an Array 12.13 Array Length and Looping Through Arrays 12.14 Iterating Over an Array 18.2 Finding an Element in a List 12.8 Random Ghosts 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? 19.5 Intro to Sets 19.6 Intro to Grids 19.7 Looping Over a Grid 19.8 Grid Example: Get a Row 19.9 Data Structures Challenges 14.1 Extra Karel Practice 15.1 Extra Karel Puzzles 16.1 Functions and Parameters Practice 19.2 Basics of Objects 17.1 Mouse Events: Mouse Moved 17.2 Drawing Lines 17.3 Key Events 17.4 Crazy Ball Game 12.11 Intro to Lists/Arrays 18.1 Indexing Into an Array 12.12 Adding/Removing From an Array 12.13 Array Length and Looping Through Arrays 12.14 Iterating Over an Array 18.2 Finding an Element in a List 18.3 Removing an Element From an Array 19.1 Intro to Objects/Maps 12.10 Mouse Events: Mouse Clicked 19.3 Iterating Over an Object 19.4 When Do I Use an Object? 19.5 Intro to Sets 19.6 Intro to Grids 19.7 Looping Over a Grid 19.8 Grid Example: Get a Row 19.9 Data Structures Challenges 14.1 Extra Karel Practice 15.1 Extra Karel Puzzles 16.1 Functions and Parameters Practice 12.9 Bouncing Ball 12.8 Random Ghosts
 Standard 16.3 Looping 16.4 Branching 16.3 Looping 16.4 Branching
 Standard 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example
 Standard 4.13 While Loops in Karel 4.13 While Loops in Karel 4.14 Control Structures Example 4.14 Control Structures Example 7.8 Random Ghosts 7.8 Random Ghosts 7.9 Bouncing Ball 7.9 Bouncing Ball 7.10 Mouse Events: Mouse Clicked 7.10 Mouse Events: Mouse Clicked 7.11 Intro to Lists/Arrays 7.11 Intro to Lists/Arrays 7.12 Adding/Removing From an Array 7.12 Adding/Removing From an Array 7.13 Array Length and Looping Through Arrays 7.13 Array Length and Looping Through Arrays 7.14 Iterating Over an Array 7.14 Iterating Over an Array
 Standard 13.1 Extra Karel Practice 14.1 Extra Karel Puzzles
 Standard 2.12 While Loops 2.15 Control Structures Example 11.3 Collisions 11.4 Mouse Click Events 11.5 More Mouse Events 11.6 Key Events 12.1 Breakout 13.1 Intro to Arrays 13.2 Adding & Removing from an Array 13.3 Iterating Through an Array
 Standard 21.3 Looping 21.4 Branching
 Standard 2.12 While Loops in Karel 2.12 While Loops in Karel 2.13 Control Structures Example 2.13 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 9.8 Random Ghosts 9.8 Random Ghosts 9.9 Bouncing Ball 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.10 Mouse Events: Mouse Clicked 9.11 Intro to Lists/Arrays 9.11 Intro to Lists/Arrays 9.12 Adding/Removing From an Array 9.12 Adding/Removing From an Array 9.13 Array Length and Looping Through Arrays 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 9.14 Iterating Over an Array 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 17.4 When Do I Use an Object? 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 15.2 Drawing Lines 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved
 Standard 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 11.12 While Loops in Karel 11.13 Control Structures Example 12.1 Extra Karel Puzzles 14.1 For Loops 14.2 While Loops 14.4 If/Else Statements 15.1 micro:bit Challenges
 Standard 13.19 Intro to Lists/Arrays 13.20 Indexing Into an Array 13.21 Adding/Removing From an Array 13.22 Array Length and Looping Through Arrays 13.19 Intro to Lists/Arrays 13.20 Indexing Into an Array 13.21 Adding/Removing From an Array 13.22 Array Length and Looping Through Arrays
 Standard 6.4 Nested Control Structures 6.4 Nested Control Structures
 Standard 4.2 Lists 4.2 Lists 4.3 For Loops and Lists 4.3 For Loops and Lists 5.1 2d Lists
 Standard 6.4 Nested Control Structures 6.4 Nested Control Structures 12.2 Lists 12.2 Lists 12.3 For Loops and Lists 12.3 For Loops and Lists 13.1 2d Lists
 Standard 6.4 Nested Control Structures 6.4 Nested Control Structures
 Standard 4.2 Lists 4.2 Lists 4.3 For Loops and Lists 4.3 For Loops and Lists 5.1 2d Lists 9.6 Inheritance 13.1 Project: Who Said It? 9.6 Inheritance 13.1 Project: Who Said It?
 Standard 8.19 Intro to Lists/Arrays 8.20 Indexing Into an Array 8.21 Adding/Removing From an Array 8.22 Array Length and Looping Through Arrays 8.19 Intro to Lists/Arrays 8.20 Indexing Into an Array 8.21 Adding/Removing From an Array 8.22 Array Length and Looping Through Arrays
 Standard 12.19 Intro to Lists/Arrays 12.20 Indexing Into an Array 12.21 Adding/Removing From an Array 12.22 Array Length and Looping Through Arrays 12.19 Intro to Lists/Arrays 12.20 Indexing Into an Array 12.21 Adding/Removing From an Array 12.22 Array Length and Looping Through Arrays