### Please enable JavaScript to use CodeHS

Introduction to Computer Science in JavaScript (Bulldog)

#### 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 Quiz: Karel Commands
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 Basic Karel
Video 1.2.1 More Basic 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 Start Function
Video 1.5.1 The Start Function
Check for Understanding 1.5.2 The Start Function Quiz
Example 1.5.3 Tower with Start Function
Exercise 1.5.4 Pancakes with Start
1.6 Top Down Design and Decomposition in Karel
Video 1.6.1 Top Down Design and Decomposition in Karel
Check for Understanding 1.6.2 Top Down Design and Decomposition Quiz
Example 1.6.3 Hurdle Karel
Exercise 1.6.4 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 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
Video 1.10.1 If Statements
Check for Understanding 1.10.2 If Statements Quiz
Example 1.10.3 If Statements
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 in Karel
Video 1.12.1 While Loops in Karel
Check for Understanding 1.12.2 While Loops in Karel 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 Control Structures Example
Video 1.13.1 Control Structures Example
Check for Understanding 1.13.2 Control Structures Example Quiz
Example 1.13.3 Cleanup Karel
Exercise 1.13.4 Random Hurdles
Survey 1.13.5 Mindset Survey 1
1.14 More Karel Examples and Testing
Video 1.14.1 More Karel Examples and Testing
Check for Understanding 1.14.2 Quiz: Which Control Structure?
Example 1.14.3 Move Tennis Ball Stack
Example 1.14.4 Climbing Karel
1.15 How to Indent Your Code
Video 1.15.1 How to Indent Your Code
Check for Understanding 1.15.2 How to Indent Your Code Quiz
Example 1.15.3 Dance and Clean Karel
Exercise 1.15.4 Diagonal
Exercise 1.15.5 Staircase
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 and Graphics
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
3.2 Variables
Video 3.2.1 Variables
Check for Understanding 3.2.2 Variables Quiz
Example 3.2.3 Basic Variables
Exercise 3.2.4 Daily Activities
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 in JavaScript
Video 3.4.1 Basic Math in JavaScript
Check for Understanding 3.4.2 Basic Math in JavaScript 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 Using Graphics in JavaScript
Video 3.5.1 Graphics
Check for Understanding 3.5.2 JavaScript Graphics Quiz
Example 3.5.3 Graphics Hello World
Example 3.5.4 Blue Circle
Example 3.5.5 Red Rectangle
Example 3.5.6 8 Ball
Exercise 3.5.7 Flag of the Netherlands
Exercise 3.5.8 Snowman
3.6 Programming with JavaScript Quiz
Unit Quiz 3.6.1 JavaScript and Graphics Quiz
4. Graphics Challenges
4.1 Collaborative Programming
Video 4.1.1 Pair-Programming
Check for Understanding 4.1.2 Pair-Programming
Connection 4.1.3 Why Practice Pair-Programming?
Free Response 4.1.4 Pair-Programming Reflection
4.2 Graphics Challenges
Challenge 4.2.1 Ghost
Challenge 4.2.2 Fried Egg
Challenge 4.2.3 Draw Something
5. JavaScript Control Structures
5.1 Booleans
Video 5.1.1 Booleans
Check for Understanding 5.1.2 Booleans Quiz
Example 5.1.3 First Boolean
Exercise 5.1.4 Do You Have a Dog?
5.2 Logical Operators
Video 5.2.1 Logical Operators
Check for Understanding 5.2.2 Logical Operators Quiz
Example 5.2.3 Light Switch
Example 5.2.4 President
Example 5.2.5 Wasting Time
Exercise 5.2.7 School's Out
5.3 Comparison Operators
Video 5.3.1 Comparison Operators
Check for Understanding 5.3.2 Comparison Operators Quiz
Example 5.3.3 Voting Age
Exercise 5.3.5 Rolling Dice
Exercise 5.3.6 Girl Scout Designation
5.4 If Statements
Video 5.4.1 If Statements
Check for Understanding 5.4.2 If Statements Quiz
Example 5.4.3 Negative Numbers
Example 5.4.4 Great Names
Example 5.4.5 Even and Odd
Exercise 5.4.7 Teenagers
Exercise 5.4.8 Dietary Restrictions
Survey 5.4.10 Mindset Survey 2
5.5 For Loops in JavaScript
Video 5.5.1 Basic For Loop
Check for Understanding 5.5.2 For Loops Quiz
Example 5.5.3 For Loop
Exercise 5.5.4 Chalkboard
Exercise 5.5.5 The Worm
Exercise 5.5.6 Caterpillar
5.6 General For Loops
Video 5.6.1 General For Loop
Check for Understanding 5.6.2 General For Loop Quiz
Example 5.6.3 Countdown
Example 5.6.4 Count By Twos
Exercise 5.6.5 Count By Sevens
Exercise 5.6.6 Powers of Two
5.7 For Loop Practice
Video 5.7.1 For Loop Examples
Check for Understanding 5.7.2 For Loop Examples Quiz
Example 5.7.3 For Loop Sum
Exercise 5.7.4 Better Sum
Exercise 5.7.5 Factorial
Exercise 5.7.6 All Dice Values
5.8 Random Numbers
Video 5.8.1 Random Numbers
Check for Understanding 5.8.2 Random Numbers Quiz
Example 5.8.3 Rolling a Die
Example 5.8.4 Flipping a Coin
Exercise 5.8.5 Lots of Rolls
Exercise 5.8.6 Random Color Square
5.9 While Loops
Video 5.9.1 While Loops
Check for Understanding 5.9.2 While Loops Quiz
Example 5.9.3 While Loop Countdown
Exercise 5.9.4 Inventory
Exercise 5.9.5 Fibonacci
Exercise 5.9.6 Concentric Circles
5.10 Loop and a Half
Video 5.10.1 Loop and a Half
Check for Understanding 5.10.2 Loop and a Half Quiz
Exercise 5.10.4 Snake Eyes
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 Circles in Circles
Challenge 6.1.3 Circles in Squares
Challenge 6.1.4 Happy Birthday!
7. Functions and Parameters
7.1 Functions and Parameters 1
Video 7.1.1 Functions and Parameters 1
Check for Understanding 7.1.2 Functions and Parameters Quiz 1
Example 7.1.3 Double Number
Exercise 7.1.4 Square
Exercise 7.1.5 Triple
7.2 Functions and Parameters 2
Video 7.2.1 Functions and Parameters 2
Check for Understanding 7.2.2 Functions and Parameters Quiz 2
Example 7.2.3 Sum Function
Exercise 7.2.4 Area of Triangle
Exercise 7.2.5 Height in Meters
7.3 Functions and Parameters 3
Video 7.3.1 Functions and Parameters 3
Check for Understanding 7.3.2 Functions and Parameters Quiz 3
Example 7.3.3 Draw Circles
Exercise 7.3.4 Vertical Lines
Exercise 7.3.5 Graphics Stop Light
Exercise 7.3.6 Pool Table
Exercise 7.3.7 Cityscape
Survey 7.3.9 Mindset Survey 3
7.4 Functions and Return Values 1
Video 7.4.1 Functions and Return Values 1
Check for Understanding 7.4.2 Functions and Return Values Quiz
Example 7.4.3 Double Number
Exercise 7.4.4 Square with Return Values
Exercise 7.4.5 Triple with Return Values
Exercise 7.4.6 Gymnastics Mats
7.5 Functions and Return Values 2
Video 7.5.1 Functions and Return Values 2
Check for Understanding 7.5.2 Functions and Return Values Quiz 2
Example 7.5.3 Return Values
Exercise 7.5.4 Is It Even?
Exercise 7.5.5 Max
7.6 Local Variables and Scope
Video 7.6.1 Local Variables and Scope
Check for Understanding 7.6.2 Local Variables and Scope Quiz
Example 7.6.3 Return Values
Exercise 7.6.4 Local Variables
7.7 Functions and Parameters Quiz
Unit Quiz 7.7.1 Functions and Parameters Quiz
8. Functions Challenges
8.1 Functions Challenges
Challenge 8.1.1 Hailstone Sequence
Challenge 8.1.2 Balloons
Challenge 8.1.4 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
9.2 Random Circles
Video 9.2.1 Example: Random Circles
Check for Understanding 9.2.2 Random Circles Quiz
Example 9.2.3 Random Circles
Example 9.2.4 Spinner Example
Exercise 9.2.5 Growing Circle
Exercise 9.2.6 Paint splatter
9.3 Random Ghosts
Video 9.3.1 Example: Random Ghosts
Check for Understanding 9.3.2 Random Ghosts Quiz
Example 9.3.3 Random Ghosts
Example 9.3.4 Random Fireworks
Exercise 9.3.5 Circle Wall
Exercise 9.3.6 Brick Wall
9.4 Bouncing Ball
Video 9.4.1 Example: Bouncing Ball
Check for Understanding 9.4.2 Bouncing Ball Quiz
Example 9.4.3 Bouncing Ball
Exercise 9.4.4 Hotspot Ball
Exercise 9.4.5 Trail
9.5 Mouse Events: Mouse Clicked
Video 9.5.1 Mouse Events: Mouse Clicked
Check for Understanding 9.5.2 Mouse Events: Mouse Clicked Quiz
Example 9.5.3 Click For Circles
Example 9.5.4 Click For Ghosts
Exercise 9.5.5 Teleporting Ball
Exercise 9.5.6 Pause
9.6 Mouse Events: Mouse Moved
Video 9.6.1 Mouse Events: Mouse Moved
Check for Understanding 9.6.2 Mouse Events: Mouse Moved Quiz
Example 9.6.3 Simple Painting
Example 9.6.4 Colorful Drag to Paint
Exercise 9.6.5 Coordinates
Exercise 9.6.6 Target
9.7 Drawing Lines
Video 9.7.1 Example: Drawing Lines
Check for Understanding 9.7.2 Drawing Lines Quiz
Example 9.7.3 Drawing Lines
Exercise 9.7.4 Leash
Survey 9.7.6 Mindset Survey 4
9.8 Key Events
Video 9.8.1 Key Events
Check for Understanding 9.8.2 Key Events Quiz
Example 9.8.3 Keyboard Square
Exercise 9.8.4 Basic Snake
9.9 Crazy Ball Game
Video 9.9.1 Crazy Ball Game 1
Check for Understanding 9.9.2 Crazy Ball Game Quiz 1
Example 9.9.3 Crazy Ball Game 1
Video 9.9.4 Crazy Ball Game 2
Check for Understanding 9.9.5 Crazy Ball Game Quiz 2
Example 9.9.6 Crazy Ball Game 2
Exercise 9.9.7 Click for Collision
Exercise 9.9.8 Drag and Drop
9.10 Animation and Games Quiz
Unit Quiz 9.10.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
Challenge 11.1.1 Bricks
Challenge 11.1.3 Breakout
12. Basic Data Structures
12.1 Intro to Lists/Arrays
Video 12.1.1 Intro to Lists/Arrays
Check for Understanding 12.1.2 Intro to Lists/Arrays Quiz
Example 12.1.3 Making an Array
Exercise 12.1.4 List of Places to Travel
Exercise 12.1.5 List of Even Numbers
12.2 Indexing Into an Array
Video 12.2.1 Indexing Into an Array
Check for Understanding 12.2.2 Indexing into an Array Quiz
Example 12.2.3 Array Indexing Practice
Exercise 12.2.4 Top Websites
Video 12.3.1 Adding/Removing From an Array
Check for Understanding 12.3.2 Adding/Removing from an Array Quiz
Exercise 12.3.4 Practice Push and Pop
12.4 Array Length and Looping Through Arrays
Video 12.4.1 Array Length and Looping Through Arrays
Check for Understanding 12.4.2 Array Length and Looping Through Arrays Quiz
Example 12.4.3 Print Shopping List
Example 12.4.4 Sum Array
Exercise 12.4.5 Product of List
Exercise 12.4.6 Print Flight Itinerary
Exercise 12.4.7 Double List
Exercise 12.4.8 Evens Only List
Exercise 12.4.9 Reverse List
12.5 Iterating Over an Array
Video 12.5.1 Examples: Iterating Over an Array
Check for Understanding 12.5.2 Iterating Over an Array Quiz
Example 12.5.3 Coin Flips
Example 12.5.4 Many Crazy Balls
Exercise 12.5.5 Coin Flip Fun: Number of Heads and Tails
Exercise 12.5.6 Coin Flip Fun: Longest Streak of Heads
Exercise 12.5.7 Changing Circles
Exercise 12.5.8 Draw a Barcode
12.6 Finding an Element in a List
Video 12.6.1 Finding an Element in a List
Check for Understanding 12.6.2 Finding an Element in a List Quiz
Example 12.6.3 Array indexOf
Exercise 12.6.4 Who is in Line?
12.7 Removing an Element From an Array
Video 12.7.1 Removing an Element From an Array
Check for Understanding 12.7.2 Removing an Element from an Array Quiz
Example 12.7.3 Splice and Remove
Exercise 12.7.4 Remove From Line
12.8 Intro to Objects/Maps
Video 12.8.1 Intro to Objects/Maps
Check for Understanding 12.8.2 Intro to Objects / Maps Quiz
Example 12.8.3 Phonebook
Exercise 12.8.4 Sidekicks
12.9 Basics of Objects
Video 12.9.1 Basics of Objects
Check for Understanding 12.9.2 Basics of Objects Quiz
Example 12.9.3 Object Literal Phonebook
Example 12.9.4 Object Property Phonebook
Example 12.9.5 Beware Dot Notation!
12.10 Iterating Over an Object
Video 12.10.1 Iterating Over An Object
Check for Understanding 12.10.2 Iterating over an Object Quiz
Example 12.10.3 Print Phonebook
Exercise 12.10.4 Hogwarts
12.11 When Do I Use an Object?
Video 12.11.1 When Do I Use An Object?
Check for Understanding 12.11.2 When do I use an Object Quiz
Example 12.11.4 Does the Key Exist?
Exercise 12.11.5 Text Messages
12.12 Intro to Sets
Video 12.12.1 Intro to Sets
Check for Understanding 12.12.2 Intro to Sets Quiz
Example 12.12.3 Basic Sets
Exercise 12.12.4 Vowels
Exercise 12.12.5 Mutual Friends
Exercise 12.12.6 Total Network of Friends
12.13 Intro to Grids
Video 12.13.1 Intro to Grids
Check for Understanding 12.13.2 Intro to Grids Quiz
Example 12.13.3 Grid Basics
Exercise 12.13.4 Building a Database
12.14 Looping Over a Grid
Video 12.14.1 Looping Over a Grid
Check for Understanding 12.14.2 Looping Over a Grid Quiz
Example 12.14.3 Print Grid
Exercise 12.14.4 Summing Grid
12.15 Grid Example: Get a Row
Video 12.15.1 Grid Example: Get a Row
Check for Understanding 12.15.2 Grid Example: Get a Row Quiz
Example 12.15.3 Get a Row
Exercise 12.15.4 Grid Diagonal
12.16 Data Structures Challenges
Challenge 12.16.1 Watercolor Grid
Unit Quiz 12.16.2 Data Structures Unit Quiz
13. Project: Tic Tac Toe
13.1 Tic Tac Toe
Challenge 13.1.1 Tic Tac Toe: Part 1
Challenge 13.1.2 Tic Tac Toe: Part 2
Challenge 13.1.3 Tic Tac Toe: Full Game
14. Project: Helicopter Game
14.1 Game Design: Helicopter
Video 14.1.1 Introduction to Helicopter
14.2 Basics
Video 14.2.1 Moving the Helicopter
Exercise 14.2.2 Moving the Helicopter
Video 14.2.5 Smoother Movement
Exercise 14.2.6 Smoother Movement
14.3 Improvements
Video 14.3.1 Colliding with Walls
Exercise 14.3.2 Wall Collisions
Video 14.3.3 Colliding with Obstacles
Exercise 14.3.4 Obstacle Collisions
Video 14.3.7 Moving the Terrain
Exercise 14.3.8 Moving the Terrain
14.4 Polish
Video 14.4.1 Helicopter Image and Points!
Exercise 14.4.2 Image and Points
Video 14.4.3 Dust
Exercise 14.4.4 Dust
Video 14.4.5 More Obstacles
Exercise 14.4.6 More Obstacles
Challenge 14.4.7 Helicopter Extensions