# SC 6-8: 6.AP.1.1

## CodeHS Lessons

Create and modify algorithms to express ideas and solve problems.

 Standard 1.1 Introduction to Programming With Karel 1.2 More About Karel 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 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math 3.6 Random Numbers 6.1 Booleans 6.2 If/Else Statements 6.3 Logical Operators 6.4 Comparison Operators 6.6 While Loops 6.7 The Break Statement 6.9 For Loops 9.1 Functions Challenges 10.1 Timers 10.2 Stopping Timers 10.3 Collisions 10.4 Mouse Click Events 10.5 More Mouse Events 10.6 Key Events 12.1 Breakout 19.3 Animation Practice 19.4 Crazy Ball Game
 Standard 3.1 Printing in Python 3.2 Variables and Types 3.4 Mathematical Operators 3.5 String Operators 3.6 Comments 5.1 Booleans 5.2 If Statements 5.3 Comparison Operators 5.4 Logical Operators 5.5 Floating Point Numbers and Rounding 7.1 While Loops 7.2 For Loops 7.3 Break and Continue 7.4 Nested Control Structures 9.1 Functions 9.2 Functions and Parameters 9.3 Namespaces in Functions 9.4 Functions and Return Values 9.5 Exceptions 10.1 Indexing 10.2 Slicing 10.3 Immutability 10.4 Strings and For Loops 10.5 The in Keyword 10.6 String Methods 12.1 Tuples 12.2 Lists 12.3 For Loops and Lists 12.4 List Methods 13.1 2d Lists 13.2 List Comprehensions 13.3 Packing and Unpacking 13.4 Dictionaries 24.21 Putting Together Control Structures 24.7 Functions 24.19 If/Else Statements 24.18 If Statements 24.17 Extended Loop Control 24.16 Using i in For Loops 24.14 Parameters 24.13 User Input 24.10 Variables 24.8 Artistic Effects 24.6 Comments 24.5 Turning Tracy Using Angles 24.4 For Loops 24.3 Turning Tracy 24.2 Tracy's Grid World 24.1 Meet Tracy the Turtle
 Standard 33.1 Indexing 33.2 Slicing 33.3 Immutability 33.4 Strings and For Loops 33.5 The in Keyword 33.6 String Methods 34.1 2d Lists 34.2 List Comprehensions 34.3 Packing and Unpacking 34.4 Dictionaries 34.5 Equivalence vs. Identity
 Standard 9.12 While Loops 9.17 Functions and Return Values 2 9.10 For Loop Practice 9.15 Functions and Parameters 2 9.9 For Loops in JavaScript 9.18 Local Variables and Scope 9.16 Functions and Return Values 1 9.14 Functions and Parameters 1 9.13 Loop and a Half 9.1 Hello World 9.11 Random Numbers 9.8 If Statements 9.7 Comparison Operators 9.6 Logical Operators 9.5 Booleans 9.4 Basic Math in JavaScript 9.3 User Input 9.2 Variables
 Standard 13.3 Looping 13.4 Branching
 Standard 1.1 Introduction to Programming With Karel 1.2 More About Karel 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 2.1 Hello World 2.2 Variables 2.3 User Input 2.4 Basic Math 2.6 Random Numbers 5.1 Booleans 5.2 If/Else Statements 5.3 Logical Operators 5.4 Comparison Operators 5.6 While Loops 5.7 The Break Statement 5.9 For Loops 8.1 Functions Challenges 9.1 Timers 9.2 Stopping Timers 9.3 Collisions 9.4 Mouse Click Events 9.5 More Mouse Events 9.6 Key Events 11.1 Breakout 26.2 Animation Practice 26.3 Crazy Ball Game
 Standard 1.1 Introduction to Programming With Karel 1.2 More About Karel 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 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math 3.6 Random Numbers 6.1 Booleans 6.2 If/Else Statements 6.3 Logical Operators 6.4 Comparison Operators 6.6 While Loops 6.7 The Break Statement 6.9 For Loops 9.1 Functions Challenges 10.1 Timers 10.2 Stopping Timers 10.3 Collisions 10.4 Mouse Click Events 10.5 More Mouse Events 10.6 Key Events 12.1 Breakout 24.3 Animation Practice 24.4 Crazy Ball Game
 Standard 1.1 Introduction to Programming With Karel 1.2 More About Karel 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 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math 3.6 Random Numbers 6.1 Booleans 6.2 If/Else Statements 6.3 Logical Operators 6.4 Comparison Operators 6.6 While Loops 6.7 The Break Statement 6.9 For Loops 9.1 Functions Challenges 11.1 Timers 11.2 Stopping Timers 11.3 Collisions 11.4 Mouse Click Events 11.5 More Mouse Events 11.6 Key Events 13.1 Breakout 17.3 Animation Practice 17.4 Crazy Ball Game
 Standard 1.3 The Rabbit Chase 1.4 Lost in Space 3.3 A Day at the Carnival 3.4 Under the Sea 5.1 Introduction to Karel 5.2 Karel's World 5.3 Functions 5.4 Multiple Functions 5.5 For Loops 5.6 Conditional Statements 5.7 If/Else Statements 5.8 While Loops 5.9 Karel Challenges 8.3 Variables 8.4 The Draw Loop 8.5 Color Transitions 8.6 Shape Transformations 8.7 Direction 8.8 Mouse Data 8.9 Keyboard Data 8.10 Project: Animate an Emoji 9.4 Intro to JavaScript 9.5 Variables 9.9 Your First Sprites 9.10 The Physics of Sprites
 Standard 1.3 The Rabbit Chase 1.4 Lost in Space 4.3 A Day at the Carnival 4.4 Under the Sea
 Standard 1.1 Introduction to Karel 1.2 Karel's World 1.3 Functions 1.4 Multiple Functions 1.5 For Loops 1.6 Conditional Statements 1.7 If/Else Statements 1.8 While Loops 1.9 Karel Challenges 4.3 Variables 4.4 The Draw Loop 4.5 Color Transitions 4.6 Shape Transformations 4.7 Direction 4.8 Mouse Data 4.9 Keyboard Data 4.10 Project: Animate an Emoji 5.4 Intro to JavaScript 5.5 Variables 5.9 Your First Sprites 5.10 The Physics of Sprites
 Standard 1.1 Intro to Python with Tracy the Turtle 1.3 Tracy's Grid World 2.2 Turning Tracy 2.3 For Loops 2.4 Turning Tracy Using Angles 3.1 Comments 3.2 Naming Guidelines 3.3 Functions 3.4 Artistic Effects 3.6 Top Down Design 5.1 Variables 5.5 User Input 5.6 Parameters 5.9 Using i in For Loops 5.10 Extended Loop Control 7.1 If Statements 7.2 If/Else Statements 8.1 Putting Together Control Structures 22.1 A Day at the Carnival 22.2 Under the Sea
 Standard 1.1 Intro to Python with Tracy the Turtle 1.3 Tracy's Grid World 2.2 Turning Tracy 2.3 For Loops 2.4 Turning Tracy Using Angles 3.1 Comments 3.2 Naming Guidelines 3.3 Functions 3.4 Artistic Effects 3.6 Top Down Design 5.1 Variables 5.5 User Input 5.6 Parameters 5.9 Using i in For Loops 5.10 Extended Loop Control 7.1 If Statements 7.2 If/Else Statements 8.1 Putting Together Control Structures
 Standard 1.4 Variables 2.1 The Draw Loop 2.2 Color Transitions 2.3 Shape Transformations 2.4 Direction 3.2 Mouse Data 3.3 Keyboard Data
 Standard 2.2 Intro to JavaScript 2.3 Variables 3.4 Your First Sprites 3.5 The Physics of Sprites 4.3 Booleans 4.4 If/Else Statements
 Standard 1.1 Introduction to Programming With Karel 1.2 More About Karel 1.3 Karel Can't Turn Right 2.1 Functions in Karel 2.3 The Main Function 2.4 Top Down Design and Decomposition in Karel 3.1 Commenting Your Code 3.2 Super Karel 3.3 For Loops 4.1 If Statements and Conditionals 4.2 If/Else Statements 5.1 While Loops 6.1 How to Indent Your Code 6.2 Control Structures Example 6.3 More Karel Examples and Testing 7.1 Challenge Problems 12.6 Random Numbers 12.1 Hello World 12.2 Variables 12.3 User Input 12.4 Basic Math
 Standard 13.10 Top Down Design 13.19 Putting Together Control Structures 13.17 If/ Else Statements 13.16 If Statements 13.15 Extended Loop Control 13.14 Using i in For Loops 13.13 Parameters 13.12 User Input 13.11 Variables 13.1 Intro to Python with Tracy the Turtle 13.9 Artistic Effects 13.8 Functions 13.7 Naming Guidelines 13.6 Comments 13.5 Turning Tracy Using Angles 13.4 For Loops 13.3 Turning Tracy 13.2 Tracy's Grid World
 Standard 3.1 Intro to Python with Tracy the Turtle 3.2 Tracy's Grid World 3.3 Turning Tracy 3.4 For Loops 3.5 Turning Tracy Using Angles 3.6 Comments 3.7 Naming Guidelines 3.8 Functions 3.9 Artistic Effects 3.10 Top Down Design 3.11 Variables 3.12 User Input 3.13 Parameters 3.14 Using i in For Loops 3.15 Extended Loop Control 3.16 If Statements 3.17 If/ Else Statements 3.19 Putting Together Control Structures
 Standard 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math in JavaScript 3.5 Using Graphics in JavaScript 6.15 Extended Loop Control 6.7 Naming Guidelines 6.12 User Input 6.3 Turning Tracy 6.2 Tracy's Grid World 6.19 Putting Together Control Structures 6.17 If/ Else Statements 6.16 If Statements 6.13 Parameters 6.14 Using i in For Loops 6.11 Variables 6.10 Top Down Design 6.6 Comments 6.8 Functions 6.9 Artistic Effects 6.4 For Loops 6.5 Turning Tracy Using Angles 6.1 Intro to Python with Tracy the Turtle
 Standard 7.4 Mathematical Operators 7.5 String Operators 7.8 Comparison Operators 7.9 Logical Operators 7.11 For Loops 7.12 Break and Continue 7.14 Functions 7.16 Namespaces in Functions 7.15 Functions and Parameters 7.17 Functions and Return Values 7.18 Exceptions
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 1.3 Turning Tracy 1.4 For Loops 1.5 Turning Tracy Using Angles 1.6 Comments 1.7 Naming Guidelines 1.8 Functions 1.9 Artistic Effects 1.10 Top Down Design 1.11 Variables 1.12 User Input 1.13 Parameters 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.19 Putting Together Control Structures 2.1 Printing in Python 2.2 Variables and Types 2.4 Mathematical Operators 2.5 String Operators 2.6 Comments 3.3 Comments & Pseudocode 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 4.5 Floating Point Numbers and Rounding 5.1 While Loops 5.2 For Loops 5.3 Break and Continue 5.4 Nested Control Structures 6.1 Functions 6.2 Functions and Parameters 6.3 Namespaces in Functions 6.4 Functions and Return Values 6.5 Exceptions 8.1 Indexing 8.2 Slicing 8.3 Immutability 8.4 Strings and For Loops 8.5 The in Keyword 8.6 String Methods 9.1 Tuples 9.2 Lists 9.3 For Loops and Lists 9.4 List Methods 10.1 2d Lists 10.2 List Comprehensions 10.3 Packing and Unpacking 10.4 Dictionaries 10.5 Equivalence vs. Identity 12.1 Arduino Challenges
 Standard 1.1 Introduction to Programming With Karel 1.2 More Basic Karel 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 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math in JavaScript 3.5 Using Graphics in JavaScript 5.3 Comments & Pseudocode 6.1 Booleans 6.2 Logical Operators 6.3 Comparison Operators 6.4 If Statements 6.5 For Loops in JavaScript 6.6 General For Loops 6.7 For Loop Practice 6.8 Random Numbers 6.9 While Loops 6.10 Loop and a Half 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 8.6 Local Variables and Scope 9.1 Functions Challenges 11.1 Timers 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
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 2.1 Turning Tracy 2.2 For Loops 2.3 Turning Tracy Using Angles 3.1 Comments 3.2 Naming Guidelines 3.3 Functions 3.4 Artistic Effects 3.5 Top Down Design 4.1 Variables 4.2 User Input 4.3 Parameters 4.4 Using i in For Loops 4.5 Extended Loop Control 5.3 Comments & Pseudocode 6.1 If Statements 6.2 If/ Else Statements 8.1 Putting Together Control Structures 9.1 micro:bit Challenges
 Standard 2.3 Comments & Pseudocode 10.1 micro:bit Challenges
 Standard 1.3 Comments & Pseudocode 3.1 micro:bit Challenges
 Standard 1.3 Comments & Pseudocode 3.1 Arduino Challenges
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 5.1 Hello World 5.2 Variables 5.3 User Input 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.2 Logical Operators 7.3 Comparison Operators 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 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.6 Timers 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 1.3 Turning Tracy 1.4 For Loops 1.5 Turning Tracy Using Angles 1.6 Comments 1.7 Naming Guidelines 1.8 Functions 1.9 Artistic Effects 1.10 Top Down Design 1.11 Variables 1.12 User Input 1.13 Parameters 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.19 Putting Together Control Structures 3.3 Comments & Pseudocode 15.1 micro:bit Challenges
 Standard 1.1 Introduction to Programming With Karel 1.2 More Basic Karel 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 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math in JavaScript 3.5 Using Graphics in JavaScript 5.1 Booleans 5.2 Logical Operators 5.3 Comparison Operators 5.4 If Statements 5.5 For Loops in JavaScript 5.6 General For Loops 5.7 For Loop Practice 5.8 Random Numbers 5.9 While Loops 5.10 Loop and a Half 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.6 Local Variables and Scope 8.1 Functions Challenges 9.1 Timers 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
 Standard 1.1 Introduction to Programming With Karel 1.2 More Basic Karel 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 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math in JavaScript 3.5 Using Graphics in JavaScript 5.1 Booleans 5.2 Logical Operators 5.3 Comparison Operators 5.4 If Statements 5.5 For Loops in JavaScript 5.6 General For Loops 5.7 For Loop Practice 5.8 Random Numbers 5.9 While Loops 5.10 Loop and a Half 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.6 Local Variables and Scope 8.1 Functions Challenges 9.1 Timers 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
 Standard 1.1 Introduction to Programming With Karel 1.2 More Basic Karel 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 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math in JavaScript 3.5 Using Graphics in JavaScript 5.1 Booleans 5.2 Logical Operators 5.3 Comparison Operators 5.4 If Statements 5.5 For Loops in JavaScript 5.6 General For Loops 5.7 For Loop Practice 5.8 Random Numbers 5.9 While Loops 5.10 Loop and a Half 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.6 Local Variables and Scope 9.1 Functions Challenges 9.1 Functions Challenges
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 2.1 Turning Tracy 2.2 For Loops 2.3 Turning Tracy Using Angles 3.1 Comments 3.2 Naming Guidelines 3.3 Functions 3.4 Artistic Effects 3.5 Top Down Design 4.1 Variables 4.2 User Input 4.3 Parameters 4.4 Using i in For Loops 4.5 Extended Loop Control 5.1 If Statements 5.2 If/ Else Statements 6.1 Putting Together Control Structures
 Standard 2.1 Intro to Python with Tracy the Turtle 2.2 Tracy's Grid World 2.3 Turning Tracy 2.4 For Loops 2.5 Turning Tracy Using Angles 2.6 Comments 2.7 Naming Guidelines 2.8 Functions 2.9 Artistic Effects 2.10 Top Down Design 2.11 Variables 2.12 User Input 2.13 Parameters 2.14 Using i in For Loops 2.15 Extended Loop Control 2.16 If Statements 2.17 If/ Else Statements 2.19 Putting Together Control Structures 3.1 Printing in Python 3.2 Variables and Types 3.4 Mathematical Operators 3.5 String Operators 3.6 Comments 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 4.5 Floating Point Numbers and Rounding 5.1 While Loops 5.2 For Loops 5.3 Break and Continue 5.4 Nested Control Structures 6.1 Functions 6.2 Functions and Parameters 6.3 Namespaces in Functions 6.4 Functions and Return Values 6.5 Exceptions 7.1 Indexing 7.2 Slicing 7.3 Immutability 7.4 Strings and For Loops 7.5 The in Keyword 7.6 String Methods 8.1 Tuples 8.2 Lists 8.3 For Loops and Lists 8.4 List Methods 9.1 2d Lists 9.2 List Comprehensions 9.3 Packing and Unpacking 9.4 Dictionaries 9.5 Equivalence vs. Identity
 Standard 6.1 Hello World 6.2 Variables 6.3 User Input 6.4 Basic Math in JavaScript 6.5 Booleans 6.6 Logical Operators 6.7 Comparison Operators 6.8 If Statements 6.9 For Loops in JavaScript 6.10 Functions and Parameters 1 6.11 Functions and Parameters 2 6.12 Functions and Return Values 1
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 5.1 Hello World 5.2 Variables 5.3 User Input 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.2 Logical Operators 7.3 Comparison Operators 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.8 Random Numbers 7.9 While Loops 7.10 Loop and a Half 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.6 Timers 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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.2 Hello World 6.3 Variables 6.4 User Input 6.5 Basic Math in JavaScript 6.6 Using Graphics in JavaScript 8.1 Booleans 8.2 Logical Operators 8.3 Comparison Operators 8.4 If Statements 8.5 For Loops in JavaScript 8.6 General For Loops 8.7 For Loop Practice 8.8 Random Numbers 8.9 While Loops 8.10 Loop and a Half 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 Timers 10.8 Random Circles 10.9 Random Ghosts 10.10 Bouncing Ball 10.11 Mouse Events: Mouse Clicked 18.1 Mouse Events: Mouse Moved 18.2 Drawing Lines 18.3 Key Events 18.4 Crazy Ball Game
 Standard 2.1 Intro to Python with Tracy the Turtle 2.2 Tracy's Grid World 2.3 Turning Tracy 2.4 For Loops 2.5 Turning Tracy Using Angles 2.6 Comments 2.7 Naming Guidelines 2.8 Functions 2.9 Artistic Effects 2.10 Top Down Design 2.12 Variables 2.13 User Input 2.14 Parameters 2.16 Using i in For Loops 2.17 Extended Loop Control 2.18 If Statements 2.19 If/ Else Statements 2.22 Putting Together Control Structures 5.1 Printing in Python 5.2 Variables and Types 5.4 Mathematical Operators 5.5 String Operators 5.6 Comments 6.1 Booleans 6.2 If Statements 6.3 Comparison Operators 6.4 Logical Operators 6.5 Floating Point Numbers and Rounding 7.1 While Loops 7.2 For Loops 7.3 Break and Continue 7.4 Nested Control Structures 8.1 Functions 8.2 Functions and Parameters 8.3 Namespaces in Functions 8.4 Functions and Return Values 8.5 Exceptions 9.1 Indexing 9.2 Slicing 9.3 Immutability 9.4 Strings and For Loops 9.5 The in Keyword 9.6 String Methods 10.1 Tuples 10.2 Lists 10.3 For Loops and Lists 10.4 List Methods 11.1 2d Lists 11.2 List Comprehensions 11.3 Packing and Unpacking 11.4 Dictionaries 11.5 Equivalence vs. Identity
 Standard 3.1 Introduction to Programming With Karel 3.2 More Basic Karel 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.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 6.1 Hello World 6.2 Variables 6.3 User Input 6.4 Basic Math in JavaScript 6.5 Using Graphics in JavaScript 8.1 Booleans 8.2 Logical Operators 8.3 Comparison Operators 8.4 If Statements 8.5 For Loops in JavaScript 8.6 General For Loops 8.7 For Loop Practice 8.8 Random Numbers 8.9 While Loops 8.10 Loop and a Half 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 Timers 10.7 Random Circles 10.8 Random Ghosts 10.9 Bouncing Ball 10.10 Mouse Events: Mouse Clicked 16.1 Mouse Events: Mouse Moved 16.2 Drawing Lines 16.3 Key Events 16.4 Crazy Ball Game
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 5.1 Hello World 5.2 Variables 5.3 User Input 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.2 Logical Operators 7.3 Comparison Operators 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 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.6 Timers 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 1.3 Turning Tracy 1.4 For Loops 1.5 Turning Tracy Using Angles 1.6 Comments 1.7 Naming Guidelines 1.8 Functions 1.9 Artistic Effects 1.10 Top Down Design 1.11 Variables 1.12 User Input 1.13 Parameters 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.19 Putting Together Control Structures 3.3 Comments & Pseudocode 15.1 micro:bit Challenges
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 5.1 Hello World 5.2 Variables 5.3 User Input 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.2 Logical Operators 7.3 Comparison Operators 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 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.6 Timers 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 1.3 Turning Tracy 1.4 For Loops 1.5 Turning Tracy Using Angles 1.6 Comments 1.7 Naming Guidelines 1.8 Functions 1.9 Artistic Effects 1.10 Top Down Design 1.11 Variables 1.12 User Input 1.13 Parameters 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.19 Putting Together Control Structures 3.3 Comments & Pseudocode 15.1 micro:bit Challenges
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 Hello World 6.2 Variables 6.3 User Input 6.4 Basic Math in JavaScript 6.5 Using Graphics in JavaScript 9.1 Booleans 9.2 Logical Operators 9.3 Comparison Operators 9.4 If Statements 9.5 For Loops in JavaScript 9.6 General For Loops 9.7 For Loop Practice 9.8 Random Numbers 9.9 While Loops 9.10 Loop and a Half 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.6 Timers 11.7 Random Circles 11.8 Random Ghosts 11.9 Bouncing Ball 11.10 Mouse Events: Mouse Clicked 17.1 Mouse Events: Mouse Moved 17.2 Drawing Lines 17.3 Key Events 17.4 Crazy Ball Game
 Standard 3.1 Intro to Python with Tracy the Turtle 3.2 Tracy's Grid World 3.3 Turning Tracy 3.4 For Loops 3.5 Turning Tracy Using Angles 3.6 Comments 3.7 Naming Guidelines 3.8 Functions 3.9 Artistic Effects 3.10 Top Down Design 3.11 Variables 3.12 User Input 3.13 Parameters 3.14 Using i in For Loops 3.15 Extended Loop Control 3.16 If Statements 3.17 If/ Else Statements 3.19 Putting Together Control Structures
 Standard 6.4 Branching 6.3 Looping
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 10.2 Hello World 10.3 Variables 10.4 User Input 10.5 Basic Math in JavaScript 10.6 Using Graphics in JavaScript 15.1 Booleans 15.2 Logical Operators 15.3 Comparison Operators 15.4 If Statements 15.5 For Loops in JavaScript 15.6 General For Loops 15.7 For Loop Practice 15.8 Random Numbers 15.9 While Loops 15.10 Loop and a Half
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 5.1 Hello World 5.2 Variables 5.3 User Input 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 16.4 Crazy Ball Game 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.4 Functions and Return Values 1 17.5 Functions and Return Values 2 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 14.1 Booleans
 Standard 3.2 Printing in Python 3.3 Variables and Types 3.5 Mathematical Operators 3.6 String Operators 3.7 Comments 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 4.5 Floating Point Numbers and Rounding 5.1 While Loops 5.2 For Loops 5.3 Break and Continue 5.4 Nested Control Structures 6.1 Functions 6.2 Functions and Parameters 6.3 Namespaces in Functions 6.4 Functions and Return Values 6.5 Exceptions 8.1 Indexing 8.2 Slicing 8.3 Immutability 8.4 Strings and For Loops 8.5 The in Keyword 8.6 String Methods 9.1 Tuples 9.2 Lists 9.3 For Loops and Lists 9.4 List Methods 9.5 2d Lists 12.4 Equivalence vs. Identity 12.1 List Comprehensions 12.2 Packing and Unpacking 12.3 Dictionaries 18.1 Intro to Python with Tracy the Turtle 18.10 Top Down Design 18.2 Tracy's Grid World 18.3 Turning Tracy 18.4 For Loops 18.5 Turning Tracy Using Angles 18.6 Comments 18.7 Naming Guidelines 18.8 Functions 18.9 Artistic Effects 18.19 Putting Together Control Structures 18.11 Variables 18.12 User Input 18.13 Parameters 18.14 Using i in For Loops 18.15 Extended Loop Control 18.16 If Statements 18.17 If/ Else Statements
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 5.1 Hello World 5.2 Variables 5.3 User Input 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.2 Logical Operators 7.3 Comparison Operators 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 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.6 Timers 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 1.3 Turning Tracy 1.4 For Loops 1.5 Turning Tracy Using Angles 1.6 Comments 1.7 Naming Guidelines 1.8 Functions 1.9 Artistic Effects 1.10 Top Down Design 1.11 Variables 1.12 User Input 1.13 Parameters 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.19 Putting Together Control Structures 3.3 Comments & Pseudocode 10.1 micro:bit Challenges
 Standard 1.1 Introduction to Programming With Karel 1.2 More About Karel 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 Hello World 2.2 Variables 2.3 User Input 2.4 Basic Math 2.6 Random Numbers 4.1 Booleans 4.2 If/Else Statements 4.3 Logical Operators 4.4 Comparison Operators 4.6 While Loops 4.7 The Break Statement 4.9 For Loops 6.1 Timers 6.2 Stopping Timers 6.3 Collisions 6.4 Mouse Click Events 6.5 More Mouse Events 6.6 Key Events 25.1 Functions Challenges 27.1 Breakout 18.1 Challenge Problems 21.3 Animation Practice 21.4 Crazy Ball Game
 Standard 1.3 The Rabbit Chase 1.4 Lost in Space
 Standard 1.3 A Day at the Carnival 1.4 Under the Sea
 Standard 1.1 Introduction to Karel 1.2 Karel's World 1.3 Functions 1.4 Multiple Functions 1.5 For Loops 1.6 Conditional Statements 1.7 If/Else Statements 1.8 While Loops 1.9 Karel Challenges 3.3 Variables 3.4 The Draw Loop 3.5 Color Transitions 3.6 Shape Transformations 3.7 Direction 3.8 Mouse Data 3.9 Keyboard Data 3.10 Project: Animate an Emoji 4.4 Intro to JavaScript 4.5 Variables 4.9 Your First Sprites 4.10 The Physics of Sprites
 Standard 1.1 Introduction to Programming With Karel 1.2 More Basic Karel 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.2 Hello World 8.3 Variables 8.4 User Input 8.5 Basic Math in JavaScript 8.6 Using Graphics in JavaScript 10.1 Booleans 10.2 Logical Operators 10.3 Comparison Operators 10.4 If Statements 10.5 For Loops in JavaScript 10.6 General For Loops 10.7 For Loop Practice 10.8 Random Numbers 10.9 While Loops 10.10 Loop and a Half 12.1 Functions and Parameters 1 12.2 Functions and Parameters 2 12.3 Functions and Parameters 3 12.4 Functions and Return Values 1 12.5 Functions and Return Values 2 12.6 Local Variables and Scope 13.1 Functions Challenges 21.1 Timers 21.2 Random Circles 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
 Standard 1.1 Introduction to Programming With Karel 1.2 More Basic Karel 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.2 Hello World 8.3 Variables 8.4 User Input 8.5 Basic Math in JavaScript 8.6 Using Graphics in JavaScript 10.1 Booleans 10.2 Logical Operators 10.3 Comparison Operators 10.4 If Statements 10.5 For Loops in JavaScript 10.6 General For Loops 10.7 For Loop Practice 10.8 Random Numbers 10.9 While Loops 10.10 Loop and a Half 12.1 Functions and Parameters 1 12.2 Functions and Parameters 2 12.3 Functions and Parameters 3 12.4 Functions and Return Values 1 12.5 Functions and Return Values 2 12.6 Local Variables and Scope 13.1 Functions Challenges 21.1 Timers 21.2 Random Circles 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
 Standard 1.5 Timers 1.6 Stopping Timers 1.7 Collisions 1.8 Mouse Click Events 1.9 More Mouse Events 1.10 Key Events 4.2 Printing in Python 4.3 Variables and Types 4.5 Mathematical Operators 4.6 String Operators 4.7 Comments 5.1 Functions 5.2 Functions and Parameters 5.3 Namespaces in Functions 5.4 Functions and Return Values 6.1 Tuples 6.2 Lists 6.3 For Loops and Lists 6.4 List Methods 6.5 2d Lists 6.6 Dictionaries
 Standard 1.1 Introduction to Programming With Karel 1.2 More Basic Karel 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 4.1 Hello World 4.2 Variables 4.3 User Input 4.4 Basic Math in JavaScript 4.5 Using Graphics in JavaScript 6.1 Booleans 6.2 Logical Operators 6.3 Comparison Operators 6.4 If Statements 6.5 For Loops in JavaScript 6.6 General For Loops 6.7 For Loop Practice 6.8 Random Numbers 6.9 While Loops 6.10 Loop and a Half 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 8.6 Local Variables and Scope 9.1 Functions Challenges 10.1 Timers 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
 Standard 23.3 Looping 23.4 Branching
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 1.3 Turning Tracy 1.4 For Loops 1.5 Turning Tracy Using Angles 1.6 Comments 1.7 Naming Guidelines 1.8 Functions 1.9 Artistic Effects 1.10 Top Down Design 1.11 Variables 1.12 User Input 1.13 Parameters 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.19 Putting Together Control Structures 3.3 Comments & Pseudocode 15.1 micro:bit Challenges
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 5.1 Hello World 5.2 Variables 5.3 User Input 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.2 Logical Operators 7.3 Comparison Operators 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 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.6 Timers 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 5.1 Hello World 5.2 Variables 5.3 User Input 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.2 Logical Operators 7.3 Comparison Operators 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.8 Random Numbers 7.9 While Loops 7.10 Loop and a Half 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.6 Timers 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 1.3 Turning Tracy 1.4 For Loops 1.5 Turning Tracy Using Angles 1.6 Comments 1.7 Naming Guidelines 1.8 Functions 1.9 Artistic Effects 1.10 Top Down Design 1.11 Variables 1.12 User Input 1.13 Parameters 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.19 Putting Together Control Structures 3.3 Comments & Pseudocode 15.1 micro:bit Challenges
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 5.1 Hello World 5.2 Variables 5.3 User Input 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.2 Logical Operators 7.3 Comparison Operators 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 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.6 Timers 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 1.3 Turning Tracy 1.4 For Loops 1.5 Turning Tracy Using Angles 1.6 Comments 1.7 Naming Guidelines 1.8 Functions 1.9 Artistic Effects 1.10 Top Down Design 1.11 Variables 1.12 User Input 1.13 Parameters 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.19 Putting Together Control Structures 3.3 Comments & Pseudocode 15.1 micro:bit Challenges
 Standard 6.1 Intro to Python with Tracy the Turtle 6.2 Tracy's Grid World 6.3 Turning Tracy 6.4 For Loops 6.5 Turning Tracy Using Angles 6.6 Functions 6.7 Artistic Effects 6.8 Top Down Design 6.10 Variables 6.11 User Input 6.12 Parameters 6.13 If Statements 6.14 If/ Else Statements 7.13 Functions 7.12 For Loops 7.11 While Loops 7.10 Floating Point Numbers and Rounding 7.9 Logical Operators 7.8 Comparison Operators 7.7 If Statements 7.6 Booleans 7.5 String Operators 7.4 Mathematical Operators 7.2 Variables and Types 7.1 Printing in Python 8.8 If/Else Statements 8.12 For Loops 8.11 While Loops 8.10 Comparison Operators 8.9 Logical Operators 8.7 Booleans 8.5 Random Numbers 8.4 Basic Math 8.3 User Input 8.2 Variables 8.1 Hello World
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 5.1 Hello World 5.2 Variables 5.3 User Input 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.2 Logical Operators 7.3 Comparison Operators 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 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.6 Timers 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 1.3 Turning Tracy 1.4 For Loops 1.5 Turning Tracy Using Angles 1.6 Comments 1.7 Naming Guidelines 1.8 Functions 1.9 Artistic Effects 1.10 Top Down Design 1.11 Variables 1.12 User Input 1.13 Parameters 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.19 Putting Together Control Structures 3.3 Comments & Pseudocode 15.1 micro:bit Challenges
 Standard 2.1 Hello World 2.2 Variables 2.3 User Input 2.4 Basic Math in JavaScript 2.5 Using Graphics in JavaScript
 Standard 2.1 Hello World 2.2 Variables 2.3 User Input 2.4 Basic Math in JavaScript 2.5 Using Graphics in JavaScript
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 1.3 Turning Tracy 1.4 For Loops 1.5 Turning Tracy Using Angles 1.6 Comments 1.7 Naming Guidelines 1.8 Functions 1.9 Artistic Effects 1.10 Top Down Design 1.11 Variables 1.12 User Input 1.13 Parameters 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.19 Putting Together Control Structures 4.3 Comments & Pseudocode 7.1 micro:bit Challenges
 Standard 2.1 Introduction to Programming With Karel 2.2 More Basic Karel 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.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 5.1 Hello World 5.2 Variables 5.3 User Input 5.4 Basic Math in JavaScript 5.5 Using Graphics in JavaScript 7.1 Booleans 7.2 Logical Operators 7.3 Comparison Operators 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 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.6 Timers 9.7 Random Circles 9.8 Random Ghosts 9.9 Bouncing Ball 9.10 Mouse Events: Mouse Clicked 15.1 Mouse Events: Mouse Moved 15.2 Drawing Lines 15.3 Key Events 15.4 Crazy Ball Game
 Standard 1.1 Intro to Python with Tracy the Turtle 1.2 Tracy's Grid World 1.3 Turning Tracy 1.4 For Loops 1.5 Turning Tracy Using Angles 1.6 Comments 1.7 Naming Guidelines 1.8 Functions 1.9 Artistic Effects 1.10 Top Down Design 1.11 Variables 1.12 User Input 1.13 Parameters 1.14 Using i in For Loops 1.15 Extended Loop Control 1.16 If Statements 1.17 If/ Else Statements 1.19 Putting Together Control Structures 3.3 Comments & Pseudocode 15.1 micro:bit Challenges
 Standard 3.1 Intro to Python with Tracy the Turtle 3.2 Tracy's Grid World 3.3 Turning Tracy 3.4 For Loops 3.5 Turning Tracy Using Angles 3.6 Comments 3.7 Naming Guidelines 3.8 Functions 3.9 Artistic Effects 3.10 Top Down Design 3.11 Variables 3.12 User Input 3.13 Parameters 3.14 Using i in For Loops 3.15 Extended Loop Control 3.16 If Statements 3.17 If/ Else Statements 3.19 Putting Together Control Structures
 Standard 3.1 Intro to Python with Tracy the Turtle 3.2 Tracy's Grid World 3.3 Turning Tracy 3.4 For Loops 3.5 Turning Tracy Using Angles 3.6 Comments 3.7 Naming Guidelines 3.8 Functions 3.9 Artistic Effects 3.10 Top Down Design 3.12 Variables 3.13 User Input 3.14 Parameters 3.15 Using i in For Loops 3.16 Extended Loop Control 3.17 If Statements 3.18 If/ Else Statements 3.20 Putting Together Control Structures
 Standard 2.1 Introduction to Programming With Karel 2.2 More About Karel 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.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 3.1 Hello World 3.2 Variables 3.3 User Input 3.4 Basic Math 3.6 Random Numbers 7.1 Booleans 7.2 If/Else Statements 7.3 Logical Operators 7.4 Comparison Operators 7.6 While Loops 7.7 The Break Statement 7.9 For Loops 13.1 Timers 13.2 Stopping Timers 13.3 Collisions 13.4 Mouse Click Events 13.5 More Mouse Events 13.6 Key Events
 Standard 2.1 Introduction to Karel 2.2 Karel's World 2.3 Functions 2.4 Multiple Functions 2.5 For Loops 2.6 Conditional Statements 2.7 If/Else Statements 2.8 While Loops 2.9 Karel Challenges 5.3 Variables 5.4 The Draw Loop 5.5 Color Transitions 5.6 Shape Transformations 5.7 Direction 5.8 Mouse Data 5.9 Keyboard Data 5.10 Project: Animate an Emoji
 Standard 2.1 Introduction to Programming With Karel 2.2 More About Karel 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 4.1 Hello World 4.2 Variables 4.3 User Input 4.4 Basic Math 4.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 8.1 Timers 8.2 Stopping Timers 8.3 Collisions 8.4 Mouse Click Events 8.5 More Mouse Events 8.6 Key Events 21.1 Functions Challenges 23.1 Breakout 14.1 Challenge Problems 17.3 Animation Practice 17.4 Crazy Ball Game