# PA 2: 2-AP-11

## CodeHS Lessons

Create clearly named variables that represent different data types and perform operations on their values.

 Standard 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 20.3 Iterating Through an Array 20.2 Adding & Removing from an Array 20.1 Intro to Arrays 19.4 Crazy Ball Game 19.3 Animation Practice 21.1 Intro to Objects 21.4 Iterating Through an Object 27.1 Game Design: Helicopter 26.1 Tic Tac Toe 22.4 Grid Example: Get a Row 22.3 Looping Over a Grid 22.2 Intro to Grids 22.1 Intro to Sets 24.1 Visualizing Music 25.2 Connect Four 25.1 Conway's Game of Life 19.2 Fun Graphics Challenges 19.1 Snake Game 18.1 Prime Numbers 17.1 Functions and Parameters Practice 16.2 Extra Karel Puzzles 16.1 Extra Karel Practice
 Standard 3.2 Variables and Types 3.2 Variables and Types 3.3 User Input 3.3 User Input 3.4 Mathematical Operators 3.4 Mathematical Operators 3.5 String Operators 3.5 String Operators 3.6 Comments 3.6 Comments 5.1 Booleans 5.1 Booleans 5.2 If Statements 5.2 If Statements 5.3 Comparison Operators 5.3 Comparison Operators 5.4 Logical Operators 5.4 Logical Operators 5.5 Floating Point Numbers and Rounding 5.5 Floating Point Numbers and Rounding 7.1 While Loops 7.1 While Loops 7.2 For Loops 7.2 For Loops 7.3 Break and Continue 7.3 Break and Continue 7.4 Nested Control Structures 7.4 Nested Control Structures 9.1 Functions 9.1 Functions 9.2 Functions and Parameters 9.2 Functions and Parameters 9.4 Functions and Return Values 9.4 Functions and Return Values 9.5 Exceptions 9.5 Exceptions 10.1 Indexing 10.1 Indexing 10.2 Slicing 10.2 Slicing 10.3 Immutability 10.3 Immutability 10.4 Strings and For Loops 10.4 Strings and For Loops 10.5 The in Keyword 10.5 The in Keyword 10.6 String Methods 10.6 String Methods 12.1 Tuples 12.1 Tuples 12.2 Lists 12.2 Lists 12.3 For Loops and Lists 12.3 For Loops and Lists 12.4 List Methods 12.4 List Methods 13.1 2d Lists 13.2 List Comprehensions 13.3 Packing and Unpacking 13.4 Dictionaries 23.5 Class Variables vs. Instance Variables 23.5 Class Variables vs. Instance Variables 23.6 Inheritance 23.7 Hidden Attributes 23.8 Namespaces 21.1 Project: Who Said It? 24.2 De Morgan's Laws 24.1 Short Circuit Evaluation 23.9 Modules 23.8 Namespaces 23.7 Hidden Attributes 23.6 Inheritance 23.1 Classes and Objects 23.4 Operator Overloading 23.3 Built-In Methods 23.2 Methods 23.1 Classes and Objects 23.9 Modules 24.1 Short Circuit Evaluation 24.2 De Morgan's Laws 21.1 Project: Who Said It? 23.4 Operator Overloading 23.3 Built-In Methods 23.2 Methods
 Standard 27.4 Operator Overloading 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 33.1 Indexing 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? 27.4 Operator Overloading 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 33.1 Indexing 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 9.18 Local Variables and Scope 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.22 Array Length and Looping Through Arrays 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.17 Functions and Return Values 2 9.21 Adding/Removing From an Array 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.4 Basic Math in JavaScript 9.4 Basic Math in JavaScript 9.21 Adding/Removing From an Array 9.2 Variables 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 9.8 If Statements 9.22 Array Length and Looping Through Arrays
 Standard 4.1 Programming Concepts 6.1 Project: Classic Cipher Newscast 6.1 Project: Classic Cipher Newscast 22.1 Booleans 22.10 Loop and a Half 22.9 While Loops 22.8 Random Numbers 22.7 For Loop Practice 22.6 General For Loops 22.5 For Loops in JavaScript 22.4 If Statements 22.3 Comparison Operators 22.2 Logical Operators 22.1 Booleans 22.10 Loop and a Half 22.9 While Loops 22.8 Random Numbers 22.7 For Loop Practice 22.6 General For Loops 22.5 For Loops in JavaScript 22.4 If Statements 22.3 Comparison Operators 22.2 Logical Operators
 Standard 1.5 Hash Function Development 1.5 Hash Function Development
 Standard 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 22.3 Looping Over a Grid 22.4 Grid Example: Get a Row 22.2 Intro to Grids 25.1 Prime Numbers 24.1 Functions and Parameters Practice 23.2 Extra Karel Puzzles 23.1 Extra Karel Practice 26.2 Animation Practice 26.3 Crazy Ball Game 22.1 Intro to Sets 29.1 Visualizing Music 20.1 Connect Four 27.1 Conway's Game of Life 26.1 Fun Graphics Challenges
 Standard 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 27.1 Conway's Game of Life 21.1 Extra Karel Practice 21.2 Extra Karel Puzzles 22.1 Functions and Parameters Practice 23.1 Prime Numbers 24.1 Snake Game 24.4 Crazy Ball Game 24.3 Animation Practice 24.2 Fun Graphics Challenges 26.1 Visualizing Music 27.2 Connect Four 20.4 Grid Example: Get a Row 20.3 Looping Over a Grid 20.2 Intro to Grids 20.1 Intro to Sets
 Standard 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 22.1 Intro to Sets 21.4 Iterating Through an Object 22.2 Intro to Grids 22.3 Looping Over a Grid 22.4 Grid Example: Get a Row 24.1 Tic Tac Toe 25.1 Game Design: Helicopter 17.3 Animation Practice 17.4 Crazy Ball Game 20.1 Intro to Arrays 20.2 Adding & Removing from an Array 20.3 Iterating Through an Array 21.1 Intro to Objects 18.1 Visualizing Music 23.2 Connect Four 23.1 Conway's Game of Life 17.2 Fun Graphics Challenges 17.1 Snake Game 16.1 Prime Numbers 15.1 Functions and Parameters Practice 14.2 Extra Karel Puzzles 14.1 Extra Karel Practice 13.1 Breakout 11.6 Key Events 11.5 More Mouse Events 11.4 Mouse Click Events 11.3 Collisions 11.2 Stopping Timers 11.1 Timers
 Standard 6.1 Using State to Control Values 6.1 Using State to Control Values 6.2 Updating State with onPress 6.2 Updating State with onPress 6.3 Using Mathematical Equations to Update State 6.3 Using Mathematical Equations to Update State 6.4 Using Methods to Update String States 6.4 Using Methods to Update String States 10.1 Using Arrays and Indexing to Set State 10.1 Using Arrays and Indexing to Set State 10.2 Mapping Through Objects in Arrays 10.2 Mapping Through Objects in Arrays
 Standard 6.1 Using State to Control Values 6.1 Using State to Control Values 6.2 Updating State with onPress 6.2 Updating State with onPress 6.3 Using Mathematical Equations to Update State 6.3 Using Mathematical Equations to Update State 6.4 Using Methods to Update String States 6.4 Using Methods to Update String States
 Standard 3.2 Naming Guidelines 5.1 Variables 5.5 User Input 5.6 Parameters 7.1 If Statements 7.2 If/Else Statements 7.4 While Loops 8.1 Putting Together Control Structures
 Standard 3.2 Naming Guidelines 5.1 Variables 5.5 User Input 5.6 Parameters 7.1 If Statements 7.2 If/Else Statements 7.4 While Loops 8.1 Putting Together Control Structures
 Standard 4.3 Booleans 4.4 If/Else Statements
 Standard 11.1 Extra Karel Practice 13.19 Putting Together Control Structures 13.18 While Loops 13.17 If/ Else Statements 13.16 If Statements 13.13 Parameters 13.12 User Input 13.11 Variables 13.7 Naming Guidelines 12.1 Extra Karel Puzzles 11.1 Extra Karel Practice 13.19 Putting Together Control Structures 13.18 While Loops 13.17 If/ Else Statements 13.16 If Statements 13.13 Parameters 13.12 User Input 13.11 Variables 13.7 Naming Guidelines 12.1 Extra Karel Puzzles
 Standard 3.7 Naming Guidelines 3.7 Naming Guidelines 3.11 Variables 3.11 Variables 3.12 User Input 3.12 User Input 3.13 Parameters 3.13 Parameters 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 3.19 Putting Together Control Structures 3.19 Putting Together Control Structures 5.1 Extra Karel Puzzles 5.1 Extra Karel Puzzles 6.4 Functions 4.1 Extra Karel Practice 4.1 Extra Karel Practice 6.5 Project 6.5 Project 6.4 Functions
 Standard 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 6.17 If/ Else Statements 6.7 Naming Guidelines 6.17 If/ Else Statements 6.18 While Loops 6.18 While Loops 6.19 Putting Together Control Structures 6.19 Putting Together Control Structures 6.12 User Input 6.12 User Input 6.7 Naming Guidelines 6.16 If Statements 6.16 If Statements 6.13 Parameters 6.13 Parameters 6.11 Variables 6.11 Variables 5.1 Extra Karel Puzzles 5.1 Extra Karel Puzzles 4.1 Extra Karel Practice 4.1 Extra Karel Practice
 Standard 7.12 Break and Continue 7.18 Exceptions 7.18 Exceptions 7.17 Functions and Return Values 7.17 Functions and Return Values 7.15 Functions and Parameters 7.15 Functions and Parameters 7.14 Functions 7.14 Functions 7.12 Break and Continue 7.4 Mathematical Operators 7.11 For Loops 7.11 For Loops 7.9 Logical Operators 7.9 Logical Operators 7.8 Comparison Operators 7.8 Comparison Operators 7.5 String Operators 7.5 String Operators 7.4 Mathematical Operators
 Standard 6.1 Tuples 6.1 Tuples 6.2 Lists 6.2 Lists 6.3 For Loops and Lists 6.3 For Loops and Lists 6.4 List Methods 6.4 List Methods 6.5 2d Lists 6.5 2d Lists 6.6 Dictionaries 6.6 Dictionaries
 Standard 1.7 Naming Guidelines 1.7 Naming Guidelines 1.11 Variables 1.11 Variables 1.12 User Input 1.12 User Input 1.13 Parameters 1.13 Parameters 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 1.19 Putting Together Control Structures 1.19 Putting Together Control Structures 2.2 Variables and Types 2.2 Variables and Types 2.3 User Input 2.3 User Input 2.4 Mathematical Operators 2.4 Mathematical Operators 2.5 String Operators 2.5 String Operators 2.6 Comments 2.6 Comments 3.4 Variables 4.1 Booleans 4.1 Booleans 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 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.4 Variables 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 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 22.1 Game Design: Helicopter 18.1 Extra Karel Practice 19.1 Extra Karel Puzzles 21.1 Tic Tac Toe 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 20.1 Functions and Parameters Practice
 Standard 3.2 Naming Guidelines 3.2 Naming Guidelines 4.1 Variables 4.1 Variables 4.2 User Input 4.2 User Input 4.3 Parameters 4.3 Parameters 5.4 Variables 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 8.1 Putting Together Control Structures 8.1 Putting Together Control Structures
 Standard 2.4 Variables
 Standard 1.4 Variables
 Standard 1.4 Variables
 Standard 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 17.2 Basics of Objects 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.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 15.3 Key Events 17.3 Iterating Over an Object 17.4 When Do I Use an Object? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 17.6 Intro to Grids 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 13.1 Extra Karel Puzzles 12.1 Extra Karel Practice 17.9 Data Structures Challenges 17.8 Grid Example: Get a Row 17.7 Looping Over a Grid 15.1 Mouse Events: Mouse Moved 17.5 Intro to Sets 17.4 When Do I Use an Object? 17.3 Iterating Over an Object 17.2 Basics of Objects 17.1 Intro to Objects/Maps 16.3 Removing an Element From an Array 16.2 Finding an Element in a List 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines
 Standard 1.7 Naming Guidelines 1.7 Naming Guidelines 1.11 Variables 1.11 Variables 1.12 User Input 1.12 User Input 1.13 Parameters 1.13 Parameters 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 1.19 Putting Together Control Structures 1.19 Putting Together Control Structures 3.4 Variables 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 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.2 Indexing Into an Array 25.3 Adding/Removing From an Array 25.4 Array Length and Looping Through Arrays 25.5 Iterating Over an Array 25.6 Finding an Element in a List 25.7 Removing an Element From an Array 25.8 Intro to Objects/Maps 25.9 Basics of Objects 25.10 Iterating Over an Object 25.11 When Do I Use an Object? 25.12 Intro to Sets 25.13 Intro to Grids 25.14 Looping Over a Grid 25.15 Grid Example: Get a Row 25.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.1 Intro to Lists/Arrays 25.2 Indexing Into an Array 25.3 Adding/Removing From an Array 25.4 Array Length and Looping Through Arrays 25.5 Iterating Over an Array 25.6 Finding an Element in a List 25.7 Removing an Element From an Array 25.8 Intro to Objects/Maps 25.9 Basics of Objects 25.10 Iterating Over an Object 25.11 When Do I Use an Object? 25.12 Intro to Sets 25.13 Intro to Grids 25.14 Looping Over a Grid 25.15 Grid Example: Get a Row 25.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 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 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 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.7 Removing an Element From an Array 21.2 Indexing Into an Array 21.3 Adding/Removing From an Array 21.4 Array Length and Looping Through Arrays 21.5 Iterating Over an Array 21.6 Finding an Element in a List 10.1 Extra Karel Practice 21.7 Removing an Element From an Array 13.1 Prime Numbers 14.2 Fun Graphics Challenges 14.1 Fun Snake 15.2 Connect Four 15.1 Conway's Game of Life 16.1 Evolution Simulation 20.1 Visualizing Music 22.1 Tic Tac Toe 11.1 Extra Karel Puzzles 12.1 Functions and Parameters Practice 23.1 Game Design: Helicopter 21.16 Data Structures Challenges 21.15 Grid Example: Get a Row 21.14 Looping Over a Grid 21.13 Intro to Grids 21.12 Intro to Sets 21.11 When Do I Use an Object? 21.10 Iterating Over an Object 21.9 Basics of Objects 21.8 Intro to Objects/Maps 20.1 Visualizing Music 21.8 Intro to Objects/Maps 21.9 Basics of Objects 21.10 Iterating Over an Object 21.11 When Do I Use an Object? 21.12 Intro to Sets 21.13 Intro to Grids 21.14 Looping Over a Grid 21.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 21.1 Intro to Lists/Arrays 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.6 Finding an Element in a List 21.5 Iterating Over an Array 21.4 Array Length and Looping Through Arrays 21.3 Adding/Removing From an Array 21.2 Indexing Into an Array 21.1 Intro to Lists/Arrays
 Standard 3.2 Naming Guidelines 3.2 Naming Guidelines 4.1 Variables 4.1 Variables 4.2 User Input 4.2 User Input 4.3 Parameters 4.3 Parameters 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 6.1 Putting Together Control Structures 6.1 Putting Together Control Structures
 Standard 2.7 Naming Guidelines 2.7 Naming Guidelines 2.11 Variables 2.11 Variables 2.12 User Input 2.12 User Input 2.13 Parameters 2.13 Parameters 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 2.19 Putting Together Control Structures 2.19 Putting Together Control Structures 3.2 Variables and Types 3.2 Variables and Types 3.3 User Input 3.3 User Input 3.4 Mathematical Operators 3.4 Mathematical Operators 3.5 String Operators 3.5 String Operators 3.6 Comments 3.6 Comments 4.1 Booleans 4.1 Booleans 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 14.2 Variables 14.3 User Input 14.4 Basic Math in JavaScript 14.5 Booleans 14.6 Logical Operators 14.7 Comparison Operators 14.8 If Statements 14.9 For Loops in JavaScript 14.10 Functions and Parameters 1 14.11 Functions and Parameters 2 14.13 Intro to Lists/Arrays 14.14 Indexing Into an Array 14.15 Adding/Removing From an Array 14.16 Array Length and Looping Through Arrays 14.12 Functions and Return Values 1
 Standard 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 15.3 Key Events 16.1 Indexing Into an Array 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 13.1 Extra Karel Puzzles 12.1 Extra Karel Practice 17.9 Data Structures Challenges 17.8 Grid Example: Get a Row 17.7 Looping Over a Grid 17.6 Intro to Grids 17.5 Intro to Sets 17.4 When Do I Use an Object? 17.3 Iterating Over an Object 17.2 Basics of Objects 17.1 Intro to Objects/Maps 16.3 Removing an Element From an Array 16.2 Finding an Element in a List 17.8 Grid Example: Get a Row 16.1 Indexing Into an Array 16.2 Finding an Element in a List 16.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 17.2 Basics of Objects 17.3 Iterating Over an Object 17.4 When Do I Use an Object? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 15.2 Drawing Lines 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved 15.1 Mouse Events: Mouse Moved
 Standard 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.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 18.3 Key Events 13.1 Indexing Into an Array 18.4 Crazy Ball Game 17.1 Functions and Parameters Practice 16.1 Extra Karel Puzzles 15.1 Extra Karel Practice 14.9 Data Structures Challenges 14.8 Grid Example: Get a Row 14.7 Looping Over a Grid 14.6 Intro to Grids 14.5 Intro to Sets 14.4 When Do I Use an Object? 14.3 Iterating Over an Object 14.2 Basics of Objects 14.1 Intro to Objects/Maps 13.3 Removing an Element From an Array 13.2 Finding an Element in a List 14.8 Grid Example: Get a Row 13.1 Indexing Into an Array 13.2 Finding an Element in a List 13.3 Removing an Element From an Array 14.1 Intro to Objects/Maps 14.2 Basics of Objects 14.3 Iterating Over an Object 14.4 When Do I Use an Object? 14.5 Intro to Sets 14.6 Intro to Grids 14.7 Looping Over a Grid 18.2 Drawing Lines 14.9 Data Structures Challenges 15.1 Extra Karel Practice 16.1 Extra Karel Puzzles 17.1 Functions and Parameters Practice 18.4 Crazy Ball Game 18.3 Key Events 18.2 Drawing Lines 18.1 Mouse Events: Mouse Moved 18.1 Mouse Events: Mouse Moved
 Standard 2.7 Naming Guidelines 2.7 Naming Guidelines 2.12 Variables 2.12 Variables 2.13 User Input 2.13 User Input 2.14 Parameters 2.14 Parameters 2.18 If Statements 2.18 If Statements 2.19 If/ Else Statements 2.19 If/ Else Statements 2.20 While Loops 2.20 While Loops 2.22 Putting Together Control Structures 2.22 Putting Together Control Structures 5.2 Variables and Types 5.2 Variables and Types 5.3 User Input 5.3 User Input 5.4 Mathematical Operators 5.4 Mathematical Operators 5.5 String Operators 5.5 String Operators 5.6 Comments 5.6 Comments 6.1 Booleans 6.1 Booleans 6.2 If Statements 6.2 If Statements 6.3 Comparison Operators 6.3 Comparison Operators 6.4 Logical Operators 6.4 Logical Operators 6.5 Floating Point Numbers and Rounding 6.5 Floating Point Numbers and Rounding 7.1 While Loops 7.1 While Loops 7.2 For Loops 7.2 For Loops 7.3 Break and Continue 7.3 Break and Continue 7.4 Nested Control Structures 7.4 Nested Control Structures 8.1 Functions 8.1 Functions 8.2 Functions and Parameters 8.2 Functions and Parameters 8.4 Functions and Return Values 8.4 Functions and Return Values 8.5 Exceptions 8.5 Exceptions 9.1 Indexing 9.1 Indexing 9.2 Slicing 9.2 Slicing 9.3 Immutability 9.3 Immutability 9.4 Strings and For Loops 9.4 Strings and For Loops 9.5 The in Keyword 9.5 The in Keyword 9.6 String Methods 9.6 String Methods 10.1 Tuples 10.1 Tuples 10.2 Lists 10.2 Lists 10.3 For Loops and Lists 10.3 For Loops and Lists 10.4 List Methods 10.4 List Methods 11.1 2d Lists 11.1 2d Lists 11.2 List Comprehensions 11.2 List Comprehensions 11.3 Packing and Unpacking 11.3 Packing and Unpacking 11.4 Dictionaries 11.4 Dictionaries 11.5 Equivalence vs. Identity 11.5 Equivalence vs. Identity 17.2 De Morgan's Laws 18.1 Project: Who Said It? 18.1 Project: Who Said It? 17.1 Short Circuit Evaluation 17.1 Short Circuit Evaluation 17.2 De Morgan's Laws
 Standard 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 16.3 Key Events 17.1 Indexing Into an Array 16.4 Crazy Ball Game 15.1 Functions and Parameters Practice 14.1 Extra Karel Puzzles 13.1 Extra Karel Practice 18.9 Data Structures Challenges 18.8 Grid Example: Get a Row 18.7 Looping Over a Grid 18.6 Intro to Grids 18.5 Intro to Sets 18.4 When Do I Use an Object? 18.3 Iterating Over an Object 18.2 Basics of Objects 18.1 Intro to Objects/Maps 17.3 Removing an Element From an Array 17.2 Finding an Element in a List 18.8 Grid Example: Get a Row 17.1 Indexing Into an Array 17.2 Finding an Element in a List 17.3 Removing an Element From an Array 18.1 Intro to Objects/Maps 18.2 Basics of Objects 18.3 Iterating Over an Object 18.4 When Do I Use an Object? 18.5 Intro to Sets 18.6 Intro to Grids 18.7 Looping Over a Grid 16.2 Drawing Lines 18.9 Data Structures Challenges 13.1 Extra Karel Practice 14.1 Extra Karel Puzzles 15.1 Functions and Parameters Practice 16.4 Crazy Ball Game 16.3 Key Events 16.2 Drawing Lines 16.1 Mouse Events: Mouse Moved 16.1 Mouse Events: Mouse Moved
 Standard 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 17.2 Basics of Objects 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.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 15.3 Key Events 17.3 Iterating Over an Object 17.4 When Do I Use an Object? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 17.6 Intro to Grids 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 13.1 Extra Karel Puzzles 12.1 Extra Karel Practice 17.9 Data Structures Challenges 17.8 Grid Example: Get a Row 17.7 Looping Over a Grid 15.1 Mouse Events: Mouse Moved 17.5 Intro to Sets 17.4 When Do I Use an Object? 17.3 Iterating Over an Object 17.2 Basics of Objects 17.1 Intro to Objects/Maps 16.3 Removing an Element From an Array 16.2 Finding an Element in a List 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines
 Standard 1.7 Naming Guidelines 1.7 Naming Guidelines 1.11 Variables 1.11 Variables 1.12 User Input 1.12 User Input 1.13 Parameters 1.13 Parameters 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 1.19 Putting Together Control Structures 1.19 Putting Together Control Structures 3.4 Variables 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 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 17.2 Basics of Objects 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.3 Removing an Element From an Array 17.1 Intro to Objects/Maps 15.3 Key Events 17.3 Iterating Over an Object 17.4 When Do I Use an Object? 17.5 Intro to Sets 17.6 Intro to Grids 17.7 Looping Over a Grid 17.8 Grid Example: Get a Row 17.9 Data Structures Challenges 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 14.1 Functions and Parameters Practice 17.6 Intro to Grids 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game 14.1 Functions and Parameters Practice 13.1 Extra Karel Puzzles 12.1 Extra Karel Practice 17.9 Data Structures Challenges 17.8 Grid Example: Get a Row 17.7 Looping Over a Grid 15.1 Mouse Events: Mouse Moved 17.5 Intro to Sets 17.4 When Do I Use an Object? 17.3 Iterating Over an Object 17.2 Basics of Objects 17.1 Intro to Objects/Maps 16.3 Removing an Element From an Array 16.2 Finding an Element in a List 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines
 Standard 1.7 Naming Guidelines 1.7 Naming Guidelines 1.11 Variables 1.11 Variables 1.12 User Input 1.12 User Input 1.13 Parameters 1.13 Parameters 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 1.19 Putting Together Control Structures 1.19 Putting Together Control Structures 3.4 Variables 12.1 Extra Karel Puzzles 12.1 Extra Karel Puzzles
 Standard 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 17.3 Key Events 18.1 Indexing Into an Array 17.4 Crazy Ball Game 16.1 Functions and Parameters Practice 15.1 Extra Karel Puzzles 14.1 Extra Karel Practice 19.9 Data Structures Challenges 19.8 Grid Example: Get a Row 19.7 Looping Over a Grid 19.6 Intro to Grids 19.5 Intro to Sets 19.4 When Do I Use an Object? 19.3 Iterating Over an Object 19.2 Basics of Objects 19.1 Intro to Objects/Maps 18.3 Removing an Element From an Array 18.2 Finding an Element in a List 19.8 Grid Example: Get a Row 18.1 Indexing Into an Array 18.2 Finding an Element in a List 18.3 Removing an Element From an Array 19.1 Intro to Objects/Maps 19.2 Basics of Objects 19.3 Iterating Over an Object 19.4 When Do I Use an Object? 19.5 Intro to Sets 19.6 Intro to Grids 19.7 Looping Over a Grid 17.2 Drawing Lines 19.9 Data Structures Challenges 14.1 Extra Karel Practice 15.1 Extra Karel Puzzles 16.1 Functions and Parameters Practice 17.4 Crazy Ball Game 17.3 Key Events 17.2 Drawing Lines 17.1 Mouse Events: Mouse Moved 17.1 Mouse Events: Mouse Moved
 Standard 3.7 Naming Guidelines 3.7 Naming Guidelines 3.11 Variables 3.11 Variables 3.12 User Input 3.12 User Input 3.13 Parameters 3.13 Parameters 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 3.19 Putting Together Control Structures 3.19 Putting Together Control Structures
 Standard 6.1 Programming Concepts
 Standard 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 14.1 Extra Karel Puzzles 15.1 Booleans 13.1 Extra Karel Practice 15.10 Loop and a Half 15.9 While Loops 15.8 Random Numbers 15.7 For Loop Practice 15.6 General For Loops 15.5 For Loops in JavaScript 15.4 If Statements 15.3 Comparison Operators 15.2 Logical Operators 15.1 Booleans 14.1 Extra Karel Puzzles 13.1 Extra Karel Practice 15.10 Loop and a Half 15.9 While Loops 15.8 Random Numbers 15.7 For Loop Practice 15.6 General For Loops 15.5 For Loops in JavaScript 15.4 If Statements 15.3 Comparison Operators 15.2 Logical Operators
 Standard 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 16.1 Mouse Events: Mouse Moved 16.2 Drawing Lines 17.10 Mouse Events: Mouse Clicked 17.9 Bouncing Ball 17.8 Random Ghosts 17.7 Random Circles 17.6 Timers 17.5 Functions and Return Values 2 17.4 Functions and Return Values 1 17.3 Functions and Parameters 3 17.2 Functions and Parameters 2 17.1 Functions and Parameters 1 14.10 Loop and a Half 14.9 While Loops 14.8 Random Numbers 14.7 For Loop Practice 14.6 General For Loops 14.5 For Loops in JavaScript 14.4 If Statements 14.3 Comparison Operators 14.2 Logical Operators 20.3 Iterating Over an Object 14.1 Booleans 21.9 Hash Function Development 18.1 Functions and Parameters Practice 13.1 Extra Karel Puzzles 12.1 Extra Karel Practice 20.9 Data Structures Challenges 20.8 Grid Example: Get a Row 20.7 Looping Over a Grid 20.6 Intro to Grids 20.5 Intro to Sets 20.4 When Do I Use an Object? 21.10 Project: Classic Cipher Newscast 20.2 Basics of Objects 20.1 Intro to Objects/Maps 19.3 Removing an Element From an Array 19.2 Finding an Element in a List 17.14 Iterating Over an Array 17.13 Array Length and Looping Through Arrays 17.12 Adding/Removing From an Array 19.1 Indexing Into an Array 17.11 Intro to Lists/Arrays 16.4 Crazy Ball Game 16.3 Key Events 17.2 Functions and Parameters 2 16.3 Key Events 16.2 Drawing Lines 16.1 Mouse Events: Mouse Moved 17.10 Mouse Events: Mouse Clicked 17.9 Bouncing Ball 17.8 Random Ghosts 17.7 Random Circles 17.6 Timers 17.5 Functions and Return Values 2 17.4 Functions and Return Values 1 17.3 Functions and Parameters 3 16.4 Crazy Ball Game 17.1 Functions and Parameters 1 14.10 Loop and a Half 14.9 While Loops 14.8 Random Numbers 14.7 For Loop Practice 14.6 General For Loops 14.5 For Loops in JavaScript 14.4 If Statements 14.3 Comparison Operators 14.2 Logical Operators 20.4 When Do I Use an Object? 21.10 Project: Classic Cipher Newscast 21.9 Hash Function Development 18.1 Functions and Parameters Practice 13.1 Extra Karel Puzzles 12.1 Extra Karel Practice 20.9 Data Structures Challenges 20.8 Grid Example: Get a Row 20.7 Looping Over a Grid 20.6 Intro to Grids 20.5 Intro to Sets 14.1 Booleans 20.3 Iterating Over an Object 20.2 Basics of Objects 20.1 Intro to Objects/Maps 19.3 Removing an Element From an Array 19.2 Finding an Element in a List 17.14 Iterating Over an Array 17.13 Array Length and Looping Through Arrays 17.12 Adding/Removing From an Array 19.1 Indexing Into an Array 17.11 Intro to Lists/Arrays
 Standard 3.3 Variables and Types 3.3 Variables and Types 3.4 User Input 3.4 User Input 3.5 Mathematical Operators 3.5 Mathematical Operators 3.6 String Operators 3.6 String Operators 3.7 Comments 3.7 Comments 4.1 Booleans 4.1 Booleans 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 9.5 2d Lists 9.5 2d Lists 18.7 Naming Guidelines 18.11 Variables 18.12 User Input 18.13 Parameters 18.16 If Statements 18.17 If/ Else Statements 18.18 While Loops 18.19 Putting Together Control Structures 12.1 List Comprehensions 12.2 Packing and Unpacking 12.3 Dictionaries 12.4 Equivalence vs. Identity 15.1 Classes and Objects 15.2 Methods 15.3 Built-In Methods 15.4 Operator Overloading 15.5 Class Variables vs. Instance Variables 15.6 Inheritance 15.7 Hidden Attributes 15.8 Namespaces 15.9 Modules 17.1 Project: Who Said It? 18.7 Naming Guidelines 18.11 Variables 18.12 User Input 18.13 Parameters 18.16 If Statements 18.17 If/ Else Statements 18.18 While Loops 18.19 Putting Together Control Structures 12.1 List Comprehensions 12.2 Packing and Unpacking 12.3 Dictionaries 12.4 Equivalence vs. Identity 15.1 Classes and Objects 15.2 Methods 15.3 Built-In Methods 15.4 Operator Overloading 15.5 Class Variables vs. Instance Variables 15.6 Inheritance 15.7 Hidden Attributes 15.8 Namespaces 15.9 Modules 17.1 Project: Who Said It?
 Standard 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 17.2 Basics of Objec