# CSTA 3B: 3B-AP-14

## CodeHS Lessons

Construct solutions to problems using student-created components, such as procedures, modules and/or objects.

 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Main Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.13 How to Indent Your Code 1.14 Control Structures Example 1.15 More Karel Examples and Testing 2.1 Challenge Problems 9.1 Functions Challenges 10.2 Stopping Timers 10.3 Collisions 10.4 Mouse Click Events 10.5 More Mouse Events 10.6 Key Events 12.1 Breakout 22.2 Intro to Grids 21.4 Iterating Through an Object 21.1 Intro to Objects 20.3 Iterating Through an Array 19.4 Crazy Ball Game 19.3 Animation Practice 27.1 Game Design: Helicopter 26.1 Tic Tac Toe 22.4 Grid Example: Get a Row 22.3 Looping Over a Grid 16.1 Extra Karel Practice 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
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 21.1 Classes and Objects 21.2 Methods 21.3 Built-In Methods 21.4 Operator Overloading 21.6 Inheritance 21.7 Hidden Attributes 21.8 Namespaces 21.9 Modules 19.1 Project: Who Said It?
 Standard 5.1 Writing Classes 5.4 Accessor Methods 5.5 Mutator Methods 5.6 Writing Methods
 Standard 1.4 Karel Can't Turn Right 1.5 Functions in Karel 5.1 Functions and Parameters 1 5.2 Functions and Parameters 2 5.3 Functions and Parameters 3 5.4 Functions and Return Values 1 5.5 Functions and Return Values 2 5.7 JavaScript vs Karel 5.8 Basic JavaScript and Graphics Challenges
 Standard 1.4 Karel Can't Turn Right 1.5 Functions in Karel 5.1 Functions and Parameters 1 5.2 Functions and Parameters 2 5.3 Functions and Parameters 3 5.4 Functions and Return Values 1 5.5 Functions and Return Values 2 5.8 Python vs Karel 5.9 Basic Python and Graphics Challenges 29.1 Project: Who Said It? 27.9 Modules 27.8 Namespaces 27.7 Hidden Attributes 27.6 Inheritance 27.4 Operator Overloading 27.3 Built-In Methods 27.2 Methods 27.1 Classes and Objects
 Standard 1.4 Karel Can't Turn Right 1.5 Functions in Karel 5.1 Functions and Parameters 1 5.2 Functions and Parameters 2 5.3 Functions and Parameters 3 5.4 Functions and Return Values 1 5.5 Functions and Return Values 2 5.7 JavaScript vs Karel 5.8 Basic JavaScript and Graphics Challenges
 Standard 9.22 Array Length and Looping Through Arrays 9.14 Functions and Parameters 1 9.16 Functions and Return Values 1 9.15 Functions and Parameters 2 9.17 Functions and Return Values 2
 Standard 5.3 Basic Crypto Systems: Caesar Cipher 5.5 Basic Crypto Systems: Vigenere Cipher 6.1 Project: Classic Cipher Newscast 21.1 Challenge Problems
 Standard 1.5 Hash Function Development
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Main Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.13 How to Indent Your Code 1.14 Control Structures Example 1.15 More Karel Examples and Testing 1.16 Challenge Problems 8.1 Functions Challenges 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.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.2 Intro to Grids 26.3 Crazy Ball Game 26.2 Animation Practice 22.4 Grid Example: Get a Row 22.3 Looping Over a Grid 23.1 Extra Karel Practice 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 25.1 Prime Numbers 24.1 Functions and Parameters Practice 23.2 Extra Karel Puzzles
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Main Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.13 How to Indent Your Code 1.14 Control Structures Example 1.15 More Karel Examples and Testing 2.1 Challenge Problems 9.1 Functions Challenges 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.3 Iterating Through an Array 14.1 Intro to Objects 14.4 Iterating Through an Object 15.1 Tic Tac Toe 16.1 Game Design: Helicopter 20.2 Intro to Grids 24.4 Crazy Ball Game 24.3 Animation Practice 20.4 Grid Example: Get a Row 20.3 Looping Over a Grid 21.1 Extra Karel Practice 20.1 Intro to Sets 26.1 Visualizing Music 27.2 Connect Four 27.1 Conway's Game of Life 24.2 Fun Graphics Challenges 24.1 Snake Game 23.1 Prime Numbers 22.1 Functions and Parameters Practice 21.2 Extra Karel Puzzles
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Main Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.13 How to Indent Your Code 1.14 Control Structures Example 1.15 More Karel Examples and Testing 2.1 Challenge Problems 9.1 Functions Challenges 21.4 Iterating Through an Object 21.1 Intro to Objects 20.3 Iterating Through an Array 17.4 Crazy Ball Game 17.3 Animation Practice 25.1 Game Design: Helicopter 24.1 Tic Tac Toe 22.4 Grid Example: Get a Row 22.3 Looping Over a Grid 22.2 Intro to Grids 22.1 Intro to Sets 18.1 Visualizing Music 23.2 Connect Four 23.1 Conway's Game of Life 17.2 Fun Graphics Challenges 17.1 Snake Game 16.1 Prime Numbers 15.1 Functions and Parameters Practice 14.2 Extra Karel Puzzles 14.1 Extra Karel Practice 13.1 Breakout 11.6 Key Events 11.5 More Mouse Events 11.4 Mouse Click Events 11.3 Collisions 11.2 Stopping Timers
 Standard 6.4 Using Methods to Update String States
 Standard 6.4 Using Methods to Update String States
 Standard 3.6 Top Down Design
 Standard 3.6 Top Down Design
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 1.16 Karel Challenges 6.7 Image Manipulation 11.1 Extra Karel Practice 12.1 Extra Karel Puzzles 13.10 Top Down Design
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Super Karel 2.9 For Loops 2.10 If Statements 2.11 If/Else Statements 2.12 While Loops in Karel 2.13 Control Structures Example 2.14 More Karel Examples and Testing 2.15 How to Indent Your Code 2.16 Karel Challenges 3.10 Top Down Design 11.7 Image Manipulation 5.1 Extra Karel Puzzles 4.1 Extra Karel Practice
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Super Karel 2.9 For Loops 2.10 If Statements 2.11 If/Else Statements 2.12 While Loops in Karel 2.13 Control Structures Example 2.14 More Karel Examples and Testing 2.15 How to Indent Your Code 2.16 Karel Challenges 4.1 Extra Karel Practice 5.1 Extra Karel Puzzles 6.10 Top Down Design 11.7 Image Manipulation
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 1.16 Karel Challenges
 Standard 7.1 Writing BlackJack 8.1 Mad Libs
 Standard 1.10 Top Down Design 7.4 Functions 12.1 Arduino Challenges 12.4 Final Project 14.1 Classes and Objects 14.2 Methods 14.3 Built-In Methods 14.4 Operator Overloading 14.6 Inheritance 14.7 Hidden Attributes 14.8 Namespaces 14.9 Modules
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 2.1 Challenge Problems 8.1 Functions and Parameters 1 8.2 Functions and Parameters 2 8.3 Functions and Parameters 3 8.4 Functions and Return Values 1 8.5 Functions and Return Values 2 9.1 Functions Challenges 10.4 Functions 11.2 Random Circles 11.3 Random Ghosts 11.4 Bouncing Ball 11.5 Mouse Events: Mouse Clicked 11.6 Mouse Events: Mouse Moved 11.7 Drawing Lines 11.8 Key Events 11.9 Crazy Ball Game 13.1 Breakout 14.1 Arduino Challenges 14.4 Final Project 18.1 Extra Karel Practice 19.1 Extra Karel Puzzles 20.1 Functions and Parameters Practice 21.1 Tic Tac Toe 22.1 Game Design: Helicopter
 Standard 3.5 Top Down Design 7.5 Functions 9.1 micro:bit Challenges 9.4 Final Project
 Standard 7.5 Functions 10.1 micro:bit Challenges 10.4 Final Project
 Standard 2.5 Functions 3.1 micro:bit Challenges 3.4 Final Project
 Standard 2.4 Functions 3.1 Arduino Challenges 3.4 Final Project
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved
 Standard 1.10 Top Down Design 5.3 Basic Crypto Systems: Caesar Cipher 5.5 Basic Crypto Systems: Vigenere Cipher 11.13 Control Structures Example 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 12.1 Extra Karel Puzzles 11.16 Karel Challenges 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.3 Karel Can't Turn Right 11.12 While Loops in Karel 11.11 If/Else Statements 11.10 If Statements 11.9 For Loops 11.8 Super Karel 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.4 Functions in Karel
 Standard 7.1 Pokemon Simulation 9.1 Java Outside of CodeHS 8.1 Mad Libs
 Standard 1.4 Karel Can't Turn Right 1.5 Methods in Karel 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 While Loops in Karel 1.11 If Statements 1.12 If/Else Statements 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 1.16 Karel Challenges 2.1 Printing in Java 2.2 Variables and Types 2.3 User Input 2.4 Arithmetic Expressions 2.5 Casting 2.6 Booleans 2.7 Logical Operators 2.8 Comparison Operators 2.9 For Loops 2.10 While Loops 2.11 If Statements 2.12 Loop-and-a-Half 2.13 Short-Circuit Evaluation 2.14 De Morgan's Laws 2.15 Strings 3.1 Java Methods 3.2 Methods and Parameters 3.3 Methods and Return Values 3.4 Javadocs and More Methods 3.5 Strings Methods 3.6 Strings and Characters 3.7 Exceptions 3.8 String Processing 4.1 Introduction to Classes and Objects 4.2 Classes vs. Objects 4.3 Using a Class as a Client 4.4 Writing Classes 4.5 Writing Classes and Instance Methods 4.6 Getter and Setter Methods 4.7 Class Methods and Class Variables 4.9 Method Overloading 4.10 Local Variables and Scope 4.11 Key Terms for Classes 4.12 Objects vs Primitives 4.13 Inheritance 4.14 Class Design and Abstract Classes 4.15 Polymorphism 4.17 Interfaces 5.1 What are Data Structures? 5.2 Introduction to Arrays 5.3 Using Arrays 5.5 ArrayList Methods 5.6 Arrays vs ArrayLists 5.8 The List Interface 5.9 2D Arrays (Matrices or Grids) 5.11 HashMaps 5.12 Binary 6.1 Writing BlackJack 8.1 What is an Algorithm? 8.2 Linear Search 8.3 Binary Search 8.4 Selection Sort 8.5 Insertion Sort 8.6 Advanced: Recursion 8.7 Mergesort 10.1 Final Project 11.1 Pokemon Simulation 13.1 Java Outside of CodeHS 12.1 Mad Libs
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 2.1 Challenge Problems 7.1 Functions and Parameters 1 7.2 Functions and Parameters 2 7.3 Functions and Parameters 3 7.4 Functions and Return Values 1 7.5 Functions and Return Values 2 8.1 Functions Challenges 9.2 Random Circles 9.3 Random Ghosts 9.4 Bouncing Ball 9.5 Mouse Events: Mouse Clicked 9.6 Mouse Events: Mouse Moved 9.7 Drawing Lines 9.8 Key Events 9.9 Crazy Ball Game 11.1 Breakout 27.1 Game Design: Helicopter 17.1 Functions and Parameters Practice 18.1 Prime Numbers 19.2 Fun Graphics Challenges 19.1 Fun Snake 20.2 Connect Four 20.1 Conway's Game of Life 21.1 Evolution Simulation 24.1 Visualizing Music 26.1 Tic Tac Toe 16.1 Extra Karel Puzzles 15.1 Extra Karel Practice 25.4 Array Length and Looping Through Arrays 25.16 Data Structures Challenges 25.15 Grid Example: Get a Row 25.14 Looping Over a Grid 25.13 Intro to Grids 25.12 Intro to Sets 25.11 When Do I Use an Object? 25.10 Iterating Over an Object 25.9 Basics of Objects 25.8 Intro to Objects/Maps 25.7 Removing an Element From an Array 25.6 Finding an Element in a List 25.5 Iterating Over an Array
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 2.1 Challenge Problems 7.1 Functions and Parameters 1 7.2 Functions and Parameters 2 7.3 Functions and Parameters 3 7.4 Functions and Return Values 1 7.5 Functions and Return Values 2 8.1 Functions Challenges 9.2 Random Circles 9.3 Random Ghosts 9.4 Bouncing Ball 9.5 Mouse Events: Mouse Clicked 9.6 Mouse Events: Mouse Moved 9.7 Drawing Lines 9.8 Key Events 9.9 Crazy Ball Game 11.1 Breakout 12.4 Array Length and Looping Through Arrays 12.5 Iterating Over an Array 12.6 Finding an Element in a List 12.7 Removing an Element From an Array 12.8 Intro to Objects/Maps 12.9 Basics of Objects 12.10 Iterating Over an Object 12.11 When Do I Use an Object? 12.12 Intro to Sets 12.13 Intro to Grids 12.14 Looping Over a Grid 12.15 Grid Example: Get a Row 12.16 Data Structures Challenges 13.1 Tic Tac Toe 14.1 Game Design: Helicopter 22.2 Fun Graphics Challenges 22.1 Fun Snake 18.1 Extra Karel Practice 20.1 Functions and Parameters Practice 19.1 Extra Karel Puzzles 21.1 Prime Numbers 28.1 Visualizing Music 24.1 Evolution Simulation 23.1 Conway's Game of Life 23.2 Connect Four
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 2.1 Challenge Problems 7.1 Functions and Parameters 1 7.2 Functions and Parameters 2 7.3 Functions and Parameters 3 7.4 Functions and Return Values 1 7.5 Functions and Return Values 2 9.1 Functions Challenges 9.1 Functions Challenges 21.16 Data Structures Challenges 12.1 Functions and Parameters Practice 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 10.1 Extra Karel Practice 23.1 Game Design: Helicopter 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 21.7 Removing an Element From an Array 21.6 Finding an Element in a List 21.5 Iterating Over an Array 21.4 Array Length and Looping Through Arrays
 Standard 3.5 Top Down Design 10.4 Karel Can't Turn Right 10.5 Functions in Karel
 Standard 2.10 Top Down Design 12.1 Classes and Objects 12.2 Methods 12.3 Built-In Methods 12.4 Operator Overloading 12.6 Inheritance 12.7 Hidden Attributes 12.8 Namespaces 12.9 Modules 16.1 Project: Who Said It? 23.4 Karel Can't Turn Right 23.5 Functions in Karel
 Standard 14.10 Functions and Parameters 1 14.11 Functions and Parameters 2 14.16 Array Length and Looping Through Arrays 14.12 Functions and Return Values 1
 Standard 8.1 Writing Classes 8.4 Accessor Methods 8.5 Mutator Methods 8.6 Writing Methods 9.1 What are Data Structures? 9.2 Introduction to Arrays 9.3 Using Arrays 9.5 ArrayList Methods 9.6 Arrays vs ArrayLists 9.8 The List Interface 9.9 2D Arrays 9.11 HashMaps 9.12 Binary 10.1 What is an Algorithm? 10.2 Linear Search 10.3 Binary Search 10.4 Selection Sort 10.5 Insertion Sort 10.7 Mergesort
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved 14.1 Functions and Parameters Practice 13.1 Extra Karel Puzzles 12.1 Extra Karel Practice
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 6.1 What is Code 10.1 Functions and Parameters 1 10.2 Functions and Parameters 2 10.3 Functions and Parameters 3 10.4 Functions and Return Values 1 10.5 Functions and Return Values 2 10.6 Local Variables and Scope 10.8 Random Circles 10.9 Random Ghosts 10.10 Bouncing Ball 10.11 Mouse Events: Mouse Clicked 10.14 Array Length and Looping Through Arrays 10.15 Iterating Over an Array 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 18.4 Crazy Ball Game 18.3 Key Events 18.2 Drawing Lines 18.1 Mouse Events: Mouse Moved 17.1 Functions and Parameters Practice 16.1 Extra Karel Puzzles 15.1 Extra Karel Practice
 Standard 2.10 Top Down Design 18.1 Project: Who Said It?
 Standard 2.3 Basic Crypto Systems: Caesar Cipher 2.5 Basic Crypto Systems: Vigenere Cipher 3.3 Karel Can't Turn Right 3.4 Functions in Karel 3.5 The Start Function 3.6 Top Down Design and Decomposition in Karel 3.7 Commenting Your Code 3.8 Abstraction 3.9 Super Karel 3.10 For Loops 3.11 If Statements 3.12 If/Else Statements 3.13 While Loops in Karel 3.14 Control Structures Example 3.15 More Karel Examples and Testing 3.16 How to Indent Your Code 4.2 Challenge Problems 10.1 Functions and Parameters 1 10.2 Functions and Parameters 2 10.3 Functions and Parameters 3 10.4 Functions and Return Values 1 10.5 Functions and Return Values 2 10.7 Random Circles 10.8 Random Ghosts 10.9 Bouncing Ball 10.10 Mouse Events: Mouse Clicked 10.13 Array Length and Looping Through Arrays 10.14 Iterating Over an Array 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 16.4 Crazy Ball Game 16.3 Key Events 16.2 Drawing Lines 16.1 Mouse Events: Mouse Moved 15.1 Functions and Parameters Practice 14.1 Extra Karel Puzzles 13.1 Extra Karel Practice
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved
 Standard 1.10 Top Down Design 5.3 Basic Crypto Systems: Caesar Cipher 5.5 Basic Crypto Systems: Vigenere Cipher 11.13 Control Structures Example 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 12.1 Extra Karel Puzzles 11.16 Karel Challenges 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.3 Karel Can't Turn Right 11.12 While Loops in Karel 11.11 If/Else Statements 11.10 If Statements 11.9 For Loops 11.8 Super Karel 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.4 Functions in Karel
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved
 Standard 1.10 Top Down Design 5.3 Basic Crypto Systems: Caesar Cipher 5.5 Basic Crypto Systems: Vigenere Cipher 11.13 Control Structures Example 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 12.1 Extra Karel Puzzles 11.16 Karel Challenges 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.3 Karel Can't Turn Right 11.12 While Loops in Karel 11.11 If/Else Statements 11.10 If Statements 11.9 For Loops 11.8 Super Karel 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.4 Functions in Karel
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 11.1 Functions and Parameters 1 11.2 Functions and Parameters 2 11.3 Functions and Parameters 3 11.4 Functions and Return Values 1 11.5 Functions and Return Values 2 11.7 Random Circles 11.8 Random Ghosts 11.9 Bouncing Ball 11.10 Mouse Events: Mouse Clicked 11.13 Array Length and Looping Through Arrays 11.14 Iterating Over an Array 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 17.4 Crazy Ball Game 17.3 Key Events 17.2 Drawing Lines 17.1 Mouse Events: Mouse Moved 16.1 Functions and Parameters Practice 15.1 Extra Karel Puzzles 14.1 Extra Karel Practice
 Standard 3.10 Top Down Design 4.1 Practice PT: Pair-Programming Paint!
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 14.1 Extra Karel Puzzles 13.1 Extra Karel Practice
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 5.1 Functions and Parameters 1 5.2 Functions and Parameters 2 5.3 Functions and Parameters 3 5.4 Functions and Return Values 1 5.5 Functions and Return Values 2 5.7 JavaScript vs Karel 5.8 Basic JavaScript and Graphics Challenges
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 16.4 Crazy Ball Game 19.2 Finding an Element in a List 19.3 Removing an Element From an Array 20.1 Intro to Objects/Maps 20.2 Basics of Objects 20.3 Iterating Over an Object 20.4 When Do I Use an Object? 20.5 Intro to Sets 20.6 Intro to Grids 20.7 Looping Over a Grid 20.8 Grid Example: Get a Row 20.9 Data Structures Challenges 21.6 Basic Crypto Systems: Vigenere Cipher 21.4 Basic Crypto Systems: Caesar Cipher 21.9 Hash Function Development 21.10 Project: Classic Cipher Newscast 17.2 Functions and Parameters 2 17.8 Random Ghosts 17.9 Bouncing Ball 17.13 Array Length and Looping Through Arrays 17.10 Mouse Events: Mouse Clicked 17.14 Iterating Over an Array 17.1 Functions and Parameters 1 17.4 Functions and Return Values 1 17.7 Random Circles 16.3 Key Events 17.3 Functions and Parameters 3 17.5 Functions and Return Values 2 12.1 Extra Karel Practice 13.1 Extra Karel Puzzles 18.1 Functions and Parameters Practice 16.1 Mouse Events: Mouse Moved 16.2 Drawing Lines
 Standard 18.10 Top Down Design 15.1 Classes and Objects 15.2 Methods 15.3 Built-In Methods 15.4 Operator Overloading 15.6 Inheritance 15.7 Hidden Attributes 15.8 Namespaces 15.9 Modules 17.1 Project: Who Said It?
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved
 Standard 1.10 Top Down Design 5.3 Basic Crypto Systems: Caesar Cipher 5.5 Basic Crypto Systems: Vigenere Cipher 6.13 Control Structures Example 10.4 Final Project 10.1 micro:bit Challenges 9.5 Functions 7.1 Extra Karel Puzzles 6.16 Karel Challenges 6.15 How to Indent Your Code 6.14 More Karel Examples and Testing 6.3 Karel Can't Turn Right 6.12 While Loops in Karel 6.11 If/Else Statements 6.10 If Statements 6.9 For Loops 6.8 Super Karel 6.7 Commenting Your Code 6.6 Top Down Design and Decomposition in Karel 6.5 The Start Function 6.4 Functions in Karel
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Main Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.13 How to Indent Your Code 1.14 Control Structures Example 1.15 More Karel Examples and Testing 6.2 Stopping Timers 6.3 Collisions 6.4 Mouse Click Events 6.5 More Mouse Events 6.6 Key Events 29.15 Grid Example: Get a Row 29.7 Removing an Element From an Array 29.8 Intro to Objects/Maps 29.9 Basics of Objects 29.10 Iterating Over an Object 29.11 When Do I Use an Object? 29.12 Intro to Sets 29.13 Intro to Grids 29.14 Looping Over a Grid 21.3 Animation Practice 29.16 Data Structures Quiz 31.1 Tic Tac Toe 32.1 Game Design: Helicopter 21.4 Crazy Ball Game 29.6 Finding an Element in a List 29.5 Iterating Over an Array 29.4 Array Length and Looping Through Arrays 28.1 Visualizing Music 30.2 Connect Four 30.1 Conway's Game of Life 21.2 Fun Graphics Challenges 21.1 Snake Game 20.1 Prime Numbers 24.1 Functions and Parameters Practice 19.2 Extra Karel Puzzles 19.1 Extra Karel Practice 27.1 Breakout 25.1 Functions Challenges 18.1 Challenge Problems
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 2.1 Challenge Problems 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 13.1 Functions Challenges 33.13 Intro to Grids 33.12 Intro to Sets 33.14 Looping Over a Grid 33.15 Grid Example: Get a Row 33.16 Data Structures Challenges 35.1 Game Design: Helicopter 20.1 Extra Karel Practice 24.1 Extra Karel Puzzles 34.1 Tic Tac Toe 32.1 Visualizing Music 29.1 Evolution Simulation 28.1 Conway's Game of Life 28.2 Connect Four 27.1 Fun Snake 27.2 Fun Graphics Challenges 26.1 Prime Numbers 25.1 Functions and Parameters Practice 33.4 Array Length and Looping Through Arrays 21.3 Random Ghosts 21.4 Bouncing Ball 21.5 Mouse Events: Mouse Clicked 21.6 Mouse Events: Mouse Moved 21.7 Drawing Lines 21.8 Key Events 21.9 Crazy Ball Game 23.1 Breakout 21.2 Random Circles 33.5 Iterating Over an Array 33.6 Finding an Element in a List 33.7 Removing an Element From an Array 33.8 Intro to Objects/Maps 33.9 Basics of Objects 33.10 Iterating Over an Object 33.11 When Do I Use an Object?
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 2.1 Challenge Problems 8.1 Functions and Parameters 1 8.2 Functions and Parameters 2 8.3 Functions and Parameters 3 8.4 Functions and Return Values 1 8.5 Functions and Return Values 2 9.1 Functions Challenges 10.2 Random Circles 10.3 Random Ghosts 10.4 Bouncing Ball 10.5 Mouse Events: Mouse Clicked 10.6 Mouse Events: Mouse Moved 10.7 Drawing Lines 10.8 Key Events 10.9 Crazy Ball Game 12.1 Breakout 28.1 Game Design: Helicopter 18.1 Functions and Parameters Practice 19.1 Prime Numbers 20.2 Fun Graphics Challenges 20.1 Fun Snake 21.2 Connect Four 21.1 Conway's Game of Life 22.1 Evolution Simulation 25.1 Visualizing Music 27.1 Tic Tac Toe 17.1 Extra Karel Puzzles 16.1 Extra Karel Practice 26.4 Array Length and Looping Through Arrays 26.16 Data Structures Challenges 26.15 Grid Example: Get a Row 26.14 Looping Over a Grid 26.13 Intro to Grids 26.12 Intro to Sets 26.11 When Do I Use an Object? 26.10 Iterating Over an Object 26.9 Basics of Objects 26.8 Intro to Objects/Maps 26.7 Removing an Element From an Array 26.6 Finding an Element in a List 26.5 Iterating Over an Array
 Standard 2.3 Basic Crypto Systems: Caesar Cipher 2.5 Basic Crypto Systems: Vigenere Cipher 3.1 Project: Classic Cipher Newscast 4.5 Hash Function Development
 Standard 1.10 Top Down Design 5.3 Basic Crypto Systems: Caesar Cipher 5.5 Basic Crypto Systems: Vigenere Cipher 11.13 Control Structures Example 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 12.1 Extra Karel Puzzles 11.16 Karel Challenges 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.3 Karel Can't Turn Right 11.12 While Loops in Karel 11.11 If/Else Statements 11.10 If Statements 11.9 For Loops 11.8 Super Karel 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.4 Functions in Karel
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved 14.1 Functions and Parameters Practice 13.1 Extra Karel Puzzles 12.1 Extra Karel Practice
 Standard 1.10 Top Down Design 5.3 Basic Crypto Systems: Caesar Cipher 5.5 Basic Crypto Systems: Vigenere Cipher 11.13 Control Structures Example 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 12.1 Extra Karel Puzzles 11.16 Karel Challenges 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.3 Karel Can't Turn Right 11.12 While Loops in Karel 11.11 If/Else Statements 11.10 If Statements 11.9 For Loops 11.8 Super Karel 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.4 Functions in Karel
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved
 Standard 1.10 Top Down Design 5.3 Basic Crypto Systems: Caesar Cipher 5.5 Basic Crypto Systems: Vigenere Cipher 11.13 Control Structures Example 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 12.1 Extra Karel Puzzles 11.16 Karel Challenges 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.3 Karel Can't Turn Right 11.12 While Loops in Karel 11.11 If/Else Statements 11.10 If Statements 11.9 For Loops 11.8 Super Karel 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.4 Functions in Karel
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved
 Standard 1.10 Top Down Design 5.3 Basic Crypto Systems: Caesar Cipher 5.5 Basic Crypto Systems: Vigenere Cipher 11.13 Control Structures Example 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 12.1 Extra Karel Puzzles 11.16 Karel Challenges 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.3 Karel Can't Turn Right 11.12 While Loops in Karel 11.11 If/Else Statements 11.10 If Statements 11.9 For Loops 11.8 Super Karel 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.4 Functions in Karel
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 4.1 Functions and Parameters 1 4.2 Functions and Parameters 2 4.3 Functions and Parameters 3 4.4 Functions and Return Values 1 4.5 Functions and Return Values 2 4.7 JavaScript vs Karel 4.8 Basic JavaScript and Graphics Challenges
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 4.1 Functions and Parameters 1 4.2 Functions and Parameters 2 4.3 Functions and Parameters 3 4.4 Functions and Return Values 1 4.5 Functions and Return Values 2 4.7 JavaScript vs Karel 4.8 Basic JavaScript and Graphics Challenges
 Standard 1.10 Top Down Design 14.10 If Statements 7.4 Final Project 7.1 micro:bit Challenges 6.5 Functions 15.1 Extra Karel Puzzles 14.16 Karel Challenges 14.15 How to Indent Your Code 14.14 More Karel Examples and Testing 14.13 Control Structures Example 14.12 While Loops in Karel 14.11 If/Else Statements 14.9 For Loops 14.8 Super Karel 14.7 Commenting Your Code 14.6 Top Down Design and Decomposition in Karel 14.5 The Start Function 14.4 Functions in Karel 14.3 Karel Can't Turn Right 10.3 Basic Crypto Systems: Caesar Cipher 10.5 Basic Crypto Systems: Vigenere Cipher
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved
 Standard 1.10 Top Down Design 5.3 Basic Crypto Systems: Caesar Cipher 5.5 Basic Crypto Systems: Vigenere Cipher 11.13 Control Structures Example 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 12.1 Extra Karel Puzzles 11.16 Karel Challenges 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.3 Karel Can't Turn Right 11.12 While Loops in Karel 11.11 If/Else Statements 11.10 If Statements 11.9 For Loops 11.8 Super Karel 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.4 Functions in Karel
 Standard 3.10 Top Down Design 8.3 Karel Can't Turn Right 8.4 Functions in Karel 8.5 The Start Function 8.6 Top Down Design and Decomposition in Karel 8.7 Commenting Your Code 8.8 Super Karel 8.9 For Loops 8.10 If Statements 8.11 If/Else Statements 8.12 While Loops in Karel 8.13 Control Structures Example 8.14 More Karel Examples and Testing 8.15 How to Indent Your Code 8.16 Karel Challenges 9.7 Image Manipulation 11.4 Basic Crypto Systems: Caesar Cipher 11.6 Basic Crypto Systems: Vigenere Cipher 11.9 Hash Function Development 12.1 Project: Classic Cipher Newscast
 Standard 3.10 Top Down Design
 Standard 3.4 Karel Can't Turn Right 3.5 Methods in Karel 3.6 Top Down Design and Decomposition in Karel 3.7 Commenting Your Code 3.8 Super Karel 3.9 For Loops 3.10 While Loops in Karel 3.11 If Statements 3.12 If/Else Statements 3.13 Control Structures Example 3.14 More Karel Examples and Testing 3.15 How to Indent Your Code 3.16 Karel Challenges 4.2 Printing in Java 4.3 Variables and Types 4.4 User Input 4.5 Arithmetic Expressions 4.6 Casting 4.7 Booleans 4.8 Logical Operators 4.9 Comparison Operators 4.10 For Loops 4.11 While Loops 4.12 If Statements 4.13 Loop-and-a-Half 4.14 Short-Circuit Evaluation 4.15 De Morgan's Laws 4.16 Strings 5.1 Java Methods 5.2 Methods and Parameters 5.3 Methods and Return Values 5.4 Javadocs and More Methods 5.5 Strings Methods 5.6 Strings and Characters 5.7 Exceptions 5.8 String Processing 6.1 Introduction to Classes and Objects 6.2 Classes vs. Objects 6.3 Using a Class as a Client 6.4 Writing Classes 6.5 Writing Classes and Instance Methods 6.6 Getter and Setter Methods 6.7 Class Methods and Class Variables 6.9 Method Overloading 6.10 Local Variables and Scope 6.11 Key Terms for Classes 6.12 Objects vs Primitives 6.13 Inheritance 6.14 Class Design and Abstract Classes 6.15 Polymorphism 6.17 Interfaces 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 7.11 HashMaps 7.12 Binary 9.1 What is an Algorithm? 9.2 Linear Search 9.3 Binary Search 9.4 Selection Sort 9.5 Insertion Sort 9.6 Advanced: Recursion 9.7 Mergesort 12.1 Pokemon Simulation 13.1 Mad Libs
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Main Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements and Conditionals 2.12 If/Else Statements 2.13 While Loops 2.14 How to Indent Your Code 2.15 Control Structures Example 2.16 More Karel Examples and Testing 9.5 JavaScript vs Karel 10.4 Array Length and Looping Through Arrays 10.5 Iterating Over an Array 10.6 Finding an Element in a List 10.7 Removing an Element From an Array 10.9 Data Structures Quiz 11.1 What is an Algorithm? 11.2 Intro to Sets 11.3 Intro to Grids 11.4 Looping Over a Grid 11.5 Grid Example: Get a Row 13.2 Stopping Timers 13.3 Collisions 13.4 Mouse Click Events 13.5 More Mouse Events 13.6 Key Events
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Main Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Super Karel 2.9 For Loops 2.10 If Statements and Conditionals 2.11 If/Else Statements 2.12 While Loops 2.13 How to Indent Your Code 2.14 Control Structures Example 2.15 More Karel Examples and Testing 8.2 Stopping Timers 8.3 Collisions 8.4 Mouse Click Events 8.5 More Mouse Events 8.6 Key Events 17.4 Crazy Ball Game 17.3 Animation Practice 17.2 Fun Graphics Challenges 17.1 Snake Game 16.1 Prime Numbers 20.1 Functions and Parameters Practice 15.2 Extra Karel Puzzles 15.1 Extra Karel Practice 23.1 Breakout 21.1 Functions Challenges 14.1 Challenge Problems
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel
 Standard 1.10 Top Down Design 5.3 Basic Crypto Systems: Caesar Cipher 5.5 Basic Crypto Systems: Vigenere Cipher 11.13 Control Structures Example 15.4 Final Project 15.1 micro:bit Challenges 14.5 Functions 12.1 Extra Karel Puzzles 11.16 Karel Challenges 11.15 How to Indent Your Code 11.14 More Karel Examples and Testing 11.3 Karel Can't Turn Right 11.12 While Loops in Karel 11.11 If/Else Statements 11.10 If Statements 11.9 For Loops 11.8 Super Karel 11.7 Commenting Your Code 11.6 Top Down Design and Decomposition in Karel 11.5 The Start Function 11.4 Functions in Karel
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved
 Standard 3.3 Karel Can't Turn Right 3.4 Functions in Karel 3.5 The Start Function 3.6 Top Down Design and Decomposition in Karel 3.7 Commenting Your Code 3.8 Abstraction 3.9 Super Karel 3.10 For Loops 3.11 If Statements 3.12 If/Else Statements 3.13 While Loops in Karel 3.14 Control Structures Example 3.15 More Karel Examples and Testing 3.16 How to Indent Your Code 4.2 Challenge Problems 12.13 Array Length and Looping Through Arrays 17.4 Crazy Ball Game 12.14 Iterating Over an Array 18.2 Finding an Element in a List 18.3 Removing an Element From an Array 19.1 Intro to Objects/Maps 19.2 Basics of Objects 19.3 Iterating Over an Object 19.4 When Do I Use an Object? 19.5 Intro to Sets 19.6 Intro to Grids 19.7 Looping Over a Grid 19.8 Grid Example: Get a Row 19.9 Data Structures Challenges 14.1 Extra Karel Practice 15.1 Extra Karel Puzzles 16.1 Functions and Parameters Practice 24.5 Functions and Return Values 2 24.1 Functions and Parameters 1 24.2 Functions and Parameters 2 24.2 Functions and Parameters 2 24.3 Functions and Parameters 3 24.3 Functions and Parameters 3 24.4 Functions and Return Values 1 24.4 Functions and Return Values 1 24.5 Functions and Return Values 2 24.1 Functions and Parameters 1 12.7 Random Circles 12.8 Random Ghosts 12.9 Bouncing Ball 12.10 Mouse Events: Mouse Clicked 17.1 Mouse Events: Mouse Moved 17.2 Drawing Lines 17.3 Key Events
 Standard 4.3 Basic Crypto Systems: Caesar Cipher 4.5 Basic Crypto Systems: Vigenere Cipher 5.5 Hash Function Development
 Standard 1.3 Karel Can't Turn Right 1.4 Functions in Karel 1.5 The Start Function 1.6 Top Down Design and Decomposition in Karel 1.7 Commenting Your Code 1.8 Super Karel 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code
 Standard 4.3 Karel Can't Turn Right 4.4 Functions in Karel 4.5 The Start Function 4.6 Top Down Design and Decomposition in Karel 4.7 Commenting Your Code 4.8 Abstraction 4.9 Super Karel 4.10 For Loops 4.11 If Statements 4.12 If/Else Statements 4.13 While Loops in Karel 4.14 Control Structures Example 4.15 More Karel Examples and Testing 4.16 How to Indent Your Code 7.1 Functions and Parameters 1 7.2 Functions and Parameters 2 7.3 Functions and Parameters 3 7.4 Functions and Return Values 1 7.5 Functions and Return Values 2 7.7 Random Circles 7.8 Random Ghosts 7.9 Bouncing Ball 7.10 Mouse Events: Mouse Clicked 7.13 Array Length and Looping Through Arrays 7.14 Iterating Over an Array
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Super Karel 2.9 For Loops 2.10 If Statements 2.11 If/Else Statements 2.12 While Loops in Karel 2.13 Control Structures Example 2.14 Karel Algorithms 2.15 How to Indent Your Code 2.16 Ultra Karel 2.17 Karel Challenges 5.7 Image Manipulation 13.1 Extra Karel Practice 14.1 Extra Karel Puzzles
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Main Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Super Karel 2.9 For Loops 2.10 If Statements and Conditionals 2.11 If/Else Statements 2.12 While Loops 2.14 How to Indent Your Code 2.15 Control Structures Example 2.16 More Karel Examples and Testing 3.1 Challenge Problems 11.2 Stopping Timers 11.3 Collisions 11.4 Mouse Click Events 11.5 More Mouse Events 11.6 Key Events 12.1 Breakout 13.3 Iterating Through an Array
 Standard 4.3 Basic Crypto Systems: Caesar Cipher 4.5 Basic Crypto Systems: Vigenere Cipher 4.7 Hash Function Development 5.1 Project: Classic Cipher Newscast
 Standard 3.5 Top Down Design
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Super Karel 2.9 For Loops 2.10 If Statements 2.11 If/Else Statements 2.12 While Loops in Karel 2.13 Control Structures Example 2.14 More Karel Examples and Testing 2.15 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 9.13 Array Length and Looping Through Arrays 9.14 Iterating Over an Array 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 15.4 Crazy Ball Game 15.3 Key Events 15.2 Drawing Lines 15.1 Mouse Events: Mouse Moved 14.1 Functions and Parameters Practice 13.1 Extra Karel Puzzles 12.1 Extra Karel Practice
 Standard 8.3 Basic Crypto Systems: Caesar Cipher 8.5 Basic Crypto Systems: Vigenere Cipher
 Standard 2.3 Karel Can't Turn Right 2.4 Functions in Karel 2.5 The Start Function 2.6 Top Down Design and Decomposition in Karel 2.7 Commenting Your Code 2.8 Abstraction 2.9 Super Karel 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 2.15 More Karel Examples and Testing 2.16 How to Indent Your Code 3.2 Challenge Problems 9.1 Functions and Parameters 1 9.2 Functions and Parameters 2 9.3 Functions and Parameters 3 9.4 Functions and Return Values 1 9.5 Functions and Return Values 2 9.7 Random Circles