# CT 3A: 3A-AP-17

## 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.5 The Main Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.13 How to Indent Your Code 1.14 Control Structures Example 1.15 More Karel Examples and Testing 2.1 Challenge Problems 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math 3.6 Random Numbers 6.1 Booleans 6.2 If/Else Statements 6.3 Logical Operators 6.4 Comparison Operators 6.6 While Loops 6.7 The Break Statement 6.9 For Loops 9.1 Functions Challenges 10.1 Timers 10.2 Stopping Timers 10.3 Collisions 10.4 Mouse Click Events 10.5 More Mouse Events 10.6 Key Events 12.1 Breakout 17.1 Functions and Parameters Practice 22.4 Grid Example: Get a Row 22.3 Looping Over a Grid 22.2 Intro to Grids 22.1 Intro to Sets 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 16.1 Extra Karel Practice 19.3 Animation Practice 18.1 Prime Numbers 19.1 Snake Game 19.2 Fun Graphics Challenges 27.1 Game Design: Helicopter 26.1 Tic Tac Toe 24.1 Visualizing Music 25.2 Connect Four 25.1 Conway's Game of Life 19.4 Crazy Ball Game
 Standard 2.4 Functions in Karel 2.5 Top Down Design and Decomposition in Karel 21.1 Classes and Objects 21.1 Classes and Objects 21.5 Class Variables vs. Instance Variables 21.5 Class Variables vs. Instance Variables 21.6 Inheritance 21.6 Inheritance 21.9 Modules 21.9 Modules 19.1 Project: Who Said It? 19.1 Project: Who Said It?
 Standard 2.1 Objects: Instances of Classes 2.4 Calling a Void Method 2.6 Calling a Non-void Method 5.1 Writing Classes
 Standard 1.5 Functions in Karel 1.7 Top Down Design and Decomposition in Karel 2.1 Practice PT: Pair-Programming Paint! 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 5.7 JavaScript vs Karel 5.8 Basic JavaScript and Graphics Challenges 6.1 Project: Tell a Story 9.1 Practice PT: Steganography 10.1 Practice PT: Create an Image Filter! 16.1 Create Performance Task
 Standard 1.5 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 2.1 Practice PT: Pair-Programming Paint! 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 5.8 Python vs Karel 5.9 Basic Python and Graphics Challenges 6.1 Practice PT: Tell a Story 9.1 Practice PT: Steganography 10.1 Practice PT: Create an Image Filter! 16.1 Create Performance Task 29.1 Project: Who Said It? 27.9 Modules 27.6 Inheritance 27.5 Class Variables vs. Instance Variables 27.1 Classes and Objects 29.1 Project: Who Said It? 27.9 Modules 27.6 Inheritance 27.5 Class Variables vs. Instance Variables 27.1 Classes and Objects
 Standard 1.5 Functions in Karel 1.7 Top Down Design and Decomposition in Karel 2.1 Practice PT: Pair-Programming Paint! 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 5.7 JavaScript vs Karel 5.8 Basic JavaScript and Graphics Challenges 6.1 Project: Tell a Story 12.1 Practice PT: Create an Image Filter! 19.1 Create Performance Task 31.1 Practice PT: Steganography
 Standard 1.6 Functions in HTML 4.4 JavaScript Objects 4.10 For/In Loops 9.22 Array Length and Looping Through Arrays 9.17 Functions and Return Values 2 9.22 Array Length and Looping Through Arrays 9.11 Random Numbers 9.11 Random Numbers 9.12 While Loops 9.12 While Loops 9.13 Loop and a Half 9.13 Loop and a Half 9.14 Functions and Parameters 1 9.14 Functions and Parameters 1 9.16 Functions and Return Values 1 9.16 Functions and Return Values 1 9.18 Local Variables and Scope 9.18 Local Variables and Scope 9.9 For Loops in JavaScript 9.9 For Loops in JavaScript 9.15 Functions and Parameters 2 9.15 Functions and Parameters 2 9.10 For Loop Practice 9.10 For Loop Practice 9.17 Functions and Return Values 2 9.4 Basic Math in JavaScript 9.1 Hello World 9.1 Hello World 9.2 Variables 9.2 Variables 9.19 Intro to Lists/Arrays 9.19 Intro to Lists/Arrays 9.20 Indexing Into an Array 9.20 Indexing Into an Array 9.3 User Input 9.3 User Input 9.8 If Statements 9.4 Basic Math in JavaScript 9.21 Adding/Removing From an Array 9.21 Adding/Removing From an Array 9.5 Booleans 9.5 Booleans 9.6 Logical Operators 9.6 Logical Operators 9.7 Comparison Operators 9.7 Comparison Operators 9.8 If Statements
 Standard 13.6 Organizational Techniques 13.4 Branching
 Standard 1.4 Functions in Karel 1.5 The Main Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.13 How to Indent Your Code 1.14 Control Structures Example 1.15 More Karel Examples and Testing 1.16 Challenge Problems 2.1 Hello World 2.2 Variables 2.3 User Input 2.4 Basic Math 2.6 Random Numbers 5.1 Booleans 5.2 If/Else Statements 5.3 Logical Operators 5.4 Comparison Operators 5.6 While Loops 5.7 The Break Statement 5.9 For Loops 8.1 Functions Challenges 9.1 Timers 9.2 Stopping Timers 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 20.1 Connect Four 27.1 Conway's Game of Life 22.4 Grid Example: Get a Row 22.3 Looping Over a Grid 22.2 Intro to Grids 22.1 Intro to Sets 29.1 Visualizing Music 26.3 Crazy Ball Game 26.2 Animation Practice 26.1 Fun Graphics Challenges 25.1 Prime Numbers 24.1 Functions and Parameters Practice 23.1 Extra Karel Practice
 Standard 1.4 Functions in Karel 1.5 The Main Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.13 How to Indent Your Code 1.14 Control Structures Example 1.15 More Karel Examples and Testing 2.1 Challenge Problems 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math 3.6 Random Numbers 6.1 Booleans 6.2 If/Else Statements 6.3 Logical Operators 6.4 Comparison Operators 6.6 While Loops 6.7 The Break Statement 6.9 For Loops 9.1 Functions Challenges 10.1 Timers 10.2 Stopping Timers 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 20.4 Grid Example: Get a Row 20.3 Looping Over a Grid 20.2 Intro to Grids 20.1 Intro to Sets 27.2 Connect Four 27.1 Conway's Game of Life 26.1 Visualizing Music 24.4 Crazy Ball Game 24.3 Animation Practice 24.2 Fun Graphics Challenges 24.1 Snake Game 23.1 Prime Numbers 22.1 Functions and Parameters Practice 21.1 Extra Karel Practice
 Standard 1.4 Functions in Karel 1.5 The Main Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.13 How to Indent Your Code 1.14 Control Structures Example 1.15 More Karel Examples and Testing 2.1 Challenge Problems 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math 3.6 Random Numbers 6.1 Booleans 6.2 If/Else Statements 6.3 Logical Operators 6.4 Comparison Operators 6.6 While Loops 6.7 The Break Statement 6.9 For Loops 9.1 Functions Challenges 18.1 Visualizing Music 23.1 Conway's Game of Life 23.2 Connect Four 24.1 Tic Tac Toe 25.1 Game Design: Helicopter 20.1 Intro to Arrays 20.2 Adding & Removing from an Array 20.3 Iterating Through an Array 21.1 Intro to Objects 21.4 Iterating Through an Object 22.1 Intro to Sets 22.2 Intro to Grids 22.3 Looping Over a Grid 22.4 Grid Example: Get a Row 17.4 Crazy Ball Game 17.3 Animation Practice 17.2 Fun Graphics Challenges 17.1 Snake Game 16.1 Prime Numbers 15.1 Functions and Parameters Practice 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 11.2 Stopping Timers 11.1 Timers
 Standard 6.4 Using Methods to Update String States 6.4 Using Methods to Update String States
 Standard 6.4 Using Methods to Update String States 6.4 Using Methods to Update String States
 Standard 3.6 Top Down Design
 Standard 3.6 Top Down Design
 Standard 4.3 Booleans 4.4 If/Else Statements
 Standard 2.1 Functions in Karel 2.3 The Main Function 2.4 Top Down Design and Decomposition in Karel 3.1 Commenting Your Code 3.2 Super Karel 3.3 For Loops 4.1 If Statements and Conditionals 4.2 If/Else Statements 5.1 While Loops 6.1 How to Indent Your Code 6.2 Control Structures Example 6.3 More Karel Examples and Testing 7.1 Challenge Problems 10.1 Extra Karel Practice 12.6 Random Numbers 12.1 Hello World 12.2 Variables 12.3 User Input 12.4 Basic Math
 Standard 1.4 Functions in Karel 1.4 Functions in Karel 1.5 The Start Function 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.7 Commenting Your Code 1.8 Super Karel 1.8 Super Karel 1.9 For Loops 1.9 For Loops 1.10 If Statements 1.10 If Statements 1.11 If/Else Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 1.15 How to Indent Your Code 11.1 Extra Karel Practice 11.1 Extra Karel Practice 13.10 Top Down Design 13.10 Top Down Design
 Standard 2.4 Functions in Karel 2.4 Functions in Karel 2.5 The Start Function 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.7 Commenting Your Code 2.8 Super Karel 2.8 Super Karel 2.9 For Loops 2.9 For Loops 2.10 If Statements 2.10 If Statements 2.11 If/Else Statements 2.11 If/Else Statements 2.12 While Loops in Karel 2.12 While Loops in Karel 2.13 Control Structures Example 2.13 Control Structures Example 2.14 More Karel Examples and Testing 2.14 More Karel Examples and Testing 2.15 How to Indent Your Code 2.15 How to Indent Your Code 3.10 Top Down Design 3.10 Top Down Design 4.1 Extra Karel Practice 4.1 Extra Karel Practice
 Standard 2.4 Functions in Karel 2.4 Functions in Karel 2.5 The Start Function 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.7 Commenting Your Code 2.8 Super Karel 2.8 Super Karel 2.9 For Loops 2.9 For Loops 2.10 If Statements 2.10 If Statements 2.11 If/Else Statements 2.11 If/Else Statements 2.12 While Loops in Karel 2.12 While Loops in Karel 2.13 Control Structures Example 2.13 Control Structures Example 2.14 More Karel Examples and Testing 2.14 More Karel Examples and Testing 2.15 How to Indent Your Code 2.15 How to Indent Your Code 3.1 Hello World 3.1 Hello World 3.2 Variables 3.2 Variables 3.3 User Input 3.3 User Input 3.4 Basic Math in JavaScript 3.4 Basic Math in JavaScript 3.5 Using Graphics in JavaScript 3.5 Using Graphics in JavaScript 4.1 Extra Karel Practice 4.1 Extra Karel Practice 6.10 Top Down Design 6.10 Top Down Design
 Standard 1.4 Functions in Karel 1.4 Functions in Karel 1.5 The Start Function 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.7 Commenting Your Code 1.8 Super Karel 1.8 Super Karel 1.9 For Loops 1.9 For Loops 1.10 If Statements 1.10 If Statements 1.11 If/Else Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 1.15 How to Indent Your Code
 Standard 7.1 Writing BlackJack 7.1 Writing BlackJack 8.1 Mad Libs 8.1 Mad Libs
 Standard 1.10 Top Down Design 1.10 Top Down Design 3.3 Comments & Pseudocode 7.4 Functions 12.1 Arduino Challenges 12.4 Final Project 14.1 Classes and Objects 14.1 Classes and Objects 14.5 Class Variables vs. Instance Variables 14.5 Class Variables vs. Instance Variables 14.6 Inheritance 14.6 Inheritance 14.9 Modules 14.9 Modules
 Standard 1.4 Functions in Karel 1.4 Functions in Karel 1.5 The Start Function 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.7 Commenting Your Code 1.8 Super Karel 1.8 Super Karel 1.9 For Loops 1.9 For Loops 1.10 If Statements 1.10 If Statements 1.11 If/Else Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 1.15 How to Indent Your Code 2.1 Challenge Problems 2.1 Challenge Problems 3.1 Hello World 3.1 Hello World 3.2 Variables 3.2 Variables 3.3 User Input 3.3 User Input 3.4 Basic Math in JavaScript 3.4 Basic Math in JavaScript 3.5 Using Graphics in JavaScript 3.5 Using Graphics in JavaScript 5.3 Comments & Pseudocode 6.1 Booleans 6.1 Booleans 6.2 Logical Operators 6.2 Logical Operators 6.3 Comparison Operators 6.3 Comparison Operators 6.4 If Statements 6.4 If Statements 6.5 For Loops in JavaScript 6.5 For Loops in JavaScript 6.6 General For Loops 6.6 General For Loops 6.7 For Loop Practice 6.7 For Loop Practice 6.8 Random Numbers 6.8 Random Numbers 6.9 While Loops 6.9 While Loops 6.10 Loop and a Half 6.10 Loop and a Half 8.1 Functions and Parameters 1 8.1 Functions and Parameters 1 8.2 Functions and Parameters 2 8.2 Functions and Parameters 2 8.3 Functions and Parameters 3 8.3 Functions and Parameters 3 8.4 Functions and Return Values 1 8.4 Functions and Return Values 1 8.5 Functions and Return Values 2 8.5 Functions and Return Values 2 8.6 Local Variables and Scope 8.6 Local Variables and Scope 9.1 Functions Challenges 9.1 Functions Challenges 10.4 Functions 11.1 Timers 11.1 Timers 11.2 Random Circles 11.2 Random Circles 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 14.4 Final Project 18.1 Extra Karel Practice 18.1 Extra Karel Practice 20.1 Functions and Parameters Practice 20.1 Functions and Parameters Practice 21.1 Tic Tac Toe 21.1 Tic Tac Toe 22.1 Game Design: Helicopter 22.1 Game Design: Helicopter
 Standard 3.5 Top Down Design 3.5 Top Down Design 5.3 Comments & Pseudocode 7.5 Functions 9.1 micro:bit Challenges 9.4 Final Project
 Standard 2.3 Comments & Pseudocode 7.5 Functions 10.1 micro:bit Challenges 10.4 Final Project
 Standard 1.3 Comments & Pseudocode 2.5 Functions 3.1 micro:bit Challenges 3.4 Final Project
 Standard 1.3 Comments & Pseudocode 2.4 Functions 3.1 Arduino Challenges 3.4 Final Project
 Standard 2.4 Functions in Karel 2.4 Functions in Karel 2.5 The Start Function 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.7 Commenting Your Code 2.8 Abstraction 2.8 Abstraction 2.9 Super Karel 2.9 Super Karel 2.10 For Loops 2.10 For Loops 2.11 If Statements 2.11 If Statements 2.12 If/Else Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 2.16 How to Indent Your Code 3.2 Challenge Problems 3.2 Challenge Problems 5.1 Hello World 5.1 Hello World 5.2 Variables 5.2 Variables 5.3 User Input 5.3 User Input 5.4 Basic Math in JavaScript 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.1 Booleans 7.2 Logical Operators 7.2 Logical Operators 7.3 Comparison Operators 7.3 Comparison Operators 7.4 If Statements 7.4 If Statements 7.5 For Loops in JavaScript 7.5 For Loops in JavaScript 7.6 General For Loops 7.6 General For Loops 7.7 For Loop Practice 7.7 For Loop Practice 7.9 While Loops 7.9 While Loops 7.10 Loop and a Half 7.10 Loop and a Half 9.1 Functions and Parameters 1 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.5 Functions and Return Values 2 9.6 Timers 9.6 Timers 9.7 Random Circles 9.7 Random Circles 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 15.1 Mouse Events: Mouse Moved 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.2 Drawing Lines 15.3 Key Events 15.3 Key Events 15.4 Crazy Ball Game 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.2 Basics of Objects 17.3 Iterating Over an Object 17.3 Iterating Over an Object 17.4 When Do I Use an Object? 17.4 When Do I Use an Object? 17.5 Intro to Sets 17.5 Intro to Sets 17.6 Intro to Grids 17.6 Intro to Grids 17.7 Looping Over a Grid 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 17.9 Data Structures Challenges 12.1 Extra Karel Practice 12.1 Extra Karel Practice 14.1 Functions and Parameters Practice 14.1 Functions and Parameters Practice
 Standard 1.10 Top Down Design 1.10 Top Down Design 3.3 Comments & Pseudocode 11.11 If/Else Statements 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 11.15 How to Indent Your Code 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.14 More Karel Examples and Testing 11.13 Control Structures Example 11.13 Control Structures Example 11.12 While Loops in Karel 11.12 While Loops in Karel 11.4 Functions in Karel 11.11 If/Else Statements 11.10 If Statements 11.10 If Statements 11.9 For Loops 11.9 For Loops 11.8 Super Karel 11.8 Super Karel 11.7 Commenting Your Code 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.5 The Start Function 11.4 Functions in Karel
 Standard 7.1 Pokemon Simulation 7.1 Pokemon Simulation 9.1 Java Outside of CodeHS 9.1 Java Outside of CodeHS 8.1 Mad Libs 8.1 Mad Libs
 Standard 1.4 Functions in Karel 1.4 Functions in Karel 1.5 The Start Function 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.7 Commenting Your Code 1.8 Super Karel 1.8 Super Karel 1.9 For Loops 1.9 For Loops 1.10 If Statements 1.10 If Statements 1.11 If/Else Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 1.15 How to Indent Your Code 2.1 Challenge Problems 2.1 Challenge Problems 3.1 Hello World 3.1 Hello World 3.2 Variables 3.2 Variables 3.3 User Input 3.3 User Input 3.4 Basic Math in JavaScript 3.4 Basic Math in JavaScript 3.5 Using Graphics in JavaScript 3.5 Using Graphics in JavaScript 5.1 Booleans 5.1 Booleans 5.2 Logical Operators 5.2 Logical Operators 5.3 Comparison Operators 5.3 Comparison Operators 5.4 If Statements 5.4 If Statements 5.5 For Loops in JavaScript 5.5 For Loops in JavaScript 5.6 General For Loops 5.6 General For Loops 5.7 For Loop Practice 5.7 For Loop Practice 5.8 Random Numbers 5.8 Random Numbers 5.9 While Loops 5.9 While Loops 5.10 Loop and a Half 5.10 Loop and a Half 7.1 Functions and Parameters 1 7.1 Functions and Parameters 1 7.2 Functions and Parameters 2 7.2 Functions and Parameters 2 7.3 Functions and Parameters 3 7.3 Functions and Parameters 3 7.4 Functions and Return Values 1 7.4 Functions and Return Values 1 7.5 Functions and Return Values 2 7.5 Functions and Return Values 2 7.6 Local Variables and Scope 7.6 Local Variables and Scope 8.1 Functions Challenges 8.1 Functions Challenges 9.1 Timers 9.1 Timers 9.2 Random Circles 9.2 Random Circles 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.1 Intro to Lists/Arrays 25.1 Intro to Lists/Arrays 25.2 Indexing Into an Array 25.2 Indexing Into an Array 25.3 Adding/Removing From an Array 25.3 Adding/Removing From an Array 25.4 Array Length and Looping Through Arrays 25.4 Array Length and Looping Through Arrays 25.5 Iterating Over an Array 25.5 Iterating Over an Array 25.6 Finding an Element in a List 25.6 Finding an Element in a List 25.7 Removing an Element From an Array 25.7 Removing an Element From an Array 25.8 Intro to Objects/Maps 25.8 Intro to Objects/Maps 25.9 Basics of Objects 25.9 Basics of Objects 25.10 Iterating Over an Object 25.10 Iterating Over an Object 25.11 When Do I Use an Object? 25.11 When Do I Use an Object? 25.12 Intro to Sets 25.12 Intro to Sets 25.13 Intro to Grids 25.13 Intro to Grids 25.14 Looping Over a Grid 25.14 Looping Over a Grid 25.15 Grid Example: Get a Row 25.15 Grid Example: Get a Row 25.16 Data Structures Challenges 25.16 Data Structures Challenges 27.1 Game Design: Helicopter 27.1 Game Design: Helicopter 17.1 Functions and Parameters Practice 17.1 Functions and Parameters Practice 15.1 Extra Karel Practice 15.1 Extra Karel Practice 18.1 Prime Numbers 18.1 Prime Numbers 19.1 Fun Snake 19.1 Fun Snake 19.2 Fun Graphics Challenges 19.2 Fun Graphics Challenges 20.1 Conway's Game of Life 20.1 Conway's Game of Life 20.2 Connect Four 20.2 Connect Four 21.1 Evolution Simulation 21.1 Evolution Simulation 26.1 Tic Tac Toe 26.1 Tic Tac Toe 24.1 Visualizing Music 24.1 Visualizing Music
 Standard 1.4 Functions in Karel 1.4 Functions in Karel 1.5 The Start Function 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.7 Commenting Your Code 1.8 Super Karel 1.8 Super Karel 1.9 For Loops 1.9 For Loops 1.10 If Statements 1.10 If Statements 1.11 If/Else Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 1.15 How to Indent Your Code 2.1 Challenge Problems 2.1 Challenge Problems 3.1 Hello World 3.1 Hello World 3.2 Variables 3.2 Variables 3.3 User Input 3.3 User Input 3.4 Basic Math in JavaScript 3.4 Basic Math in JavaScript 3.5 Using Graphics in JavaScript 3.5 Using Graphics in JavaScript 5.1 Booleans 5.1 Booleans 5.2 Logical Operators 5.2 Logical Operators 5.3 Comparison Operators 5.3 Comparison Operators 5.4 If Statements 5.4 If Statements 5.5 For Loops in JavaScript 5.5 For Loops in JavaScript 5.6 General For Loops 5.6 General For Loops 5.7 For Loop Practice 5.7 For Loop Practice 5.8 Random Numbers 5.8 Random Numbers 5.9 While Loops 5.9 While Loops 5.10 Loop and a Half 5.10 Loop and a Half 7.1 Functions and Parameters 1 7.1 Functions and Parameters 1 7.2 Functions and Parameters 2 7.2 Functions and Parameters 2 7.3 Functions and Parameters 3 7.3 Functions and Parameters 3 7.4 Functions and Return Values 1 7.4 Functions and Return Values 1 7.5 Functions and Return Values 2 7.5 Functions and Return Values 2 7.6 Local Variables and Scope 7.6 Local Variables and Scope 8.1 Functions Challenges 8.1 Functions Challenges 9.1 Timers 9.1 Timers 9.2 Random Circles 9.2 Random Circles 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 20.1 Functions and Parameters Practice 20.1 Functions and Parameters Practice 18.1 Extra Karel Practice 18.1 Extra Karel Practice 21.1 Prime Numbers 21.1 Prime Numbers 22.1 Fun Snake 22.1 Fun Snake 22.2 Fun Graphics Challenges 22.2 Fun Graphics Challenges 23.1 Conway's Game of Life 23.1 Conway's Game of Life 23.2 Connect Four 23.2 Connect Four 24.1 Evolution Simulation 24.1 Evolution Simulation 28.1 Visualizing Music 28.1 Visualizing Music
 Standard 1.4 Functions in Karel 1.4 Functions in Karel 1.5 The Start Function 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.7 Commenting Your Code 1.8 Super Karel 1.8 Super Karel 1.9 For Loops 1.9 For Loops 1.10 If Statements 1.10 If Statements 1.11 If/Else Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.12 While Loops in Karel 1.13 Control Structures Example 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 1.15 How to Indent Your Code 2.1 Challenge Problems 2.1 Challenge Problems 3.1 Hello World 3.1 Hello World 3.2 Variables 3.2 Variables 3.3 User Input 3.3 User Input 3.4 Basic Math in JavaScript 3.4 Basic Math in JavaScript 3.5 Using Graphics in JavaScript 3.5 Using Graphics in JavaScript 5.1 Booleans 5.1 Booleans 5.2 Logical Operators 5.2 Logical Operators 5.3 Comparison Operators 5.3 Comparison Operators 5.4 If Statements 5.4 If Statements 5.5 For Loops in JavaScript 5.5 For Loops in JavaScript 5.6 General For Loops 5.6 General For Loops 5.7 For Loop Practice 5.7 For Loop Practice 5.8 Random Numbers 5.8 Random Numbers 5.9 While Loops 5.9 While Loops 5.10 Loop and a Half 5.10 Loop and a Half 7.1 Functions and Parameters 1 7.1 Functions and Parameters 1 7.2 Functions and Parameters 2 7.2 Functions and Parameters 2 7.3 Functions and Parameters 3 7.3 Functions and Parameters 3 7.4 Functions and Return Values 1 7.4 Functions and Return Values 1 7.5 Functions and Return Values 2 7.5 Functions and Return Values 2 7.6 Local Variables and Scope 7.6 Local Variables and Scope 9.1 Functions Challenges 9.1 Functions Challenges 9.1 Functions Challenges 9.1 Functions Challenges 21.1 Intro to Lists/Arrays 21.1 Intro to Lists/Arrays 21.2 Indexing Into an Array 21.2 Indexing Into an Array 21.3 Adding/Removing From an Array 21.3 Adding/Removing From an Array 21.4 Array Length and Looping Through Arrays 21.4 Array Length and Looping Through Arrays 21.5 Iterating Over an Array 21.5 Iterating Over an Array 21.6 Finding an Element in a List 21.6 Finding an Element in a List 21.7 Removing an Element From an Array 21.7 Removing an Element From an Array 21.8 Intro to Objects/Maps 21.8 Intro to Objects/Maps 21.9 Basics of Objects 21.9 Basics of Objects 21.10 Iterating Over an Object 21.10 Iterating Over an Object 21.11 When Do I Use an Object? 21.11 When Do I Use an Object? 21.12 Intro to Sets 21.12 Intro to Sets 21.13 Intro to Grids 21.13 Intro to Grids 21.14 Looping Over a Grid 21.14 Looping Over a Grid 21.15 Grid Example: Get a Row 21.15 Grid Example: Get a Row 21.16 Data Structures Challenges 21.16 Data Structures Challenges 23.1 Game Design: Helicopter 23.1 Game Design: Helicopter 12.1 Functions and Parameters Practice 12.1 Functions and Parameters Practice 10.1 Extra Karel Practice 10.1 Extra Karel Practice 13.1 Prime Numbers 13.1 Prime Numbers 14.1 Fun Snake 14.1 Fun Snake 14.2 Fun Graphics Challenges 14.2 Fun Graphics Challenges 15.1 Conway's Game of Life 15.1 Conway's Game of Life 15.2 Connect Four 15.2 Connect Four 16.1 Evolution Simulation 16.1 Evolution Simulation 22.1 Tic Tac Toe 22.1 Tic Tac Toe 20.1 Visualizing Music 20.1 Visualizing Music
 Standard 3.5 Top Down Design 3.5 Top Down Design 10.5 Functions in Karel 10.6 Top Down Design and Decomposition in Karel
 Standard 2.10 Top Down Design 2.10 Top Down Design 12.1 Classes and Objects 12.1 Classes and Objects 12.5 Class Variables vs. Instance Variables 12.5 Class Variables vs. Instance Variables 12.6 Inheritance 12.6 Inheritance 12.9 Modules 12.9 Modules 16.1 Project: Who Said It? 16.1 Project: Who Said It? 23.5 Functions in Karel 23.6 Top Down Design and Decomposition in Karel
 Standard 6.1 Hello World 6.2 Variables 6.3 User Input 6.4 Basic Math in JavaScript 6.5 Booleans 6.6 Logical Operators 6.7 Comparison Operators 6.8 If Statements 6.9 For Loops in JavaScript 6.10 Functions and Parameters 1 6.11 Functions and Parameters 2 6.12 Functions and Return Values 1 6.13 Intro to Lists/Arrays 6.14 Indexing Into an Array 6.15 Adding/Removing From an Array 6.16 Array Length and Looping Through Arrays 7.5 Functions in HTML 10.4 JavaScript Objects 10.10 For/In Loops
 Standard 3.1 Objects: Instances of Classes 3.4 Calling a Void Method 3.6 Calling a Non-void Method 7.1 Writing Classes 8.1 What are Data Structures? 8.2 Introduction to Arrays 8.3 Using Arrays 8.5 ArrayList Methods 8.6 Arrays vs ArrayLists 8.8 The List Interface 8.9 2D Arrays 8.11 HashMaps 8.12 Binary 9.1 What is an Algorithm? 9.2 Linear Search 9.3 Binary Search 9.4 Selection Sort 9.5 Insertion Sort 9.7 Mergesort
 Standard 2.4 Functions in Karel 2.4 Functions in Karel 2.5 The Start Function 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.7 Commenting Your Code 2.8 Abstraction 2.8 Abstraction 2.9 Super Karel 2.9 Super Karel 2.10 For Loops 2.10 For Loops 2.11 If Statements 2.11 If Statements 2.12 If/Else Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 2.16 How to Indent Your Code 3.2 Challenge Problems 3.2 Challenge Problems 5.1 Hello World 5.1 Hello World 5.2 Variables 5.2 Variables 5.3 User Input 5.3 User Input 5.4 Basic Math in JavaScript 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.1 Booleans 7.2 Logical Operators 7.2 Logical Operators 7.3 Comparison Operators 7.3 Comparison Operators 7.4 If Statements 7.4 If Statements 7.5 For Loops in JavaScript 7.5 For Loops in JavaScript 7.6 General For Loops 7.6 General For Loops 7.7 For Loop Practice 7.7 For Loop Practice 7.8 Random Numbers 7.8 Random Numbers 7.9 While Loops 7.9 While Loops 7.10 Loop and a Half 7.10 Loop and a Half 9.1 Functions and Parameters 1 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.5 Functions and Return Values 2 9.6 Timers 9.6 Timers 9.7 Random Circles 9.7 Random Circles 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 12.1 Extra Karel Practice 12.1 Extra Karel Practice 14.1 Functions and Parameters Practice 14.1 Functions and Parameters Practice 15.1 Mouse Events: Mouse Moved 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.2 Drawing Lines 15.3 Key Events 15.3 Key Events 15.4 Crazy Ball Game 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.2 Basics of Objects 17.3 Iterating Over an Object 17.3 Iterating Over an Object 17.4 When Do I Use an Object? 17.4 When Do I Use an Object? 17.5 Intro to Sets 17.5 Intro to Sets 17.6 Intro to Grids 17.6 Intro to Grids 17.7 Looping Over a Grid 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 17.9 Data Structures Challenges
 Standard 1.10 Simulation 1.10 Simulation 2.4 Functions in Karel 2.4 Functions in Karel 2.5 The Start Function 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.7 Commenting Your Code 2.8 Abstraction 2.8 Abstraction 2.9 Super Karel 2.9 Super Karel 2.10 For Loops 2.10 For Loops 2.11 If Statements 2.11 If Statements 2.12 If/Else Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 2.16 How to Indent Your Code 3.2 Challenge Problems 3.2 Challenge Problems 6.1 What is Code 6.1 What is Code 6.2 Hello World 6.2 Hello World 6.3 Variables 6.3 Variables 6.4 User Input 6.4 User Input 6.5 Basic Math in JavaScript 6.5 Basic Math in JavaScript 6.6 Using Graphics in JavaScript 6.6 Using Graphics in JavaScript 8.1 Booleans 8.1 Booleans 8.2 Logical Operators 8.2 Logical Operators 8.3 Comparison Operators 8.3 Comparison Operators 8.4 If Statements 8.4 If Statements 8.5 For Loops in JavaScript 8.5 For Loops in JavaScript 8.6 General For Loops 8.6 General For Loops 8.7 For Loop Practice 8.7 For Loop Practice 8.8 Random Numbers 8.8 Random Numbers 8.9 While Loops 8.9 While Loops 8.10 Loop and a Half 8.10 Loop and a Half 10.1 Functions and Parameters 1 10.1 Functions and Parameters 1 10.2 Functions and Parameters 2 10.2 Functions and Parameters 2 10.3 Functions and Parameters 3 10.3 Functions and Parameters 3 10.4 Functions and Return Values 1 10.4 Functions and Return Values 1 10.5 Functions and Return Values 2 10.5 Functions and Return Values 2 10.6 Local Variables and Scope 10.6 Local Variables and Scope 10.7 Timers 10.7 Timers 10.8 Random Circles 10.8 Random Circles 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 15.1 Extra Karel Practice 15.1 Extra Karel Practice 17.1 Functions and Parameters Practice 17.1 Functions and Parameters Practice 18.1 Mouse Events: Mouse Moved 18.1 Mouse Events: Mouse Moved 18.2 Drawing Lines 18.2 Drawing Lines 18.3 Key Events 18.3 Key Events 18.4 Crazy Ball Game 18.4 Crazy Ball Game 13.1 Indexing Into an Array 13.1 Indexing Into an Array 13.2 Finding an Element in a List 13.2 Finding an Element in a List 13.3 Removing an Element From an Array 13.3 Removing an Element From an Array 14.1 Intro to Objects/Maps 14.1 Intro to Objects/Maps 14.2 Basics of Objects 14.2 Basics of Objects 14.3 Iterating Over an Object 14.3 Iterating Over an Object 14.4 When Do I Use an Object? 14.4 When Do I Use an Object? 14.5 Intro to Sets 14.5 Intro to Sets 14.6 Intro to Grids 14.6 Intro to Grids 14.7 Looping Over a Grid 14.7 Looping Over a Grid 14.8 Grid Example: Get a Row 14.8 Grid Example: Get a Row 14.9 Data Structures Challenges 14.9 Data Structures Challenges
 Standard 1.10 Simulation 1.10 Simulation 2.10 Top Down Design 2.10 Top Down Design 18.1 Project: Who Said It? 18.1 Project: Who Said It?
 Standard 3.4 Functions in Karel 3.4 Functions in Karel 3.5 The Start Function 3.5 The Start Function 3.6 Top Down Design and Decomposition in Karel 3.6 Top Down Design and Decomposition in Karel 3.7 Commenting Your Code 3.7 Commenting Your Code 3.8 Abstraction 3.8 Abstraction 3.9 Super Karel 3.9 Super Karel 3.10 For Loops 3.10 For Loops 3.11 If Statements 3.11 If Statements 3.12 If/Else Statements 3.12 If/Else Statements 3.13 While Loops in Karel 3.13 While Loops in Karel 3.14 Control Structures Example 3.14 Control Structures Example 3.15 More Karel Examples and Testing 3.15 More Karel Examples and Testing 3.16 How to Indent Your Code 3.16 How to Indent Your Code 4.2 Challenge Problems 4.2 Challenge Problems 6.1 Hello World 6.1 Hello World 6.2 Variables 6.2 Variables 6.3 User Input 6.3 User Input 6.4 Basic Math in JavaScript 6.4 Basic Math in JavaScript 6.5 Using Graphics in JavaScript 6.5 Using Graphics in JavaScript 8.1 Booleans 8.1 Booleans 8.2 Logical Operators 8.2 Logical Operators 8.3 Comparison Operators 8.3 Comparison Operators 8.4 If Statements 8.4 If Statements 8.5 For Loops in JavaScript 8.5 For Loops in JavaScript 8.6 General For Loops 8.6 General For Loops 8.7 For Loop Practice 8.7 For Loop Practice 8.8 Random Numbers 8.8 Random Numbers 8.9 While Loops 8.9 While Loops 8.10 Loop and a Half 8.10 Loop and a Half 10.1 Functions and Parameters 1 10.1 Functions and Parameters 1 10.2 Functions and Parameters 2 10.2 Functions and Parameters 2 10.3 Functions and Parameters 3 10.3 Functions and Parameters 3 10.4 Functions and Return Values 1 10.4 Functions and Return Values 1 10.5 Functions and Return Values 2 10.5 Functions and Return Values 2 10.6 Timers 10.6 Timers 10.7 Random Circles 10.7 Random Circles 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 13.1 Extra Karel Practice 13.1 Extra Karel Practice 15.1 Functions and Parameters Practice 15.1 Functions and Parameters Practice 16.1 Mouse Events: Mouse Moved 16.1 Mouse Events: Mouse Moved 16.2 Drawing Lines 16.2 Drawing Lines 16.3 Key Events 16.3 Key Events 16.4 Crazy Ball Game 16.4 Crazy Ball Game 17.1 Indexing Into an Array 17.1 Indexing Into an Array 17.2 Finding an Element in a List 17.2 Finding an Element in a List 17.3 Removing an Element From an Array 17.3 Removing an Element From an Array 18.1 Intro to Objects/Maps 18.1 Intro to Objects/Maps 18.2 Basics of Objects 18.2 Basics of Objects 18.3 Iterating Over an Object 18.3 Iterating Over an Object 18.4 When Do I Use an Object? 18.4 When Do I Use an Object? 18.5 Intro to Sets 18.5 Intro to Sets 18.6 Intro to Grids 18.6 Intro to Grids 18.7 Looping Over a Grid 18.7 Looping Over a Grid 18.8 Grid Example: Get a Row 18.8 Grid Example: Get a Row 18.9 Data Structures Challenges 18.9 Data Structures Challenges
 Standard 2.4 Functions in Karel 2.4 Functions in Karel 2.5 The Start Function 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.7 Commenting Your Code 2.8 Abstraction 2.8 Abstraction 2.9 Super Karel 2.9 Super Karel 2.10 For Loops 2.10 For Loops 2.11 If Statements 2.11 If Statements 2.12 If/Else Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 2.16 How to Indent Your Code 3.2 Challenge Problems 3.2 Challenge Problems 5.1 Hello World 5.1 Hello World 5.2 Variables 5.2 Variables 5.3 User Input 5.3 User Input 5.4 Basic Math in JavaScript 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.1 Booleans 7.2 Logical Operators 7.2 Logical Operators 7.3 Comparison Operators 7.3 Comparison Operators 7.4 If Statements 7.4 If Statements 7.5 For Loops in JavaScript 7.5 For Loops in JavaScript 7.6 General For Loops 7.6 General For Loops 7.7 For Loop Practice 7.7 For Loop Practice 7.9 While Loops 7.9 While Loops 7.10 Loop and a Half 7.10 Loop and a Half 9.1 Functions and Parameters 1 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.5 Functions and Return Values 2 9.6 Timers 9.6 Timers 9.7 Random Circles 9.7 Random Circles 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 15.1 Mouse Events: Mouse Moved 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.2 Drawing Lines 15.3 Key Events 15.3 Key Events 15.4 Crazy Ball Game 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.2 Basics of Objects 17.3 Iterating Over an Object 17.3 Iterating Over an Object 17.4 When Do I Use an Object? 17.4 When Do I Use an Object? 17.5 Intro to Sets 17.5 Intro to Sets 17.6 Intro to Grids 17.6 Intro to Grids 17.7 Looping Over a Grid 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 17.9 Data Structures Challenges 12.1 Extra Karel Practice 12.1 Extra Karel Practice 14.1 Functions and Parameters Practice 14.1 Functions and Parameters Practice
 Standard 1.10 Top Down Design 1.10 Top Down Design 3.3 Comments & Pseudocode 11.11 If/Else Statements 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 11.15 How to Indent Your Code 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.14 More Karel Examples and Testing 11.13 Control Structures Example 11.13 Control Structures Example 11.12 While Loops in Karel 11.12 While Loops in Karel 11.4 Functions in Karel 11.11 If/Else Statements 11.10 If Statements 11.10 If Statements 11.9 For Loops 11.9 For Loops 11.8 Super Karel 11.8 Super Karel 11.7 Commenting Your Code 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.5 The Start Function 11.4 Functions in Karel
 Standard 2.4 Functions in Karel 2.4 Functions in Karel 2.5 The Start Function 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.7 Commenting Your Code 2.8 Abstraction 2.8 Abstraction 2.9 Super Karel 2.9 Super Karel 2.10 For Loops 2.10 For Loops 2.11 If Statements 2.11 If Statements 2.12 If/Else Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 2.16 How to Indent Your Code 3.2 Challenge Problems 3.2 Challenge Problems 5.1 Hello World 5.1 Hello World 5.2 Variables 5.2 Variables 5.3 User Input 5.3 User Input 5.4 Basic Math in JavaScript 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.1 Booleans 7.2 Logical Operators 7.2 Logical Operators 7.3 Comparison Operators 7.3 Comparison Operators 7.4 If Statements 7.4 If Statements 7.5 For Loops in JavaScript 7.5 For Loops in JavaScript 7.6 General For Loops 7.6 General For Loops 7.7 For Loop Practice 7.7 For Loop Practice 7.9 While Loops 7.9 While Loops 7.10 Loop and a Half 7.10 Loop and a Half 9.1 Functions and Parameters 1 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.5 Functions and Return Values 2 9.6 Timers 9.6 Timers 9.7 Random Circles 9.7 Random Circles 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 15.1 Mouse Events: Mouse Moved 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.2 Drawing Lines 15.3 Key Events 15.3 Key Events 15.4 Crazy Ball Game 15.4 Crazy Ball Game 16.1 Indexing Into an Array 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.2 Basics of Objects 17.3 Iterating Over an Object 17.3 Iterating Over an Object 17.4 When Do I Use an Object? 17.4 When Do I Use an Object? 17.5 Intro to Sets 17.5 Intro to Sets 17.6 Intro to Grids 17.6 Intro to Grids 17.7 Looping Over a Grid 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 17.9 Data Structures Challenges 12.1 Extra Karel Practice 12.1 Extra Karel Practice 14.1 Functions and Parameters Practice 14.1 Functions and Parameters Practice
 Standard 1.10 Top Down Design 1.10 Top Down Design 3.3 Comments & Pseudocode 11.11 If/Else Statements 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 11.15 How to Indent Your Code 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.14 More Karel Examples and Testing 11.13 Control Structures Example 11.13 Control Structures Example 11.12 While Loops in Karel 11.12 While Loops in Karel 11.4 Functions in Karel 11.11 If/Else Statements 11.10 If Statements 11.10 If Statements 11.9 For Loops 11.9 For Loops 11.8 Super Karel 11.8 Super Karel 11.7 Commenting Your Code 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.5 The Start Function 11.4 Functions in Karel
 Standard 1.10 Simulation 1.10 Simulation 2.4 Functions in Karel 2.4 Functions in Karel 2.5 The Start Function 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.7 Commenting Your Code 2.8 Abstraction 2.8 Abstraction 2.9 Super Karel 2.9 Super Karel 2.10 For Loops 2.10 For Loops 2.11 If Statements 2.11 If Statements 2.12 If/Else Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 2.16 How to Indent Your Code 3.2 Challenge Problems 3.2 Challenge Problems 6.1 Hello World 6.1 Hello World 6.2 Variables 6.2 Variables 6.3 User Input 6.3 User Input 6.4 Basic Math in JavaScript 6.4 Basic Math in JavaScript 6.5 Using Graphics in JavaScript 6.5 Using Graphics in JavaScript 9.1 Booleans 9.1 Booleans 9.2 Logical Operators 9.2 Logical Operators 9.3 Comparison Operators 9.3 Comparison Operators 9.4 If Statements 9.4 If Statements 9.5 For Loops in JavaScript 9.5 For Loops in JavaScript 9.6 General For Loops 9.6 General For Loops 9.7 For Loop Practice 9.7 For Loop Practice 9.8 Random Numbers 9.8 Random Numbers 9.9 While Loops 9.9 While Loops 9.10 Loop and a Half 9.10 Loop and a Half 11.1 Functions and Parameters 1 11.1 Functions and Parameters 1 11.2 Functions and Parameters 2 11.2 Functions and Parameters 2 11.3 Functions and Parameters 3 11.3 Functions and Parameters 3 11.4 Functions and Return Values 1 11.4 Functions and Return Values 1 11.5 Functions and Return Values 2 11.5 Functions and Return Values 2 11.6 Timers 11.6 Timers 11.7 Random Circles 11.7 Random Circles 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 14.1 Extra Karel Practice 14.1 Extra Karel Practice 16.1 Functions and Parameters Practice 16.1 Functions and Parameters Practice 17.1 Mouse Events: Mouse Moved 17.1 Mouse Events: Mouse Moved 17.2 Drawing Lines 17.2 Drawing Lines 17.3 Key Events 17.3 Key Events 17.4 Crazy Ball Game 17.4 Crazy Ball Game 18.1 Indexing Into an Array 18.1 Indexing Into an Array 18.2 Finding an Element in a List 18.2 Finding an Element in a List 18.3 Removing an Element From an Array 18.3 Removing an Element From an Array 19.1 Intro to Objects/Maps 19.1 Intro to Objects/Maps 19.2 Basics of Objects 19.2 Basics of Objects 19.3 Iterating Over an Object 19.3 Iterating Over an Object 19.4 When Do I Use an Object? 19.4 When Do I Use an Object? 19.5 Intro to Sets 19.5 Intro to Sets 19.6 Intro to Grids 19.6 Intro to Grids 19.7 Looping Over a Grid 19.7 Looping Over a Grid 19.8 Grid Example: Get a Row 19.8 Grid Example: Get a Row 19.9 Data Structures Challenges 19.9 Data Structures Challenges
 Standard 3.10 Top Down Design 3.10 Top Down Design 4.1 Practice PT: Pair-Programming Paint! 4.1 Practice PT: Pair-Programming Paint!
 Standard 6.5 Organizational Techniques 6.4 Branching
 Standard 2.4 Functions in Karel 2.4 Functions in Karel 2.5 The Start Function 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.7 Commenting Your Code 2.8 Abstraction 2.8 Abstraction 2.9 Super Karel 2.9 Super Karel 2.10 For Loops 2.10 For Loops 2.11 If Statements 2.11 If Statements 2.12 If/Else Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 2.16 How to Indent Your Code 3.2 Challenge Problems 3.2 Challenge Problems 10.2 Hello World 10.2 Hello World 10.3 Variables 10.3 Variables 10.4 User Input 10.4 User Input 10.5 Basic Math in JavaScript 10.5 Basic Math in JavaScript 10.6 Using Graphics in JavaScript 10.6 Using Graphics in JavaScript 15.2 Logical Operators 13.1 Extra Karel Practice 13.1 Extra Karel Practice 15.1 Booleans 15.1 Booleans 15.2 Logical Operators 15.10 Loop and a Half 15.3 Comparison Operators 15.3 Comparison Operators 15.4 If Statements 15.4 If Statements 15.8 Random Numbers 15.8 Random Numbers 15.9 While Loops 15.9 While Loops 15.10 Loop and a Half 15.7 For Loop Practice 15.7 For Loop Practice 15.6 General For Loops 15.6 General For Loops 15.5 For Loops in JavaScript 15.5 For Loops in JavaScript
 Standard 1.4 Functions in Karel 1.6 Top Down Design and Decomposition in Karel 2.1 Practice PT: Pair-Programming Paint! 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 5.7 JavaScript vs Karel 5.8 Basic JavaScript and Graphics Challenges 6.1 Project: Tell a Story 9.1 Practice PT: Steganography 10.1 Practice PT: Create an Image Filter!
 Standard 2.4 Functions in Karel 2.4 Functions in Karel 2.5 The Start Function 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.7 Commenting Your Code 2.8 Abstraction 2.8 Abstraction 2.9 Super Karel 2.9 Super Karel 2.10 For Loops 2.10 For Loops 2.11 If Statements 2.11 If Statements 2.12 If/Else Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.13 While Loops in Karel 2.14 Control Structures Example 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 2.16 How to Indent Your Code 3.2 Challenge Problems 3.2 Challenge Problems 5.1 Hello World 5.1 Hello World 5.2 Variables 5.2 Variables 5.3 User Input 5.3 User Input 5.4 Basic Math in JavaScript 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 5.5 Using Graphics in JavaScript 14.1 Booleans 14.1 Booleans 14.2 Logical Operators 14.2 Logical Operators 14.3 Comparison Operators 14.3 Comparison Operators 14.4 If Statements 14.4 If Statements 14.8 Random Numbers 14.8 Random Numbers 14.9 While Loops 14.9 While Loops 14.10 Loop and a Half 14.10 Loop and a Half 14.5 For Loops in JavaScript 14.5 For Loops in JavaScript 14.6 General For Loops 14.6 General For Loops 14.7 For Loop Practice 14.7 For Loop Practice 17.11 Intro to Lists/Arrays 17.11 Intro to Lists/Arrays 17.6 Timers 17.6 Timers 17.12 Adding/Removing From an Array 17.12 Adding/Removing From an Array 17.8 Random Ghosts 17.8 Random Ghosts 17.9 Bouncing Ball 17.9 Bouncing Ball 17.13 Array Length and Looping Through Arrays 17.13 Array Length and Looping Through Arrays 17.10 Mouse Events: Mouse Clicked 17.10 Mouse Events: Mouse Clicked 17.14 Iterating Over an Array 17.14 Iterating Over an Array 17.1 Functions and Parameters 1 17.1 Functions and Parameters 1 17.4 Functions and Return Values 1 17.4 Functions and Return Values 1 17.7 Random Circles 17.7 Random Circles 17.2 Functions and Parameters 2 17.2 Functions and Parameters 2 17.3 Functions and Parameters 3 17.3 Functions and Parameters 3 17.5 Functions and Return Values 2 17.5 Functions and Return Values 2 12.1 Extra Karel Practice 12.1 Extra Karel Practice 18.1 Functions and Parameters Practice 18.1 Functions and Parameters Practice