### Please enable JavaScript to use CodeHS

#### Outline

1. Programming with Karel
1.1 Introduction to Programming With Karel
Video 1.1.1 Introduction to Programming With Karel
Check for Understanding 1.1.2 Karel Commands Quiz
Example 1.1.3 Our First Karel Program
Exercise 1.1.4 Your First Karel Program
Exercise 1.1.5 Short Stack
Check for Understanding 1.2.2 More Basic Karel Quiz
Example 1.2.3 Tennis Ball Square
Exercise 1.2.4 Make a Tower
Exercise 1.2.5 Pyramid of Karel
1.3 Karel Can't Turn Right
Video 1.3.1 Karel Can't Turn Right
Check for Understanding 1.3.2 Karel Can't Turn Right Quiz
Example 1.3.3 Tower and Turn Right
Exercise 1.3.4 Slide Karel
Exercise 1.3.5 Fireman Karel
1.4 Functions in Karel
Video 1.4.1 Functions in Karel
Check for Understanding 1.4.2 Functions in Karel Quiz
Example 1.4.3 Turn Around
Exercise 1.4.4 Pancakes
Exercise 1.4.5 Mario Karel
1.5 The Main Function
Video 1.5.1 The Main Function
Check for Understanding 1.5.2 The Main Function Quiz
Example 1.5.3 Tower with Main Function
Exercise 1.5.4 Pancakes with Main
1.6 Top Down Design and Decomposition in Karel
Video 1.6.1 Top Down Design and Decomposition
Check for Understanding 1.6.2 Top Down Design and Decomposition Quiz
Video 1.6.3 Top Down Design and Decomposition in Karel
Example 1.6.4 Hurdle Karel
Exercise 1.6.5 The Two Towers
Check for Understanding 1.7.2 Commenting Your Code Quiz
Example 1.7.3 Hurdle Karel
Exercise 1.7.4 The Two Towers + Comments
1.8 Super Karel
Video 1.8.1 Super Karel
Check for Understanding 1.8.2 Super Karel Quiz
Example 1.8.3 Hurdle Karel (with Super Karel)
Exercise 1.8.4 The Two Towers + Super Karel
1.9 For Loops
Video 1.9.1 For Loops
Check for Understanding 1.9.2 For Loops Quiz
Example 1.9.3 Repeated Move
Example 1.9.4 Put Down Tennis Balls
Exercise 1.9.5 Take 'em All
Exercise 1.9.6 Dizzy Karel
Exercise 1.9.7 Ball in Each Corner
Exercise 1.9.8 Lots of Hurdles
1.10 If Statements and Conditionals
Video 1.10.1 If Statements and Conditionals
Check for Understanding 1.10.2 If Statements and Conditionals Quiz
Example 1.10.3 If Statements and Conditionals
Example 1.10.4 Safe Take Ball
Exercise 1.10.5 Is There a Ball?
Exercise 1.10.6 Don't Crash!
1.11 If/Else Statements
Video 1.11.1 If/Else Statements
Check for Understanding 1.11.2 If/Else Statements Quiz
Example 1.11.3 If/Else Statements
Example 1.11.4 Opposite Day
Exercise 1.11.5 Right Side Up
Exercise 1.11.6 Right vs. Left Square
1.12 While Loops
Video 1.12.1 While Loops
Check for Understanding 1.12.2 While Loops Quiz
Example 1.12.3 Move to Wall
Exercise 1.12.5 Lay Row of Tennis Balls
Exercise 1.12.6 Big Tower
1.13 How to Indent Your Code
Video 1.13.1 How to Indent Your Code
Check for Understanding 1.13.2 How to Indent Your Code Quiz
Example 1.13.3 Dance and Clean Karel
Exercise 1.13.4 Diagonal
Exercise 1.13.5 Staircase
1.14 Control Structures Example
Video 1.14.1 Control Structures Example
Check for Understanding 1.14.2 Control Structures Example Quiz
Example 1.14.3 Cleanup Karel
Exercise 1.14.4 Random Hurdles
1.15 More Karel Examples and Testing
Video 1.15.1 More Karel Examples and Testing
Example 1.15.2 Move Tennis Ball Stack
Video 1.15.3 Live Coding: Climbing Karel
Example 1.15.4 Climbing Karel
Check for Understanding 1.15.5 Quiz: Which Control Structure?
Exercise 1.15.6 Opposite Corner
1.16 Challenge Problems
Challenge 1.16.1 Fetch
Challenge 1.16.2 Racing Karel
Challenge 1.16.3 Tower Builder
Challenge 1.16.4 Super Cleanup Karel
Challenge 1.16.5 Double Tennis Balls
1.17 Programming with Karel Quiz
Unit Quiz 1.17.1 Programming with Karel Quiz
2. JavaScript Basics
2.1 Hello World
Video 2.1.1 Hello World
Check for Understanding 2.1.2 Hello World Quiz
Example 2.1.3 Hello World
Exercise 2.1.4 Your Name and Hobby
Exercise 2.1.5 ASCII Animals
2.2 Variables
Video 2.2.1 Variables
Video 2.2.2 Live Coding: Variables
Check for Understanding 2.2.3 Variables Quiz
Example 2.2.4 Basic Variables
Exercise 2.2.5 Daily Activities
Debugging 2.2.6 Debugging Variables
2.3 User Input
Video 2.3.1 User Input
Check for Understanding 2.3.2 User Input Quiz
Example 2.3.3 Basic User Input
Exercise 2.3.4 Dinner Plans
2.4 Basic Math
Video 2.4.1 Basic Math
Check for Understanding 2.4.2 Basic Math Quiz
Example 2.4.3 Simple Calculator
Example 2.4.4 Dollars to Pounds
Example 2.4.5 Dividing Up Groups
Exercise 2.4.6 T-Shirt Shop
Exercise 2.4.7 Running Speed
2.5 Collaborative Programming
Video 2.5.1 Pair-Programming
Check for Understanding 2.5.2 Pair-Programming
Connection 2.5.3 Why Practice Pair-Programming?
Free Response 2.5.4 Pair-Programming Reflection
2.6 Random Numbers
Video 2.6.1 Random Numbers
Check for Understanding 2.6.2 Random Numbers Quiz
Example 2.6.3 Rolling a Die
Exercise 2.6.4 Treasure Chest Loot
Exercise 2.6.5 Multiplication Practice
2.7 Basic Functions
Video 2.7.1 Basic Functions
Notes 2.7.2 Variables in Functions
Quiz 2.7.3 Basic Functions Quiz
Example 2.7.4 Function Flow
Exercise 2.7.6 ASCII Karel
2.8 JavaScript Basics Quiz
Unit Quiz 2.8.1 JavaScript Basics Quiz
3. The Canvas and Graphics
3.1 Intro to the Canvas and Graphics
Video 3.1.1 Intro to Canvas and Graphics
Notes 3.1.2 Debug Mode for Positioning
Video 3.1.3 Live Coding: Circle and Rectangle
Connection 3.1.4 Canvas Coordinates
Quiz 3.1.5 Canvas and Graphics Quiz
Example 3.1.6 Creating a Circle
Example 3.1.7 A Circle and a Rectangle
Exercise 3.1.8 A Ball in a Box
Exercise 3.1.9 Raise the Flag
3.2 More Graphics Objects
Video 3.2.1 More Graphics Objects
Video 3.2.2 Live Coding: More Graphics Objects
Quiz 3.2.3 Graphics Objects Quiz
Example 3.2.4 Cute Animals
Example 3.2.5 Greetings, Earth!
Exercise 3.2.6 Exploration: XY Plot
Exercise 3.2.8 Saturday Mornings
3.3 Positioning Graphics Objects
Video 3.3.1 Positioning Graphics Objects
Quiz 3.3.2 Positioning Quiz
Example 3.3.3 8 Ball
Exercise 3.3.4 Color the Rainbow
Challenge 3.3.5 Create Your Own Plant!
3.4 JavaScript Graphics Quiz
Quiz 3.4.1 JavaScript Graphics Quiz
4. Graphics Challenges
4.1 Graphics Challenges
Challenge 4.1.1 Ghost
Challenge 4.1.2 Fried Egg
Challenge 4.1.3 Draw Something
5. Control Structures
5.1 Booleans
Video 5.1.1 Booleans
Check for Understanding 5.1.2 Booleans Quiz
Example 5.1.3 Boolean Exploration
Exercise 5.1.4 Do You Have a Dog?
Free Response 5.1.5 Booleans are Questions
Exercise 5.1.6 Best Day Ever
5.2 If/Else Statements
Video 5.2.1 If Statements
Check for Understanding 5.2.2 If Statements Quiz
Example 5.2.3 Are You Logged In?
Exercise 5.2.4 Is It Raining?
Exercise 5.2.5 Mood Playlist
5.3 Logical Operators
Video 5.3.1 Logical Operators
Check for Understanding 5.3.2 Logical Operators Quiz
Example 5.3.3 Light Switch
Example 5.3.4 Harry Potter
Example 5.3.6 Logical Operators Game
Exercise 5.3.8 Switching Players
Exercise 5.3.9 A Day of Decisions
5.4 Comparison Operators
Video 5.4.1 Comparison Operators
Check for Understanding 5.4.2 Comparison Operators Quiz
Example 5.4.3 Great Names
Example 5.4.5 Even and Odd
Exercise 5.4.6 Rolling Dice
Exercise 5.4.7 Teenagers
Exercise 5.4.8 Rocket Launch Requirements
Exercise 5.4.9 Trivia Game
5.5 Graphics and Conditionals
Notes 5.5.1 Graphics and Conditionals
Example 5.5.2 Circle or Rectangle?
Exercise 5.5.3 Correct or Incorrect?
Notes 5.5.4 Else If Statements
Example 5.5.5 Conditional Circle Color
Exercise 5.5.6 Odd or Even Shapes
Quiz 5.5.7 Graphics and Conditionals Quiz
Challenge 5.5.8 Interactive Modern Art
5.6 While Loops
Video 5.6.1 While Loops
Check for Understanding 5.6.2 While Loops Quiz
Example 5.6.3 While Loop Countdown
Debugging 5.6.4 Debugging: Best Name Ever
Exercise 5.6.5 Level Up
Exercise 5.6.6 Inventory
5.7 The Break Statement
Video 5.7.1 The Break Statement
Check for Understanding 5.7.2 The Break Statement Quiz
Free Response 5.7.4 Break Statement Reflection
Exercise 5.7.5 Snake Eyes
Exercise 5.7.7 Riddle Machine
5.8 While Loops and Graphics
Notes 5.8.1 While Loops and Graphics
Example 5.8.2 Lots of Circles
Example 5.8.3 Corners on Corners
Exercise 5.8.4 Concentric Circles
Debugging 5.8.5 Debugging: Circle Positions
Exercise 5.8.6 Growing Squares
5.9 For Loops
Video 5.9.1 For Loops
Example 5.9.2 For Loop Exploration
Exercise 5.9.3 Chalkboard
Example 5.9.4 Count By Twos
Example 5.9.5 Eating Apples
Debugging 5.9.6 Countdown by Sevens
Check for Understanding 5.9.7 For Loops Quiz
Exercise 5.9.8 Lives Left
Example 5.9.9 For Loop Sum
Exercise 5.9.10 Jukebox
5.10 For Loops and Graphics
Notes 5.10.1 For Loops and Graphics
Example 5.10.2 Lots of Circles Revisited
Exercise 5.10.3 Exploration: Confetti
Notes 5.10.4 Using i to Position Objects and Adjust Size
Example 5.10.5 Horizontal Stripes #1: Using i to Adjust Position
Example 5.10.6 Horizontal Stripes #2: Using i to Adjust Size
Debugging 5.10.7 Debugging: Colorful Bullseye
Exercise 5.10.8 Caterpillar
5.11 Javascript Control Structures Quiz
Unit Quiz 5.11.1 JavaScript Control Structures Quiz
6. Control Structures Challenges
6.1 Control Structures Challenges
Challenge 6.1.1 Guessing Game
Challenge 6.1.2 Landscape Generator
Challenge 6.1.3 Exploring RGB Color Codes
7. Functions
7.1 Parameters
Video 7.1.1 Parameters
Video 7.1.2 Live Coding: Parameters
Quiz 7.1.3 Parameters Quiz
Example 7.1.4 Greetings
Example 7.1.5 Slope of a Line
Example 7.1.6 Draw Lots of Circles!
Exercise 7.1.7 Area of Triangle
Exercise 7.1.8 Rainbow Revisited
Exercise 7.1.9 Cityscape
7.2 Return Values
Video 7.2.1 Return Values
Quiz 7.2.2 Return Values Quiz
Example 7.2.3 Mathematical Returns
Example 7.2.4 Offscreen Graphics
Exercise 7.2.5 Max
Exercise 7.2.6 Overlapping Graphics
Exercise 7.2.7 Is It Even?
7.3 Default Parameter Values
Video 7.3.1 Default Parameter Values
Quiz 7.3.2 Default Parameter Values Quiz
Example 7.3.3 Default Printing
Debugging 7.3.4 Farming International
Exercise 7.3.5 Compound Interest
Exercise 7.3.6 Default Face
7.4 Variable Scopes
Video 7.4.1 Variable Scope
Video 7.4.2 Live Coding: Variable Scope
Quiz 7.4.3 Variable Scope Quiz
Example 7.4.4 Scope of X
Exercise 7.4.5 Exploration: Scope of Ball
Free Response 7.4.6 Scope Reflection
Challenge 7.4.7 Choose Wisely Game
7.5 Functions Quiz
Unit Quiz 7.5.1 Functions and Parameters Quiz
8. Functions Challenges
8.1 Functions Challenges
Challenge 8.1.1 Global Travel Assistant
Challenge 8.1.2 Balloons
Challenge 8.1.3 Ghost Invasion!
9. Animation and Games
9.1 Timers
Video 9.1.1 Timers
Check for Understanding 9.1.2 Timers Quiz
Example 9.1.3 Moving Ball
Example 9.1.4 Magic 8 Ball
Exercise 9.1.5 Crazy Ball
Exercise 9.1.6 Paint Splatter
Notes 9.1.7 Project: Evasion (Timers)
Free Response 9.1.8 Project Info and Links
9.2 Stopping Timers
Video 9.2.1 Stopping Timers
Check for Understanding 9.2.2 Stop Timer Quiz
Example 9.2.3 Random Circles
Exercise 9.2.4 Growing Circle
Exercise 9.2.5 Brick Wall
Notes 9.2.6 Project: Evasion (Stop Timers)
9.3 Collisions
Video 9.3.1 Collisions
Video 9.3.2 Live Coding: Collisions
Check for Understanding 9.3.3 Collisions Quiz
Example 9.3.4 Bouncing Ball
Exercise 9.3.5 Collision Simulation
Exercise 9.3.6 Carnival Game
Notes 9.3.7 Project: Evasion (Collisions)
9.4 Mouse Click Events
Video 9.4.1 Mouse Click Events
Check for Understanding 9.4.2 Mouse Click Quiz
Example 9.4.3 Click For Circles
Exercise 9.4.4 Pausing the Carnival Game
Exercise 9.4.5 Dripping Paint
Notes 9.4.6 Project: Evasion (Mouse Click)
9.5 More Mouse Events
Video 9.5.1 More Mouse Events
Check for Understanding 9.5.2 More Mouse Events Quiz
Example 9.5.3 Simple Painting
Example 9.5.4 Painting with Color
Exercise 9.5.5 Coordinates
Exercise 9.5.6 Target
Exercise 9.5.7 Drag and Drop
Notes 9.5.8 Project: Evasion (More Mouse)
9.6 Key Events
Video 9.6.1 Key Events
Check for Understanding 9.6.2 Key Events Quiz
Example 9.6.3 Keyboard Character
Exercise 9.6.4 Basic Snake
Notes 9.6.5 Project: Evasion (Key Events)
Free Response 9.6.6 Project Reflection
9.7 Animation and Games Quiz
Unit Quiz 9.7.1 Animation and Games Quiz
10. Animation Challenges
10.1 Animation Challenges
Challenge 10.1.2 Increasing Number of Shapes
11. Project: Breakout
11.1 Breakout
Notes 11.1.1 Breakout Introduction
Challenge 11.1.2 Bricks
Challenge 11.1.4 Collisions
12. Project: Snake
12.1 Snake Game
Challenge 12.1.1 A Growing Snake
Challenge 12.1.2 Collisions
Challenge 12.1.4 Finishing Touches
13. Data Structures: Arrays
13.1 Intro to Arrays
Video 13.1.1 Intro to Arrays
Notes 13.1.2 When to Use Arrays?
Check for Understanding 13.1.3 Intro to Arrays Quiz
Example 13.1.4 Array Basics
Exercise 13.1.5 Exploration: A Boxy Array
Exercise 13.1.6 List of Places to Travel
Exercise 13.1.7 Top Websites
13.2 Adding & Removing from an Array
Video 13.2.1 Adding & Removing from an Array
Check for Understanding 13.2.2 Adding & Removing from an Array Quiz
Notes 13.2.3 A Note About Arrays as Parameters
Example 13.2.4 Temperature Array
Exercise 13.2.5 Exploration: Creating a To-Do List
Exercise 13.2.6 Stacking Barrels
Exercise 13.2.7 Key Logging
13.3 Iterating Through an Array
Video 13.3.1 Iterate Through an Array
Check for Understanding 13.3.2 Iterate Through an Array Quiz
Example 13.3.3 Print Shopping Lists
Debugging 13.3.4 Test Average
Exercise 13.3.5 Reverse List
Exercise 13.3.6 Evens Only List
Challenge 13.3.7 Dice Roll Probabilities
Free Response 13.3.8 Dice Probability Reflection
13.4 Array Iteration with Graphics
Notes 13.4.1 Array Iteration with Graphics
Quiz 13.4.2 Array Iteration with Graphics Quiz
Example 13.4.3 Snow Storm
Exercise 13.4.4 Exploration: Changing Properties
Exercise 13.4.5 Draw a Barcode
Exercise 13.4.6 Wind Turbines
Challenge 13.4.7 Parallax Challenge
13.5 Array Methods
Notes 13.5.1 Array Methods
Example 13.5.2 Email List
Example 13.5.3 Weekly Temperatures
Exercise 13.5.5 Mutual Friends
Challenge 13.5.6 Scientific Data
14. Data Structures: Objects
14.1 Intro to Objects
Video 14.1.1 Intro to Objects
Check for Understanding 14.1.2 Intro to Objects Quiz
Example 14.1.3 Phonebook
Exercise 14.1.4 Movie Database
Video 14.1.5 Object Literals & Properties
Example 14.1.6 Car Objects
Exercise 14.1.7 Two Player
Exercise 14.1.8 Shopping Cart
14.2 Graphic Objects
Video 14.2.1 Graphic Objects
Notes 14.2.2 A Note About Objects as Parameters
Example 14.2.3 Super Bouncers
Example 14.2.4 Falling Blocks
Exercise 14.2.5 Exploration: Our Solar System
Exercise 14.2.6 Fireflies
Free Response 14.2.7 Firefly Reflection
Challenge 14.2.8 Level 1 Knight
14.3 Object Methods
Video 14.3.1 Object Methods
Quiz 14.3.2 Object Methods Quiz
Example 14.3.3 Party Ball
Exercise 14.3.4 Exploration: Digi Pet
Exercise 14.3.5 Level 2 Knight
Exercise 14.3.6 Bank Account
14.4 Iterating Through an Object
Video 14.4.1 Iterating Through an Object
Check for Understanding 14.4.2 Iterating Through an Object Quiz
Notes 14.4.3 Property or Method?
Example 14.4.4 Phonebook Extended
Example 14.4.5 Bouncing Emoji
Exercise 14.4.6 Starry Night
Exercise 14.4.7 Let's Go Birding
Exercise 14.4.8 Asteroids
14.5 Object Constructors
Video 14.5.1 Object Constructors
Quiz 14.5.2 Object Constructors Quiz
Example 14.5.3 New Person
Example 14.5.4 CodeHS Graphics are Objects
Debugging 14.5.5 Musical Instruments
Exercise 14.5.6 Level 3 Knight
Exercise 14.5.7 Bank Account Constructor
Challenge 14.5.8 Hobby Constructors
Notes 14.5.9 Advanced Extension: Prototypes and Inheritance
15. Project: Tic Tac Toe
15.1 Tic Tac Toe
Challenge 15.1.1 Tic Tac Toe: Part 1
Challenge 15.1.2 Tic Tac Toe: Part 2
Challenge 15.1.3 Tic Tac Toe: Full Game
16. Project: Helicopter Game
16.1 Game Design: Helicopter
Video 16.1.1 Introduction to Helicopter
16.2 Basics
Video 16.2.1 Moving the Helicopter
Exercise 16.2.2 Moving the Helicopter
Video 16.2.5 Smoother Movement
Exercise 16.2.6 Smoother Movement
16.3 Improvements
Video 16.3.1 Colliding with Walls
Exercise 16.3.2 Wall Collisions
Video 16.3.3 Colliding with Obstacles
Exercise 16.3.4 Obstacle Collisions
Video 16.3.7 Moving the Terrain
Exercise 16.3.8 Moving the Terrain
16.4 Polish
Video 16.4.1 Helicopter Image and Points!
Exercise 16.4.2 Image and Points
Video 16.4.3 Dust
Exercise 16.4.4 Dust
Video 16.4.5 More Obstacles
Exercise 16.4.6 More Obstacles
Challenge 16.4.7 Helicopter Extensions