### Please enable JavaScript to use CodeHS

Introduction to Computer Science in JavaScript (Collie)

#### 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 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
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.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.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.6 Logical Operators Game
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.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
Free Response 6.7.4 Break Statement Reflection
Exercise 6.7.5 Snake Eyes
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!