# PA 3B: 3B-AP-12

## CodeHS Lessons

Compare and contrast fundamental data structures and their uses.

 Standard 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 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.8 Key Events 9.8 Key Events 11.1 Breakout 11.1 Breakout 25.5 Iterating Over an Array 25.6 Finding an Element in a List 25.7 Removing an Element From an Array 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.15 Grid Example: Get a Row 25.16 Data Structures Challenges 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.5 Iterating Over an Array 25.6 Finding an Element in a List 25.7 Removing an Element From an Array 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.15 Grid Example: Get a Row 25.16 Data Structures Challenges 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
 Standard 2.13 Parameters 2.13 Parameters 2.14 Using i in For Loops 2.14 Using i in For Loops 2.16 If Statements 2.16 If Statements 2.17 If/ Else Statements 2.17 If/ Else Statements 2.18 While Loops 2.18 While Loops 4.2 If Statements 4.2 If Statements 4.3 Comparison Operators 4.3 Comparison Operators 4.4 Logical Operators 4.4 Logical Operators 4.5 Floating Point Numbers and Rounding 4.5 Floating Point Numbers and Rounding 5.1 While Loops 5.1 While Loops 5.2 For Loops 5.2 For Loops 5.3 Break and Continue 5.3 Break and Continue 5.4 Nested Control Structures 5.4 Nested Control Structures 6.1 Functions 6.1 Functions 6.2 Functions and Parameters 6.2 Functions and Parameters 6.4 Functions and Return Values 6.4 Functions and Return Values 6.5 Exceptions 6.5 Exceptions 7.1 Indexing 7.1 Indexing 7.2 Slicing 7.2 Slicing 7.3 Immutability 7.3 Immutability 7.4 Strings and For Loops 7.4 Strings and For Loops 7.5 The in Keyword 7.5 The in Keyword 7.6 String Methods 7.6 String Methods 8.1 Tuples 8.1 Tuples 8.2 Lists 8.2 Lists 8.3 For Loops and Lists 8.3 For Loops and Lists 8.4 List Methods 8.4 List Methods 9.1 2d Lists 9.1 2d Lists 9.2 List Comprehensions 9.2 List Comprehensions 9.3 Packing and Unpacking 9.3 Packing and Unpacking 9.4 Dictionaries 9.4 Dictionaries 9.5 Equivalence vs. Identity 9.5 Equivalence vs. Identity 12.1 Classes and Objects 12.2 Methods 12.3 Built-In Methods 12.4 Operator Overloading 12.5 Class Variables vs. Instance Variables 12.6 Inheritance 12.7 Hidden Attributes 12.8 Namespaces 12.9 Modules 15.1 Short Circuit Evaluation 15.2 De Morgan's Laws 16.1 Project: Who Said It? 12.1 Classes and Objects 12.2 Methods 12.3 Built-In Methods 12.4 Operator Overloading 12.5 Class Variables vs. Instance Variables 12.6 Inheritance 12.7 Hidden Attributes 12.8 Namespaces 12.9 Modules 15.1 Short Circuit Evaluation 15.2 De Morgan's Laws 16.1 Project: Who Said It?
 Standard 6.1 Array 7.1 ArrayList 7.4 Developing Algorithms using ArrayLists
 Standard 7.1 Intro to Lists/Arrays 7.2 Indexing Into an Array 7.3 Adding/Removing From an Array 7.4 Array Length and Looping Through Arrays 7.5 Iterating Over an Array 7.6 Finding an Element in a List 7.7 Removing an Element From an Array
 Standard 7.2 Lists 7.3 For Loops and Lists 7.4 List Methods 33.1 Indexing 33.2 Slicing 33.3 Immutability 33.4 Strings and For Loops 33.5 The in Keyword 33.6 String Methods 27.1 Classes and Objects 27.2 Methods 27.3 Built-In Methods 27.4 Operator Overloading 27.5 Class Variables vs. Instance Variables 27.6 Inheritance 27.7 Hidden Attributes 27.8 Namespaces 27.9 Modules 28.1 Short Circuit Evaluation 28.2 De Morgan's Laws 29.1 Project: Who Said It? 33.1 Indexing 33.2 Slicing 33.3 Immutability 33.4 Strings and For Loops 33.5 The in Keyword 33.6 String Methods 27.1 Classes and Objects 27.2 Methods 27.3 Built-In Methods 27.4 Operator Overloading 27.5 Class Variables vs. Instance Variables 27.6 Inheritance 27.7 Hidden Attributes 27.8 Namespaces 27.9 Modules 28.1 Short Circuit Evaluation 28.2 De Morgan's Laws 29.1 Project: Who Said It?
 Standard 7.1 Intro to Lists/Arrays 7.2 Indexing Into an Array 7.3 Adding/Removing From an Array 7.4 Array Length and Looping Through Arrays 7.5 Iterating Over an Array 7.6 Finding an Element in a List 7.7 Removing an Element From an Array
 Standard 11.1 Extra Karel Practice 12.1 Extra Karel Puzzles 13.13 Parameters 13.14 Using i in For Loops 13.16 If Statements 13.17 If/ Else Statements 13.18 While Loops 11.1 Extra Karel Practice 12.1 Extra Karel Puzzles 13.13 Parameters 13.14 Using i in For Loops 13.16 If Statements 13.17 If/ Else Statements 13.18 While Loops
 Standard 9.6 Logical Operators 9.7 Comparison Operators 9.8 If Statements 9.9 For Loops in JavaScript 9.10 For Loop Practice 9.11 Random Numbers 9.12 While Loops 9.13 Loop and a Half 9.14 Functions and Parameters 1 9.15 Functions and Parameters 2 9.16 Functions and Return Values 1 9.17 Functions and Return Values 2 9.6 Logical Operators 9.7 Comparison Operators 9.8 If Statements 9.9 For Loops in JavaScript 9.10 For Loop Practice 9.11 Random Numbers 9.12 While Loops 9.13 Loop and a Half 9.14 Functions and Parameters 1 9.15 Functions and Parameters 2 9.16 Functions and Return Values 1 9.17 Functions and Return Values 2
 Standard 4.5 Arrays and Objects 22.2 Logical Operators 22.3 Comparison Operators 22.4 If Statements 22.5 For Loops in JavaScript 22.6 General For Loops 22.7 For Loop Practice 22.8 Random Numbers 22.9 While Loops 22.10 Loop and a Half 22.2 Logical Operators 22.3 Comparison Operators 22.4 If Statements 22.5 For Loops in JavaScript 22.6 General For Loops 22.7 For Loop Practice 22.8 Random Numbers 22.9 While Loops 22.10 Loop and a Half
 Standard 4.3 Parameters 4.3 Parameters 4.4 Using i in For Loops 4.4 Using i in For Loops 5.1 If Statements 5.1 If Statements 5.2 If/ Else Statements 5.2 If/ Else Statements 5.3 While Loops 5.3 While Loops
 Standard 3.13 Parameters 3.13 Parameters 3.14 Using i in For Loops 3.14 Using i in For Loops 3.16 If Statements 3.16 If Statements 3.17 If/ Else Statements 3.17 If/ Else Statements 3.18 While Loops 3.18 While Loops 4.1 Extra Karel Practice 5.1 Extra Karel Puzzles 4.1 Extra Karel Practice 5.1 Extra Karel Puzzles
 Standard 4.1 Extra Karel Practice 5.1 Extra Karel Puzzles 6.13 Parameters 6.14 Using i in For Loops 6.16 If Statements 6.17 If/ Else Statements 6.18 While Loops 4.1 Extra Karel Practice 5.1 Extra Karel Puzzles 6.13 Parameters 6.14 Using i in For Loops 6.16 If Statements 6.17 If/ Else Statements 6.18 While Loops
 Standard 7.8 Comparison Operators 7.9 Logical Operators 7.11 For Loops 7.12 Break and Continue 7.14 Functions 7.15 Functions and Parameters 7.17 Functions and Return Values 7.18 Exceptions 7.8 Comparison Operators 7.9 Logical Operators 7.11 For Loops 7.12 Break and Continue 7.14 Functions 7.15 Functions and Parameters 7.17 Functions and Return Values 7.18 Exceptions
 Standard 6.1 Tuples 6.2 Lists 6.3 For Loops and Lists 6.4 List Methods 6.5 2d Lists 6.6 Dictionaries 6.1 Tuples 6.2 Lists 6.3 For Loops and Lists 6.4 List Methods 6.5 2d Lists 6.6 Dictionaries
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 4.2 If Statements 4.2 If Statements 4.3 Comparison Operators 4.3 Comparison Operators 4.4 Logical Operators 4.4 Logical Operators 4.5 Floating Point Numbers and Rounding 4.5 Floating Point Numbers and Rounding 5.1 While Loops 5.1 While Loops 5.2 For Loops 5.2 For Loops 5.3 Break and Continue 5.3 Break and Continue 5.4 Nested Control Structures 5.4 Nested Control Structures 6.1 Functions 6.1 Functions 6.2 Functions and Parameters 6.2 Functions and Parameters 6.4 Functions and Return Values 6.4 Functions and Return Values 6.5 Exceptions 6.5 Exceptions 8.1 Indexing 8.1 Indexing 8.2 Slicing 8.2 Slicing 8.3 Immutability 8.3 Immutability 8.4 Strings and For Loops 8.4 Strings and For Loops 8.5 The in Keyword 8.5 The in Keyword 8.6 String Methods 8.6 String Methods 9.1 Tuples 9.1 Tuples 9.2 Lists 9.2 Lists 9.3 For Loops and Lists 9.3 For Loops and Lists 9.4 List Methods 9.4 List Methods 10.1 2d Lists 10.1 2d Lists 10.2 List Comprehensions 10.2 List Comprehensions 10.3 Packing and Unpacking 10.3 Packing and Unpacking 10.4 Dictionaries 10.4 Dictionaries 10.5 Equivalence vs. Identity 10.5 Equivalence vs. Identity 14.1 Classes and Objects 14.2 Methods 14.3 Built-In Methods 14.4 Operator Overloading 14.5 Class Variables vs. Instance Variables 14.6 Inheritance 14.7 Hidden Attributes 14.8 Namespaces 14.9 Modules 17.1 Short Circuit Evaluation 17.2 De Morgan's Laws 14.1 Classes and Objects 14.2 Methods 14.3 Built-In Methods 14.4 Operator Overloading 14.5 Class Variables vs. Instance Variables 14.6 Inheritance 14.7 Hidden Attributes 14.8 Namespaces 14.9 Modules 17.1 Short Circuit Evaluation 17.2 De Morgan's Laws
 Standard 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 9.1 Functions Challenges 9.1 Functions Challenges 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.8 Key Events 11.8 Key Events 13.1 Breakout 13.1 Breakout 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 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
 Standard 4.3 Parameters 4.3 Parameters 4.4 Using i in For Loops 4.4 Using i in For Loops 6.1 If Statements 6.1 If Statements 6.2 If/ Else Statements 6.2 If/ Else Statements 6.3 While Loops 6.3 While Loops
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 5.1 What are Data Structures? 5.1 What are Data Structures? 5.2 Introduction to Arrays 5.2 Introduction to Arrays 5.3 Using Arrays 5.3 Using Arrays 5.5 ArrayList Methods 5.5 ArrayList Methods 5.6 Arrays vs ArrayLists 5.6 Arrays vs ArrayLists 5.8 The List Interface 5.8 The List Interface 5.9 2D Arrays (Matrices or Grids) 5.9 2D Arrays (Matrices or Grids) 5.11 HashMaps 5.11 HashMaps 5.12 Binary 5.12 Binary
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 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.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.15 Iterating Over an Array 10.15 Iterating Over an Array 18.1 Mouse Events: Mouse Moved 18.3 Key Events 13.2 Finding an Element in a List 13.3 Removing an Element From an Array 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.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 18.3 Key Events 13.2 Finding an Element in a List 13.3 Removing an Element From an Array 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.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
 Standard 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.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.14 Iterating Over an Array 10.14 Iterating Over an Array 16.1 Mouse Events: Mouse Moved 16.3 Key Events 17.2 Finding an Element in a List 17.3 Removing an Element From an Array 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.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 16.3 Key Events 17.2 Finding an Element in a List 17.3 Removing an Element From an Array 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.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
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 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.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.14 Iterating Over an Array 11.14 Iterating Over an Array 17.1 Mouse Events: Mouse Moved 17.3 Key Events 18.2 Finding an Element in a List 18.3 Removing an Element From an Array 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.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 17.3 Key Events 18.2 Finding an Element in a List 18.3 Removing an Element From an Array 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.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
 Standard 3.13 Parameters 3.13 Parameters 3.14 Using i in For Loops 3.14 Using i in For Loops 3.16 If Statements 3.16 If Statements 3.17 If/ Else Statements 3.17 If/ Else Statements 3.18 While Loops 3.18 While Loops
 Standard 13.2 Logical Operators 13.3 Comparison Operators 13.4 If Statements 13.5 For Loops in JavaScript 13.6 General For Loops 13.7 For Loop Practice 13.8 Random Numbers 13.9 While Loops 13.10 Loop and a Half 11.1 Extra Karel Practice 12.1 Extra Karel Puzzles 13.2 Logical Operators 13.3 Comparison Operators 13.4 If Statements 13.5 For Loops in JavaScript 13.6 General For Loops 13.7 For Loop Practice 13.8 Random Numbers 13.9 While Loops 13.10 Loop and a Half 11.1 Extra Karel Practice 12.1 Extra Karel Puzzles
 Standard 7.1 Intro to Lists/Arrays 7.2 Indexing Into an Array 7.3 Adding/Removing From an Array 7.4 Array Length and Looping Through Arrays 7.5 Iterating Over an Array 7.6 Finding an Element in a List 7.7 Removing an Element From an Array
 Standard 14.2 Logical Operators 14.3 Comparison Operators 14.4 If Statements 14.5 For Loops in JavaScript 14.6 General For Loops 14.7 For Loop Practice 14.8 Random Numbers 14.9 While Loops 14.10 Loop and a Half 17.1 Functions and Parameters 1 17.2 Functions and Parameters 2 17.3 Functions and Parameters 3 17.4 Functions and Return Values 1 17.5 Functions and Return Values 2 17.8 Random Ghosts 17.9 Bouncing Ball 17.10 Mouse Events: Mouse Clicked 16.1 Mouse Events: Mouse Moved 16.3 Key Events 17.14 Iterating Over an Array 19.2 Finding an Element in a List 19.3 Removing an Element From an Array 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.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 14.2 Logical Operators 14.3 Comparison Operators 14.4 If Statements 14.5 For Loops in JavaScript 14.6 General For Loops 14.7 For Loop Practice 14.8 Random Numbers 14.9 While Loops 14.10 Loop and a Half 17.1 Functions and Parameters 1 17.2 Functions and Parameters 2 17.3 Functions and Parameters 3 17.4 Functions and Return Values 1 17.5 Functions and Return Values 2 17.8 Random Ghosts 17.9 Bouncing Ball 17.10 Mouse Events: Mouse Clicked 16.1 Mouse Events: Mouse Moved 16.3 Key Events 17.14 Iterating Over an Array 19.2 Finding an Element in a List 19.3 Removing an Element From an Array 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.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
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 7.1 Extra Karel Puzzles 7.1 Extra Karel Puzzles
 Standard 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 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.8 Key Events 10.8 Key Events 12.1 Breakout 12.1 Breakout 26.5 Iterating Over an Array 26.6 Finding an Element in a List 26.7 Removing an Element From an Array 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.15 Grid Example: Get a Row 26.16 Data Structures Challenges 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.5 Iterating Over an Array 26.6 Finding an Element in a List 26.7 Removing an Element From an Array 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.15 Grid Example: Get a Row 26.16 Data Structures Challenges 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
 Standard 23.5 Arrays and Objects
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 6.1 Intro to Lists/Arrays 6.2 Indexing Into an Array 6.3 Adding/Removing From an Array 6.4 Array Length and Looping Through Arrays 6.5 Iterating Over an Array 6.6 Finding an Element in a List 6.7 Removing an Element From an Array
 Standard 6.1 Intro to Lists/Arrays 6.2 Indexing Into an Array 6.3 Adding/Removing From an Array 6.4 Array Length and Looping Through Arrays 6.5 Iterating Over an Array 6.6 Finding an Element in a List 6.7 Removing an Element From an Array
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 3.13 Parameters 3.13 Parameters 3.14 Using i in For Loops 3.14 Using i in For Loops 3.16 If Statements 3.16 If Statements 3.17 If/ Else Statements 3.17 If/ Else Statements 3.18 While Loops 3.18 While Loops
 Standard 3.14 Parameters 3.14 Parameters 3.15 Using i in For Loops 3.15 Using i in For Loops 3.17 If Statements 3.17 If Statements 3.18 If/ Else Statements 3.18 If/ Else Statements 3.19 While Loops 3.19 While Loops
 Standard 7.1 What are Data Structures? 7.2 Introduction to Arrays 7.3 Using Arrays 7.5 ArrayList Methods 7.6 Arrays vs ArrayLists 7.8 The List Interface 7.9 2D Arrays (Matrices or Grids) 7.11 HashMaps 7.12 Binary
 Standard 4.1 Intro to Lists/Arrays 4.2 Indexing Into an Array 4.3 Adding/Removing From an Array 4.4 Array Length and Looping Through Arrays 4.5 Iterating Over an Array 4.6 Finding an Element in a List 4.7 Removing an Element From an Array
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 10.2 Logical Operators 10.3 Comparison Operators 10.4 If Statements 10.5 For Loops in JavaScript 10.6 General For Loops 10.7 For Loop Practice 10.8 Random Numbers 10.9 While Loops 10.10 Loop and a Half 12.1 Functions and Parameters 1 12.2 Functions and Parameters 2 12.3 Functions and Parameters 3 12.4 Functions and Return Values 1 12.5 Functions and Return Values 2 12.8 Random Ghosts 12.9 Bouncing Ball 12.10 Mouse Events: Mouse Clicked 17.1 Mouse Events: Mouse Moved 17.3 Key Events 12.14 Iterating Over an Array 18.2 Finding an Element in a List 18.3 Removing an Element From an Array 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.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 10.2 Logical Operators 10.3 Comparison Operators 10.4 If Statements 10.5 For Loops in JavaScript 10.6 General For Loops 10.7 For Loop Practice 10.8 Random Numbers 10.9 While Loops 10.10 Loop and a Half 12.1 Functions and Parameters 1 12.2 Functions and Parameters 2 12.3 Functions and Parameters 3 12.4 Functions and Return Values 1 12.5 Functions and Return Values 2 12.8 Random Ghosts 12.9 Bouncing Ball 12.10 Mouse Events: Mouse Clicked 17.1 Mouse Events: Mouse Moved 17.3 Key Events 12.14 Iterating Over an Array 18.2 Finding an Element in a List 18.3 Removing an Element From an Array 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.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
 Standard 17.5 Arrays and Objects
 Standard 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles
 Standard 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 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.8 Key Events 10.8 Key Events 11.1 Breakout 11.1 Breakout 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
 Standard 7.1 What are Data Structures? 7.1 What are Data Structures? 7.2 Introduction to Arrays 7.2 Introduction to Arrays 7.3 Using Arrays 7.3 Using Arrays 7.5 ArrayList Methods 7.5 ArrayList Methods 7.6 Arrays vs ArrayLists 7.6 Arrays vs ArrayLists 7.8 The List Interface 7.8 The List Interface 7.9 2D Arrays (Matrices or Grids) 7.9 2D Arrays (Matrices or Grids) 7.11 HashMaps 7.11 HashMaps 7.12 Binary 7.12 Binary
 Standard 21.5 Arrays and Objects
 Standard 4.4 Parameters 4.4 Parameters 4.6 Using i in For Loops 4.6 Using i in For Loops 5.1 If Statements 5.1 If Statements 5.2 If/ Else Statements 5.2 If/ Else Statements 5.3 While Loops 5.3 While Loops
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 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.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.14 Iterating Over an Array 9.14 Iterating Over an Array 15.1 Mouse Events: Mouse Moved 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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 15.3 Key Events 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 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.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
 Standard 1.13 Parameters 1.13 Parameters 1.14 Using i in For Loops 1.14 Using i in For Loops 1.16 If Statements 1.16 If Statements 1.17 If/ Else Statements 1.17 If/ Else Statements 1.18 While Loops 1.18 While Loops 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 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 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.8 Key Events 9.8 Key Events 11.1 Breakout 11.1 Breakout 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.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.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 18.1 Extra Karel Practice 19.1 Extra Karel Puzzles 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 20.1 Functions and Parameters Practice 18.1 Extra Karel Practice 19.1 Extra Karel Puzzles 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 20.1 Functions and Parameters Practice
 Standard 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 9.1 Functions Challenges 9.1 Functions Challenges 9.1 Functions Challenges 9.1 Functions Challenges 21.5 Iterating Over an Array 21.6 Finding an Element in a List 21.7 Removing an Element From an Array 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.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 12.1 Functions and Parameters Practice 21.5 Iterating Over an Array 21.6 Finding an Element in a List 21.7 Removing an Element From an Array 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.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 12.1 Functions and Parameters Practice
 Standard 13.1 Array 14.1 ArrayList 14.4 Developing Algorithms using ArrayLists
 Standard 12.1 Array 13.1 ArrayList 13.4 Developing Algorithms using ArrayLists