### Please enable JavaScript to use CodeHS

Introduction to Computer Science in JavaScript (Corgi)

#### 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
1.2 More About Karel
Video 1.2.1 More About Karel
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
1.7 Commenting Your Code
Video 1.7.1 Commenting Your Code
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 SuperKarel)
Exercise 1.8.4 The Two Towers + SuperKarel
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.4 Follow The Yellow Ball Road
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 Programming with Karel Quiz
Unit Quiz 1.16.1 Programming with Karel Quiz
2. Karel Challenges
2.1 Challenge Problems
Challenge 2.1.1 Fetch
Challenge 2.1.2 Racing Karel
Challenge 2.1.3 Tower Builder
Challenge 2.1.4 Super Cleanup Karel
Challenge 2.1.5 Double Tennis Balls
3. JavaScript Basics
3.1 Hello World
Video 3.1.1 Hello World
Check for Understanding 3.1.2 Hello World Quiz
Example 3.1.3 Hello World
Exercise 3.1.4 Your Name and Hobby
Exercise 3.1.5 ASCII Animals
3.2 Variables
Video 3.2.1 Variables
Video 3.2.2 Live Coding: Variables
Check for Understanding 3.2.3 Variables Quiz
Example 3.2.4 Basic Variables
Exercise 3.2.5 Daily Activities
Debugging 3.2.6 Debugging Variables
3.3 User Input
Video 3.3.1 User Input
Check for Understanding 3.3.2 User Input Quiz
Example 3.3.3 Basic User Input
Exercise 3.3.4 Dinner Plans
Exercise 3.3.5 Mad Lib
3.4 Basic Math
Video 3.4.1 Basic Math
Check for Understanding 3.4.2 Basic Math Quiz
Example 3.4.3 Simple Calculator
Example 3.4.4 Dollars to Pounds
Example 3.4.5 Dividing Up Groups
Exercise 3.4.6 T-Shirt Shop
Exercise 3.4.7 Running Speed
3.5 Collaborative Programming
Video 3.5.1 Pair-Programming
Check for Understanding 3.5.2 Pair-Programming
Connection 3.5.3 Why Practice Pair-Programming?
Free Response 3.5.4 Pair-Programming Reflection
3.6 Random Numbers
Video 3.6.1 Random Numbers
Check for Understanding 3.6.2 Random Numbers Quiz
Example 3.6.3 Rolling a Die
Exercise 3.6.4 Treasure Chest Loot
Exercise 3.6.5 Multiplication Practice
3.7 Basic Functions
Video 3.7.1 Basic Functions
Notes 3.7.2 Variables in Functions
Quiz 3.7.3 Basic Functions Quiz
Example 3.7.4 Function Flow
Exercise 3.7.5 Digital Business Card
Exercise 3.7.6 ASCII Karel
3.8 JavaScript Basics Quiz
Unit Quiz 3.8.1 JavaScript Basics Quiz
4. The Canvas and Graphics
4.1 Intro to the Canvas and Graphics
Video 4.1.1 Intro to Canvas and Graphics
Notes 4.1.2 Debug Mode for Positioning
Video 4.1.3 Live Coding: Circle and Rectangle
Connection 4.1.4 Canvas Coordinates
Quiz 4.1.5 Canvas and Graphics Quiz
Example 4.1.6 Creating a Circle
Example 4.1.7 A Circle and a Rectangle
Exercise 4.1.8 A Ball in a Box
Exercise 4.1.9 Raise the Flag
4.2 More Graphics Objects
Video 4.2.1 More Graphics Objects
Video 4.2.2 Live Coding: More Graphics Objects
Quiz 4.2.3 Graphics Objects Quiz
Example 4.2.4 Cute Animals
Example 4.2.5 Greetings, Earth!
Exercise 4.2.6 Exploration: XY Plot
Exercise 4.2.7 Create Your Meme
Exercise 4.2.8 Saturday Mornings
4.3 Positioning Graphics Objects
Video 4.3.1 Positioning Graphics Objects
Quiz 4.3.2 Positioning Quiz
Example 4.3.3 8 Ball
Exercise 4.3.4 Color the Rainbow
Challenge 4.3.5 Create Your Own Plant!
4.4 JavaScript Graphics Quiz
Quiz 4.4.1 JavaScript Graphics Quiz
5. Graphics Challenges
5.1 Graphics Challenges
Challenge 5.1.1 Ghost
Challenge 5.1.2 Fried Egg
Challenge 5.1.3 Draw Something
6. Control Structures
6.1 Booleans
Video 6.1.1 Booleans
Check for Understanding 6.1.2 Booleans Quiz
Example 6.1.3 Boolean Exploration
Exercise 6.1.4 Do You Have a Dog?
Free Response 6.1.5 Booleans are Questions
Exercise 6.1.6 Best Day Ever
6.2 If/Else Statements
Video 6.2.1 If Statements
Check for Understanding 6.2.2 If Statements Quiz
Example 6.2.3 Are You Logged In?
Exercise 6.2.4 Is It Raining?
Exercise 6.2.5 Mood Playlist
6.3 Logical Operators
Video 6.3.1 Logical Operators
Check for Understanding 6.3.2 Logical Operators Quiz
Example 6.3.3 Light Switch
Example 6.3.4 Harry Potter
Example 6.3.5 Weak Password
Example 6.3.6 Logical Operators Game
Exercise 6.3.7 Can You Graduate?
Exercise 6.3.8 Switching Players
Exercise 6.3.9 A Day of Decisions
6.4 Comparison Operators
Video 6.4.1 Comparison Operators
Check for Understanding 6.4.2 Comparison Operators Quiz
Example 6.4.3 Great Names
Example 6.4.4 Grade Range
Example 6.4.5 Even and Odd
Exercise 6.4.6 Rolling Dice
Exercise 6.4.7 Teenagers
Exercise 6.4.8 Rocket Launch Requirements
Exercise 6.4.9 Trivia Game
6.5 Graphics and Conditionals
Notes 6.5.1 Graphics and Conditionals
Example 6.5.2 Circle or Rectangle?
Exercise 6.5.3 Correct or Incorrect?
Notes 6.5.4 Else If Statements
Example 6.5.5 Conditional Circle Color
Exercise 6.5.6 Odd or Even Shapes
Quiz 6.5.7 Graphics and Conditionals Quiz
Challenge 6.5.8 Interactive Modern Art
6.6 While Loops
Video 6.6.1 While Loops
Check for Understanding 6.6.2 While Loops Quiz
Example 6.6.3 While Loop Countdown
Debugging 6.6.4 Debugging: Best Name Ever
Exercise 6.6.5 Level Up
Exercise 6.6.6 Inventory
6.7 The Break Statement
Video 6.7.1 The Break Statement
Check for Understanding 6.7.2 The Break Statement Quiz
Example 6.7.3 Adding Up Numbers
Free Response 6.7.4 Break Statement Reflection
Exercise 6.7.5 Snake Eyes
Exercise 6.7.6 Better Password Prompt
Exercise 6.7.7 Riddle Machine
6.8 While Loops and Graphics
Notes 6.8.1 While Loops and Graphics
Example 6.8.2 Lots of Circles
Example 6.8.3 Corners on Corners
Exercise 6.8.4 Concentric Circles
Debugging 6.8.5 Debugging: Circle Positions
Exercise 6.8.6 Growing Squares
6.9 For Loops
Video 6.9.1 For Loops
Example 6.9.2 For Loop Exploration
Exercise 6.9.3 Chalkboard
Example 6.9.4 Count By Twos
Example 6.9.5 Eating Apples
Debugging 6.9.6 Countdown by Sevens
Check for Understanding 6.9.7 For Loops Quiz
Exercise 6.9.8 Lives Left
Example 6.9.9 For Loop Sum
Exercise 6.9.10 Jukebox
6.10 For Loops and Graphics
Notes 6.10.1 For Loops and Graphics
Example 6.10.2 Lots of Circles Revisited
Exercise 6.10.3 Exploration: Confetti
Notes 6.10.4 Using i to Position Objects and Adjust Size
Example 6.10.5 Horizontal Stripes #1: Using i to Adjust Position
Example 6.10.6 Horizontal Stripes #2: Using i to Adjust Size
Debugging 6.10.7 Debugging: Colorful Bullseye
Exercise 6.10.8 Caterpillar
6.11 Javascript Control Structures Quiz
Unit Quiz 6.11.1 JavaScript Control Structures Quiz
7. Control Structures Challenges
7.1 Control Structures Challenges
Challenge 7.1.1 Guessing Game
Challenge 7.1.2 Landscape Generator
Challenge 7.1.3 Exploring RGB Color Codes
8. Functions
8.1 Parameters
Video 8.1.1 Parameters
Video 8.1.2 Live Coding: Parameters
Quiz 8.1.3 Parameters Quiz
Example 8.1.4 Greetings
Example 8.1.5 Slope of a Line
Example 8.1.6 Draw Lots of Circles!
Exercise 8.1.7 Area of Triangle
Exercise 8.1.8 Rainbow Revisited
Exercise 8.1.9 Cityscape
8.2 Return Values
Video 8.2.1 Return Values
Quiz 8.2.2 Return Values Quiz
Example 8.2.3 Mathematical Returns
Example 8.2.4 Offscreen Graphics
Exercise 8.2.5 Max
Exercise 8.2.6 Overlapping Graphics
Exercise 8.2.7 Is It Even?
8.3 Default Parameter Values
Video 8.3.1 Default Parameter Values
Quiz 8.3.2 Default Parameter Values Quiz
Example 8.3.3 Default Printing
Debugging 8.3.4 Farming International
Exercise 8.3.5 Compound Interest
Exercise 8.3.6 Default Face
8.4 Variable Scopes
Video 8.4.1 Variable Scope
Video 8.4.2 Live Coding: Variable Scope
Quiz 8.4.3 Variable Scope Quiz
Example 8.4.4 Scope of X
Exercise 8.4.5 Exploration: Scope of Ball
Free Response 8.4.6 Scope Reflection
Challenge 8.4.7 Choose Wisely Game
8.5 Functions Quiz
Unit Quiz 8.5.1 Functions and Parameters Quiz
9. Functions Challenges
9.1 Functions Challenges
Challenge 9.1.1 Global Travel Assistant
Challenge 9.1.2 Balloons
Challenge 9.1.3 Ghost Invasion!
10. Animation and Games
10.1 Timers
Video 10.1.1 Timers
Check for Understanding 10.1.2 Timers Quiz
Example 10.1.3 Moving Ball
Example 10.1.4 Magic 8 Ball
Exercise 10.1.5 Crazy Ball
Exercise 10.1.6 Paint Splatter
Notes 10.1.7 Project: Evasion (Timers)
Free Response 10.1.8 Project Info and Links
10.2 Stopping Timers
Video 10.2.1 Stopping Timers
Check for Understanding 10.2.2 Stop Timer Quiz
Example 10.2.3 Random Circles
Exercise 10.2.4 Growing Circle
Exercise 10.2.5 Brick Wall
Notes 10.2.6 Project: Evasion (Stop Timers)
10.3 Collisions
Video 10.3.1 Collisions
Video 10.3.2 Live Coding: Collisions
Check for Understanding 10.3.3 Collisions Quiz
Example 10.3.4 Bouncing Ball
Exercise 10.3.5 Collision Simulation
Exercise 10.3.6 Carnival Game
Notes 10.3.7 Project: Evasion (Collisions)
10.4 Mouse Click Events
Video 10.4.1 Mouse Click Events
Check for Understanding 10.4.2 Mouse Click Quiz
Example 10.4.3 Click For Circles
Exercise 10.4.4 Pausing the Carnival Game
Exercise 10.4.5 Dripping Paint
Notes 10.4.6 Project: Evasion (Mouse Click)
10.5 More Mouse Events
Video 10.5.1 More Mouse Events
Check for Understanding 10.5.2 More Mouse Events Quiz
Example 10.5.3 Simple Painting
Example 10.5.4 Painting with Color
Exercise 10.5.5 Coordinates
Exercise 10.5.6 Target
Exercise 10.5.7 Drag and Drop
Notes 10.5.8 Project: Evasion (More Mouse)
10.6 Key Events
Video 10.6.1 Key Events
Check for Understanding 10.6.2 Key Events Quiz
Example 10.6.3 Keyboard Character
Exercise 10.6.4 Basic Snake
Notes 10.6.5 Project: Evasion (Key Events)
Free Response 10.6.6 Project Reflection
10.7 Animation and Games Quiz
Unit Quiz 10.7.1 Animation and Games Quiz
11. Animation Challenges
11.1 Animation Challenges
Challenge 11.1.1 Blinking Rectangles
Challenge 11.1.2 Increasing Number of Shapes
12. Project: Breakout
12.1 Breakout
Notes 12.1.1 Breakout Introduction
Challenge 12.1.2 Bricks
Challenge 12.1.3 Ball and Paddle
Challenge 12.1.4 Collisions