Please enable JavaScript to use CodeHS

Introduction to Computer Science in JavaScript (Collie) - Outline

  1. Programming with Karel

    1. 1.1 Introduction to Programming With Karel

    2. Video 1.1.1 Introduction to Programming With Karel
    3. Check for Understanding 1.1.2 Karel Commands Quiz
    4. Example 1.1.3 Our First Karel Program
    5. Exercise 1.1.4 Your First Karel Program
    6. Exercise 1.1.5 Short Stack
    7. 1.2 More About Karel

    8. Video 1.2.1 More About Karel
    9. Check for Understanding 1.2.2 More Basic Karel Quiz
    10. Example 1.2.3 Tennis Ball Square
    11. Exercise 1.2.4 Make a Tower
    12. Exercise 1.2.5 Pyramid of Karel
    13. 1.3 Karel Can't Turn Right

    14. Video 1.3.1 Karel Can't Turn Right
    15. Check for Understanding 1.3.2 Karel Can't Turn Right Quiz
    16. Example 1.3.3 Tower and Turn Right
    17. Exercise 1.3.4 Slide Karel
    18. Exercise 1.3.5 Fireman Karel
    19. Badge 1.3.6 Karel Turns Right Badge
    20. 1.4 Functions in Karel

    21. Video 1.4.1 Functions in Karel
    22. Check for Understanding 1.4.2 Functions in Karel Quiz
    23. Example 1.4.3 Turn Around
    24. Exercise 1.4.4 Pancakes
    25. Exercise 1.4.5 Mario Karel
    26. 1.5 The Main Function

    27. Video 1.5.1 The Main Function
    28. Check for Understanding 1.5.2 The Main Function Quiz
    29. Example 1.5.3 Tower with Main Function
    30. Exercise 1.5.4 Pancakes with Main
    31. 1.6 Top Down Design and Decomposition in Karel

    32. Video 1.6.1 Top Down Design and Decomposition
    33. Check for Understanding 1.6.2 Top Down Design and Decomposition Quiz
    34. Video 1.6.3 Top Down Design and Decomposition in Karel
    35. Example 1.6.4 Hurdle Karel
    36. Exercise 1.6.5 The Two Towers
    37. 1.7 Commenting Your Code

    38. Video 1.7.1 Commenting Your Code
    39. Check for Understanding 1.7.2 Commenting Your Code Quiz
    40. Example 1.7.3 Hurdle Karel
    41. Exercise 1.7.4 The Two Towers + Comments
    42. 1.8 Super Karel

    43. Video 1.8.1 Super Karel
    44. Check for Understanding 1.8.2 Super Karel Quiz
    45. Example 1.8.3 Hurdle Karel (with Super Karel)
    46. Exercise 1.8.4 The Two Towers + Super Karel
    47. Badge 1.8.5 Super Karel Badge
    48. 1.9 For Loops

    49. Video 1.9.1 For Loops
    50. Check for Understanding 1.9.2 For Loops Quiz
    51. Example 1.9.3 Repeated Move
    52. Example 1.9.4 Put Down Tennis Balls
    53. Exercise 1.9.5 Take 'em All
    54. Exercise 1.9.6 Dizzy Karel
    55. Exercise 1.9.7 Ball in Each Corner
    56. Exercise 1.9.8 Lots of Hurdles
    57. 1.10 If Statements and Conditionals

    58. Video 1.10.1 If Statements and Conditionals
    59. Check for Understanding 1.10.2 If Statements and Conditionals Quiz
    60. Example 1.10.3 If Statements and Conditionals
    61. Example 1.10.4 Safe Take Ball
    62. Exercise 1.10.5 Is There a Ball?
    63. Exercise 1.10.6 Don't Crash!
    64. 1.11 If/Else Statements

    65. Video 1.11.1 If/Else Statements
    66. Check for Understanding 1.11.2 If/Else Statements Quiz
    67. Example 1.11.3 If/Else Statements
    68. Example 1.11.4 Opposite Day
    69. Exercise 1.11.5 Right Side Up
    70. Exercise 1.11.6 Right vs. Left Square
    71. Badge 1.11.7 Conditional Karel Badge
    72. 1.12 While Loops

    73. Video 1.12.1 While Loops
    74. Check for Understanding 1.12.2 While Loops Quiz
    75. Example 1.12.3 Move to Wall
    76. Exercise 1.12.4 Follow The Yellow Ball Road
    77. Exercise 1.12.5 Lay Row of Tennis Balls
    78. Exercise 1.12.6 Big Tower
    79. 1.13 How to Indent Your Code

    80. Video 1.13.1 How to Indent Your Code
    81. Check for Understanding 1.13.2 How to Indent Your Code Quiz
    82. Example 1.13.3 Dance and Clean Karel
    83. Exercise 1.13.4 Diagonal
    84. Exercise 1.13.5 Staircase
    85. Badge 1.13.6 Karel Exercises Badge
    86. 1.14 Control Structures Example

    87. Video 1.14.1 Control Structures Example
    88. Check for Understanding 1.14.2 Control Structures Example Quiz
    89. Example 1.14.3 Cleanup Karel
    90. Exercise 1.14.4 Random Hurdles
    91. 1.15 More Karel Examples and Testing

    92. Video 1.15.1 More Karel Examples and Testing
    93. Example 1.15.2 Move Tennis Ball Stack
    94. Video 1.15.3 Live Coding: Climbing Karel
    95. Example 1.15.4 Climbing Karel
    96. Check for Understanding 1.15.5 Quiz: Which Control Structure?
    97. Exercise 1.15.6 Opposite Corner
    98. 1.16 Programming with Karel Quiz

    99. Unit Quiz 1.16.1 Programming with Karel Quiz
  2. Karel Challenges

    1. 2.1 Challenge Problems

    2. Challenge 2.1.1 Fetch
    3. Challenge 2.1.2 Racing Karel
    4. Challenge 2.1.3 Tower Builder
    5. Challenge 2.1.4 Super Cleanup Karel
    6. Challenge 2.1.5 Double Tennis Balls
    7. Badge 2.1.6 Karel Challenges Badge
  3. JavaScript Basics

    1. 3.1 Hello World

    2. Video 3.1.1 Hello World
    3. Check for Understanding 3.1.2 Hello World Quiz
    4. Example 3.1.3 Hello World
    5. Exercise 3.1.4 Your Name and Hobby
    6. Exercise 3.1.5 ASCII Animals
    7. 3.2 Variables

    8. Video 3.2.1 Variables
    9. Video 3.2.2 Live Coding: Variables
    10. Check for Understanding 3.2.3 Variables Quiz
    11. Example 3.2.4 Basic Variables
    12. Exercise 3.2.5 Daily Activities
    13. Debugging 3.2.6 Debugging Variables
    14. 3.3 User Input

    15. Video 3.3.1 User Input
    16. Check for Understanding 3.3.2 User Input Quiz
    17. Example 3.3.3 Basic User Input
    18. Exercise 3.3.4 Dinner Plans
    19. Exercise 3.3.5 Mad Lib
    20. Badge 3.3.6 User Input Badge
    21. 3.4 Basic Math

    22. Video 3.4.1 Basic Math
    23. Check for Understanding 3.4.2 Basic Math Quiz
    24. Example 3.4.3 Simple Calculator
    25. Example 3.4.4 Dollars to Pounds
    26. Example 3.4.5 Dividing Up Groups
    27. Exercise 3.4.6 T-Shirt Shop
    28. Exercise 3.4.7 Running Speed
    29. 3.5 Collaborative Programming

    30. Video 3.5.1 Pair-Programming
    31. Check for Understanding 3.5.2 Pair-Programming
    32. Connection 3.5.3 Why Practice Pair-Programming?
    33. Free Response 3.5.4 Pair-Programming Reflection
    34. 3.6 Random Numbers

    35. Video 3.6.1 Random Numbers
    36. Check for Understanding 3.6.2 Random Numbers Quiz
    37. Example 3.6.3 Rolling a Die
    38. Exercise 3.6.4 Treasure Chest Loot
    39. Exercise 3.6.5 Multiplication Practice
    40. Badge 3.6.6 Randomizer Badge
    41. 3.7 Basic Functions

    42. Video 3.7.1 Basic Functions
    43. Notes 3.7.2 Variables in Functions
    44. Quiz 3.7.3 Basic Functions Quiz
    45. Example 3.7.4 Function Flow
    46. Exercise 3.7.5 Digital Business Card
    47. Exercise 3.7.6 ASCII Karel
    48. 3.8 JavaScript Basics Quiz

    49. Unit Quiz 3.8.1 JavaScript Basics Quiz
    50. Badge 3.8.2 JavaScript Basics Badge
  4. The Canvas and Graphics

    1. 4.1 Intro to the Canvas and Graphics

    2. Video 4.1.1 Intro to Canvas and Graphics
    3. Notes 4.1.2 Debug Mode for Positioning
    4. Video 4.1.3 Live Coding: Circle and Rectangle
    5. Connection 4.1.4 Canvas Coordinates
    6. Quiz 4.1.5 Canvas and Graphics Quiz
    7. Example 4.1.6 Creating a Circle
    8. Example 4.1.7 A Circle and a Rectangle
    9. Exercise 4.1.8 A Ball in a Box
    10. Exercise 4.1.9 Raise the Flag
    11. 4.2 More Graphics Objects

    12. Video 4.2.1 More Graphics Objects
    13. Video 4.2.2 Live Coding: More Graphics Objects
    14. Quiz 4.2.3 Graphics Objects Quiz
    15. Example 4.2.4 Cute Animals
    16. Example 4.2.5 Greetings, Earth!
    17. Exercise 4.2.6 Exploration: XY Plot
    18. Exercise 4.2.7 Create Your Meme
    19. Exercise 4.2.8 Saturday Mornings
    20. 4.3 Positioning Graphics Objects

    21. Video 4.3.1 Positioning Graphics Objects
    22. Quiz 4.3.2 Positioning Quiz
    23. Example 4.3.3 8 Ball
    24. Exercise 4.3.4 Color the Rainbow
    25. Challenge 4.3.5 Create Your Own Plant!
    26. 4.4 JavaScript Graphics Quiz

    27. Quiz 4.4.1 JavaScript Graphics Quiz
  5. Graphics Challenges

    1. 5.1 Graphics Challenges

    2. Challenge 5.1.1 Ghost
    3. Challenge 5.1.2 Fried Egg
    4. Challenge 5.1.3 Draw Something
  6. Control Structures

    1. 6.1 Booleans

    2. Video 6.1.1 Booleans
    3. Check for Understanding 6.1.2 Booleans Quiz
    4. Example 6.1.3 Boolean Exploration
    5. Exercise 6.1.4 Do You Have a Dog?
    6. Free Response 6.1.5 Booleans are Questions
    7. Exercise 6.1.6 Best Day Ever
    8. 6.2 If/Else Statements

    9. Video 6.2.1 If Statements
    10. Check for Understanding 6.2.2 If Statements Quiz
    11. Example 6.2.3 Are You Logged In?
    12. Exercise 6.2.4 Is It Raining?
    13. Exercise 6.2.5 Mood Playlist
    14. Badge 6.2.6 Conditionals Badge
    15. 6.3 Logical Operators

    16. Video 6.3.1 Logical Operators
    17. Check for Understanding 6.3.2 Logical Operators Quiz
    18. Example 6.3.3 Light Switch
    19. Example 6.3.4 Harry Potter
    20. Example 6.3.5 Weak Password
    21. Example 6.3.6 Logical Operators Game
    22. Exercise 6.3.7 Can You Graduate?
    23. Exercise 6.3.8 Switching Players
    24. Exercise 6.3.9 A Day of Decisions
    25. 6.4 Comparison Operators

    26. Video 6.4.1 Comparison Operators
    27. Check for Understanding 6.4.2 Comparison Operators Quiz
    28. Example 6.4.3 Great Names
    29. Example 6.4.4 Grade Range
    30. Example 6.4.5 Even and Odd
    31. Exercise 6.4.6 Rolling Dice
    32. Exercise 6.4.7 Teenagers
    33. Exercise 6.4.8 Rocket Launch Requirements
    34. Exercise 6.4.9 Trivia Game
    35. 6.5 Graphics and Conditionals

    36. Notes 6.5.1 Graphics and Conditionals
    37. Example 6.5.2 Circle or Rectangle?
    38. Exercise 6.5.3 Correct or Incorrect?
    39. Notes 6.5.4 Else If Statements
    40. Example 6.5.5 Conditional Circle Color
    41. Exercise 6.5.6 Odd or Even Shapes
    42. Quiz 6.5.7 Graphics and Conditionals Quiz
    43. Challenge 6.5.8 Interactive Modern Art
    44. 6.6 While Loops

    45. Video 6.6.1 While Loops
    46. Check for Understanding 6.6.2 While Loops Quiz
    47. Example 6.6.3 While Loop Countdown
    48. Debugging 6.6.4 Debugging: Best Name Ever
    49. Exercise 6.6.5 Level Up
    50. Exercise 6.6.6 Inventory
    51. 6.7 The Break Statement

    52. Video 6.7.1 The Break Statement
    53. Check for Understanding 6.7.2 The Break Statement Quiz
    54. Example 6.7.3 Adding Up Numbers
    55. Free Response 6.7.4 Break Statement Reflection
    56. Exercise 6.7.5 Snake Eyes
    57. Exercise 6.7.6 Better Password Prompt
    58. Exercise 6.7.7 Riddle Machine
    59. 6.8 While Loops and Graphics

    60. Notes 6.8.1 While Loops and Graphics
    61. Example 6.8.2 Lots of Circles
    62. Example 6.8.3 Corners on Corners
    63. Exercise 6.8.4 Concentric Circles
    64. Debugging 6.8.5 Debugging: Circle Positions
    65. Exercise 6.8.6 Growing Squares
    66. 6.9 For Loops

    67. Video 6.9.1 For Loops
    68. Example 6.9.2 For Loop Exploration
    69. Exercise 6.9.3 Chalkboard
    70. Example 6.9.4 Count By Twos
    71. Example 6.9.5 Eating Apples
    72. Debugging 6.9.6 Countdown by Sevens
    73. Check for Understanding 6.9.7 For Loops Quiz
    74. Exercise 6.9.8 Lives Left
    75. Example 6.9.9 For Loop Sum
    76. Exercise 6.9.10 Jukebox
    77. 6.10 For Loops and Graphics

    78. Notes 6.10.1 For Loops and Graphics
    79. Example 6.10.2 Lots of Circles Revisited
    80. Exercise 6.10.3 Exploration: Confetti
    81. Notes 6.10.4 Using i to Position Objects and Adjust Size
    82. Example 6.10.5 Horizontal Stripes #1: Using i to Adjust Position
    83. Example 6.10.6 Horizontal Stripes #2: Using i to Adjust Size
    84. Debugging 6.10.7 Debugging: Colorful Bullseye
    85. Exercise 6.10.8 Caterpillar
    86. Badge 6.10.9 Looper Badge
    87. 6.11 Javascript Control Structures Quiz

    88. Unit Quiz 6.11.1 JavaScript Control Structures Quiz
  7. Control Structures Challenges

    1. 7.1 Control Structures Challenges

    2. Challenge 7.1.1 Guessing Game
    3. Challenge 7.1.2 Landscape Generator
    4. Challenge 7.1.3 Exploring RGB Color Codes
  8. Functions

    1. 8.1 Parameters

    2. Video 8.1.1 Parameters
    3. Video 8.1.2 Live Coding: Parameters
    4. Quiz 8.1.3 Parameters Quiz
    5. Example 8.1.4 Greetings
    6. Example 8.1.5 Slope of a Line
    7. Example 8.1.6 Draw Lots of Circles!
    8. Exercise 8.1.7 Area of Triangle
    9. Exercise 8.1.8 Rainbow Revisited
    10. Exercise 8.1.9 Cityscape
    11. 8.2 Return Values

    12. Video 8.2.1 Return Values
    13. Quiz 8.2.2 Return Values Quiz
    14. Example 8.2.3 Mathematical Returns
    15. Example 8.2.4 Offscreen Graphics
    16. Exercise 8.2.5 Max
    17. Exercise 8.2.6 Overlapping Graphics
    18. Exercise 8.2.7 Is It Even?
    19. 8.3 Default Parameter Values

    20. Video 8.3.1 Default Parameter Values
    21. Quiz 8.3.2 Default Parameter Values Quiz
    22. Example 8.3.3 Default Printing
    23. Debugging 8.3.4 Farming International
    24. Exercise 8.3.5 Compound Interest
    25. Exercise 8.3.6 Default Face
    26. 8.4 Variable Scopes

    27. Video 8.4.1 Variable Scope
    28. Video 8.4.2 Live Coding: Variable Scope
    29. Quiz 8.4.3 Variable Scope Quiz
    30. Example 8.4.4 Scope of X
    31. Exercise 8.4.5 Exploration: Scope of Ball
    32. Free Response 8.4.6 Scope Reflection
    33. Challenge 8.4.7 Choose Wisely Game
    34. Badge 8.4.8 JavaScript Functions Badge
    35. 8.5 Functions Quiz

    36. Unit Quiz 8.5.1 Functions and Parameters Quiz
  9. Functions Challenges

    1. 9.1 Functions Challenges

    2. Challenge 9.1.1 Global Travel Assistant
    3. Challenge 9.1.2 Balloons
    4. Challenge 9.1.3 Ghost Invasion!
    5. Badge 9.1.4 Functions Challenges Badge
  10. Final Project

    1. 10.1 Final Project

    2. Free Response 10.1.1 Brainstorm and Discuss
    3. Free Response 10.1.2 Planning
    4. Free Response 10.1.3 Pseudocode
    5. Challenge 10.1.4 Create Your Project!
    6. Badge 10.1.5 Final Project Badge
  11. Animation and Games

    1. 11.1 Timers

    2. Video 11.1.1 Timers
    3. Check for Understanding 11.1.2 Timers Quiz
    4. Example 11.1.3 Moving Ball
    5. Example 11.1.4 Magic 8 Ball
    6. Exercise 11.1.5 Crazy Ball
    7. Exercise 11.1.6 Paint Splatter
    8. Notes 11.1.7 Project: Evasion (Timers)
    9. Free Response 11.1.8 Project Info and Links
    10. 11.2 Stopping Timers

    11. Video 11.2.1 Stopping Timers
    12. Check for Understanding 11.2.2 Stop Timer Quiz
    13. Example 11.2.3 Random Circles
    14. Exercise 11.2.4 Growing Circle
    15. Exercise 11.2.5 Brick Wall
    16. Notes 11.2.6 Project: Evasion (Stop Timers)
    17. Badge 11.2.7 Animating Shapes Badge
    18. 11.3 Collisions

    19. Video 11.3.1 Collisions
    20. Video 11.3.2 Live Coding: Collisions
    21. Check for Understanding 11.3.3 Collisions Quiz
    22. Example 11.3.4 Bouncing Ball
    23. Exercise 11.3.5 Collision Simulation
    24. Exercise 11.3.6 Carnival Game
    25. Notes 11.3.7 Project: Evasion (Collisions)
    26. 11.4 Mouse Click Events

    27. Video 11.4.1 Mouse Click Events
    28. Check for Understanding 11.4.2 Mouse Click Quiz
    29. Example 11.4.3 Click For Circles
    30. Exercise 11.4.4 Pausing the Carnival Game
    31. Exercise 11.4.5 Dripping Paint
    32. Notes 11.4.6 Project: Evasion (Mouse Click)
    33. 11.5 More Mouse Events

    34. Video 11.5.1 More Mouse Events
    35. Check for Understanding 11.5.2 More Mouse Events Quiz
    36. Example 11.5.3 Simple Painting
    37. Example 11.5.4 Painting with Color
    38. Exercise 11.5.5 Coordinates
    39. Exercise 11.5.6 Target
    40. Exercise 11.5.7 Drag and Drop
    41. Notes 11.5.8 Project: Evasion (More Mouse)
    42. Badge 11.5.9 Advanced Animator Badge
    43. 11.6 Key Events

    44. Video 11.6.1 Key Events
    45. Check for Understanding 11.6.2 Key Events Quiz
    46. Example 11.6.3 Keyboard Character
    47. Exercise 11.6.4 Basic Snake
    48. Notes 11.6.5 Project: Evasion (Key Events)
    49. Free Response 11.6.6 Project Reflection
    50. 11.7 Animation and Games Quiz

    51. Unit Quiz 11.7.1 Animation and Games Quiz
  12. Animation Challenges

    1. 12.1 Animation Challenges

    2. Challenge 12.1.1 Blinking Rectangles
    3. Challenge 12.1.2 Increasing Number of Shapes
  13. Project: Breakout

    1. 13.1 Breakout

    2. Notes 13.1.1 Breakout Introduction
    3. Challenge 13.1.2 Bricks
    4. Challenge 13.1.3 Ball and Paddle
    5. Challenge 13.1.4 Collisions
    6. Badge 13.1.5 Breakout Badge
  14. Practice: Karel

    1. 14.1 Karel Syntax, IDE, and Commands

    2. Video 14.1.1 Syntax Introduction
    3. Quiz 14.1.2 Syntax Check for Understanding
    4. Video 14.1.3 IDE Introduction
    5. Quiz 14.1.4 IDE Check for Understanding
    6. Video 14.1.5 Parentheses and Semicolons Intro
    7. Exercise 14.1.6 Bad Karel Code
    8. Video 14.1.7 Bad Karel Code Errors
    9. Exercise 14.1.8 More Bad Karel Code
    10. Video 14.1.9 More Bad Karel Code Errors
    11. 14.2 Debugging with Karel

    12. Video 14.2.1 Debugging with Karel Error Messages
    13. Debugging 14.2.2 Dancing Karel
    14. Debugging 14.2.3 Go Through the Door
    15. Free Response 14.2.4 Debugging Reflection
    16. Video 14.2.5 Debugging Strategies
    17. Check for Understanding 14.2.6 Debugging
    18. Debugging 14.2.7 Face the Right Direction
    19. Debugging 14.2.8 Fetch Puzzle
    20. Debugging 14.2.9 Debug: Lots of Hurdles
    21. Debugging 14.2.10 Debug: The Two Towers
    22. Free Response 14.2.11 Debugging Reflection
    23. 14.3 Extra Karel Practice

    24. Challenge 14.3.1 Functions Practice: K For Karel
    25. Challenge 14.3.2 Functions Practice: Karel Plants A Tree
    26. Challenge 14.3.3 Functions Practice: X Marks the Spot
    27. Challenge 14.3.4 While Loop Practice: Blackout
    28. Challenge 14.3.5 While Loop Practice: Move To Top
    29. Challenge 14.3.6 While Loop Practice: Checkered Row
    30. Challenge 14.3.7 For Loop Practice: Tall Hurdles
    31. Challenge 14.3.8 Functions and While Loop Practice: Row and Back
    32. Challenge 14.3.9 Functions and For Loop Practice: Opposite Squares
    33. Challenge 14.3.10 Stairway To Heaven
    34. Badge 14.3.11 Karel Practice Badge
    35. Challenge 14.3.12 For Loop Practice: Square
    36. 14.4 Extra Karel Puzzles

    37. Challenge 14.4.1 Midpoint Karel
    38. Challenge 14.4.2 Target Karel
    39. Challenge 14.4.3 The Winding Yellow Road
    40. Challenge 14.4.4 Super Random Hurdles
    41. Challenge 14.4.5 Copy
    42. Challenge 14.4.6 Multiply
    43. Challenge 14.4.7 Fibonacci Karel
    44. Challenge 14.4.8 Comparison Karel
    45. Challenge 14.4.9 Swap
    46. Challenge 14.4.10 Sorting Karel
    47. Badge 14.4.11 Karel Puzzles Badge
  15. Practice: Functions

    1. 15.1 Functions and Parameters Practice

    2. Challenge 15.1.1 Taking a Power
    3. Challenge 15.1.2 Dot Rectangle
    4. Challenge 15.1.3 Print the Date
    5. Challenge 15.1.4 Grades
    6. Challenge 15.1.5 Concentric Circles
    7. Challenge 15.1.6 Graphics Staircase
    8. Exercise 15.1.7 The Weekend
    9. Badge 15.1.8 Functions and Parameters Badge
  16. Practice: Console Challenges

    1. 16.1 Prime Numbers

    2. Example 16.1.1 Secret Password
    3. Example 16.1.2 Voting Age
    4. Example 16.1.3 Negative Numbers
    5. Exercise 16.1.4 Fibonacci
    6. Exercise 16.1.5 Better Sum
    7. Exercise 16.1.6 Factorial
    8. Exercise 16.1.7 All Dice Values
    9. Exercise 16.1.8 Powers of Two
    10. Challenge 16.1.9 Prime Numbers
    11. Challenge 16.1.10 Find the Max
    12. Challenge 16.1.11 Prime Factorization
    13. Challenge 16.1.12 Fizz Buzz
    14. Challenge 16.1.13 Grid Printer
    15. Challenge 16.1.14 Number Sum
    16. Challenge 16.1.15 Hailstone Sequence
    17. Challenge 16.1.16 Pythagorean Triples
    18. Challenge 16.1.17 Digit Array
    19. Badge 16.1.18 Console Challenges Badge
  17. Practice: Graphics and Animation

    1. 17.1 Snake Game

    2. Challenge 17.1.1 A Growing Snake
    3. Challenge 17.1.2 Collisions
    4. Challenge 17.1.3 Adding Food
    5. Challenge 17.1.4 Finishing Touches
    6. 17.2 Fun Graphics Challenges

    7. Exercise 17.2.1 The Worm
    8. Challenge 17.2.2 Happy Birthday!
    9. Challenge 17.2.3 Balloons
    10. Challenge 17.2.4 Broccoli
    11. Challenge 17.2.5 Circles in Squares
    12. Challenge 17.2.6 Blinking Rectangles
    13. Challenge 17.2.7 Circles in Circles
    14. Challenge 17.2.8 Snowman Loop
    15. Badge 17.2.9 Graphics Challenges Badge
    16. 17.3 Animation Practice

    17. Example 17.3.1 Random Ghosts
    18. Example 17.3.2 Spinner
    19. Example 17.3.3 Random Fireworks
    20. Example 17.3.4 Drawing Lines
    21. Example 17.3.5 Colorful Drag to Paint
    22. Example 17.3.6 Keyboard Square
    23. Example 17.3.7 Click For Ghosts
    24. Exercise 17.3.8 Circle Wall
    25. Exercise 17.3.9 Hotspot Ball
    26. Exercise 17.3.10 Trail
    27. Exercise 17.3.11 Teleporting Ball
    28. Exercise 17.3.12 Leash
    29. Exercise 17.3.13 Pause
    30. 17.4 Crazy Ball Game

    31. Video 17.4.1 Crazy Ball Game 1
    32. Check for Understanding 17.4.2 Crazy Ball Game Quiz 1
    33. Example 17.4.3 Crazy Ball Game 1
    34. Video 17.4.4 Crazy Ball Game 2
    35. Check for Understanding 17.4.5 Crazy Ball Game Quiz 2
    36. Example 17.4.6 Crazy Ball Game 2
    37. Exercise 17.4.7 Click for Collision
    38. Exercise 17.4.8 Drag and Drop
  18. Extension: Visualizing Music

    1. 18.1 Visualizing Music

    2. Video 18.1.1 Visualizing Music
    3. Example 18.1.2 Our First Visualization
    4. Example 18.1.3 Vertical Bars
    5. Example 18.1.4 Vertical Bars with Color
    6. Example 18.1.5 Changing Circles
    7. Exercise 18.1.6 Your First Visualization
    8. Exercise 18.1.7 Changing Colors
    9. Exercise 18.1.8 Custom Colors
    10. Exercise 18.1.9 Create Your Own Music Visualization
  19. Extra Quiz Questions

    1. 19.1 Basic Javascript and Graphics

    2. Check for Understanding 19.1.1 For Loop Examples Quiz
    3. Quiz 19.1.2 Extra JavaScript Graphics Quesions
    4. Quiz 19.1.3 Extra Logical Operators Questions
    5. Quiz 19.1.4 Extra Functions and Return Values Questions
    6. Quiz 19.1.5 Extra Local Variables and Scope Questions
    7. Check for Understanding 19.1.6 General For Loop Quiz
    8. 19.2 Animation and Games

    9. Quiz 19.2.1 Extra Timers Questions
    10. Quiz 19.2.2 Extra Bouncing Ball Questions
    11. Quiz 19.2.3 Extra Mouse Events: Mouse Clicked Questions
    12. Quiz 19.2.4 Extra Key Events Questions
    13. Quiz 19.2.5 Extra Crazy Ball Game Questions
    14. 19.3 Basic Data Structures

    15. Quiz 19.3.1 Extra Intro to Lists/Arrays Questions
    16. Quiz 19.3.2 Extra Indexing into an Array Questions
    17. Quiz 19.3.3 Extra Adding/Removing from an Array Questions
    18. Quiz 19.3.4 Extra Array Length and Looping Through Arrays Questions
    19. Quiz 19.3.5 Extra Iterating Over an Array Questions
    20. Quiz 19.3.6 Extra Finding an Element in a List Questions
    21. Quiz 19.3.7 Extra Removing an Element from an Array Questions
    22. Quiz 19.3.8 Extra Basics of Objects Questions
    23. Quiz 19.3.9 Extra Intro to Sets Questions
    24. Quiz 19.3.10 Extra Intro to Grids Questions
  20. Extension: Arrays

    1. 20.1 Intro to Arrays

    2. Video 20.1.1 Intro to Arrays
    3. Notes 20.1.2 When to Use Arrays?
    4. Check for Understanding 20.1.3 Intro to Arrays Quiz
    5. Example 20.1.4 Array Basics
    6. Exercise 20.1.5 Exploration: A Boxy Array
    7. Exercise 20.1.6 List of Places to Travel
    8. Exercise 20.1.7 Top Websites
    9. 20.2 Adding & Removing from an Array

    10. Video 20.2.1 Adding & Removing from an Array
    11. Check for Understanding 20.2.2 Adding & Removing from an Array Quiz
    12. Notes 20.2.3 A Note About Arrays as Parameters
    13. Example 20.2.4 Temperature Array
    14. Exercise 20.2.5 Exploration: Creating a To-Do List
    15. Exercise 20.2.6 Stacking Barrels
    16. Exercise 20.2.7 Key Logging
    17. 20.3 Iterating Through an Array

    18. Video 20.3.1 Iterate Through an Array
    19. Check for Understanding 20.3.2 Iterate Through an Array Quiz
    20. Example 20.3.3 Print Shopping Lists
    21. Debugging 20.3.4 Test Average
    22. Exercise 20.3.5 Reverse List
    23. Exercise 20.3.6 Evens Only List
    24. Challenge 20.3.7 Dice Roll Probabilities
    25. Free Response 20.3.8 Dice Probability Reflection
    26. 20.4 Array Iteration with Graphics

    27. Notes 20.4.1 Array Iteration with Graphics
    28. Quiz 20.4.2 Array Iteration with Graphics Quiz
    29. Example 20.4.3 Snow Storm
    30. Exercise 20.4.4 Exploration: Changing Properties
    31. Exercise 20.4.5 Draw a Barcode
    32. Exercise 20.4.6 Wind Turbines
    33. Challenge 20.4.7 Parallax Challenge
    34. 20.5 Array Methods

    35. Notes 20.5.1 Array Methods
    36. Example 20.5.2 Email List
    37. Example 20.5.3 Weekly Temperatures
    38. Example 20.5.4 Splitting Up Tasks
    39. Exercise 20.5.5 Mutual Friends
    40. Challenge 20.5.6 Scientific Data
  21. Extension: Objects

    1. 21.1 Intro to Objects

    2. Video 21.1.1 Intro to Objects
    3. Check for Understanding 21.1.2 Intro to Objects Quiz
    4. Example 21.1.3 Phonebook
    5. Exercise 21.1.4 Movie Database
    6. Video 21.1.5 Object Literals & Properties
    7. Example 21.1.6 Car Objects
    8. Exercise 21.1.7 Two Player
    9. Exercise 21.1.8 Shopping Cart
    10. 21.2 Graphic Objects

    11. Video 21.2.1 Graphic Objects
    12. Notes 21.2.2 A Note About Objects as Parameters
    13. Example 21.2.3 Super Bouncers
    14. Example 21.2.4 Falling Blocks
    15. Exercise 21.2.5 Exploration: Our Solar System
    16. Exercise 21.2.6 Fireflies
    17. Free Response 21.2.7 Firefly Reflection
    18. Challenge 21.2.8 Level 1 Knight
    19. 21.3 Object Methods

    20. Video 21.3.1 Object Methods
    21. Quiz 21.3.2 Object Methods Quiz
    22. Example 21.3.3 Party Ball
    23. Exercise 21.3.4 Exploration: Digi Pet
    24. Exercise 21.3.5 Level 2 Knight
    25. Exercise 21.3.6 Bank Account
    26. 21.4 Iterating Through an Object

    27. Video 21.4.1 Iterating Through an Object
    28. Check for Understanding 21.4.2 Iterating Through an Object Quiz
    29. Notes 21.4.3 Property or Method?
    30. Example 21.4.4 Phonebook Extended
    31. Example 21.4.5 Bouncing Emoji
    32. Exercise 21.4.6 Starry Night
    33. Exercise 21.4.7 Let's Go Birding
    34. Exercise 21.4.8 Asteroids
    35. 21.5 Object Constructors

    36. Video 21.5.1 Object Constructors
    37. Quiz 21.5.2 Object Constructors Quiz
    38. Example 21.5.3 New Person
    39. Example 21.5.4 CodeHS Graphics are Objects
    40. Debugging 21.5.5 Musical Instruments
    41. Exercise 21.5.6 Level 3 Knight
    42. Exercise 21.5.7 Bank Account Constructor
    43. Challenge 21.5.8 Hobby Constructors
    44. Notes 21.5.9 Advanced Extension: Prototypes and Inheritance
  22. Extension: Additional Data Structures

    1. 22.1 Intro to Sets

    2. Video 22.1.1 Intro to Sets
    3. Check for Understanding 22.1.2 Intro to Sets Quiz
    4. Example 22.1.3 Basic Sets
    5. Exercise 22.1.4 Vowels
    6. Exercise 22.1.5 Mutual Friends
    7. Exercise 22.1.6 Total Network of Friends
    8. 22.2 Intro to Grids

    9. Video 22.2.1 Intro to Grids
    10. Check for Understanding 22.2.2 Intro to Grids Quiz
    11. Example 22.2.3 Grid Basics
    12. Exercise 22.2.4 Building a Database
    13. 22.3 Looping Over a Grid

    14. Video 22.3.1 Looping Over a Grid
    15. Check for Understanding 22.3.2 Looping Over a Grid Quiz
    16. Example 22.3.3 Print Grid
    17. Exercise 22.3.4 Summing Grid
    18. 22.4 Grid Example: Get a Row

    19. Video 22.4.1 Grid Example: Get a Row
    20. Check for Understanding 22.4.2 Grid Example: Get a Row Quiz
    21. Example 22.4.3 Get a Row
    22. Exercise 22.4.4 Grid Diagonal
    23. Challenge 22.4.5 Watercolor Grid
    24. Badge 22.4.6 Data Structures Exercises Badge
  23. Practice: Data Structures Challenges

    1. 23.1 Conway's Game of Life

    2. Exercise 23.1.1 Make The Grid
    3. Exercise 23.1.2 Find Life
    4. Exercise 23.1.3 Finish Up
    5. 23.2 Connect Four

    6. Exercise 23.2.1 Make The Board
    7. Exercise 23.2.2 Take Turns
    8. Exercise 23.2.3 Find the Winner
  24. Project: Tic Tac Toe

    1. 24.1 Tic Tac Toe

    2. Challenge 24.1.1 Tic Tac Toe: Part 1
    3. Challenge 24.1.2 Tic Tac Toe: Part 2
    4. Challenge 24.1.3 Tic Tac Toe: Full Game
    5. Badge 24.1.4 Tic Tac Toe Badge
  25. Project: Helicopter Game

    1. 25.1 Game Design: Helicopter

    2. Video 25.1.1 Introduction to Helicopter
    3. 25.2 Basics

    4. Video 25.2.1 Moving the Helicopter
    5. Exercise 25.2.2 Moving the Helicopter
    6. Video 25.2.3 Adding Obstacles
    7. Exercise 25.2.4 Adding Obstacles
    8. Video 25.2.5 Smoother Movement
    9. Exercise 25.2.6 Smoother Movement
    10. Badge 25.2.7 Smooth Movement Badge
    11. 25.3 Improvements

    12. Video 25.3.1 Colliding with Walls
    13. Exercise 25.3.2 Wall Collisions
    14. Video 25.3.3 Colliding with Obstacles
    15. Exercise 25.3.4 Obstacle Collisions
    16. Video 25.3.5 Adding Terrain
    17. Exercise 25.3.6 Adding Terrain
    18. Video 25.3.7 Moving the Terrain
    19. Exercise 25.3.8 Moving the Terrain
    20. 25.4 Polish

    21. Video 25.4.1 Helicopter Image and Points!
    22. Exercise 25.4.2 Image and Points
    23. Video 25.4.3 Dust
    24. Exercise 25.4.4 Dust
    25. Video 25.4.5 More Obstacles
    26. Exercise 25.4.6 More Obstacles
    27. Challenge 25.4.7 Helicopter Extensions
    28. Badge 25.4.8 Helicopter Badge
    29. 25.5 Intro to Computer Science Completed

    30. Badge 25.5.1 Intro to Computer Science Badge
  26. Intro to CS: JavaScript Pretest

    1. 26.1 Intro to CS: JavaScript Pretest

    2. Notes 26.1.1 About the Pretest
    3. Survey 26.1.2 Mindsets
    4. Quiz 26.1.3 JavaScript Knowledge & Skills
  27. JavaScript Level 1 Certification Practice

    1. 27.1 JavaScript Syntax Update

    2. Notes 27.1.1 JavaScript Syntax Update
    3. Example 27.1.2 Syntax Comparison
    4. Example 27.1.3 Re-declaring Variables: Let vs Var
    5. Exercise 27.1.4 Name and Game
    6. Quiz 27.1.5 JavaScript Syntax Update Quiz
    7. 27.2 Practice #1: JavaScript Basics

    8. Quiz 27.2.1 Quiz: JavaScript Basics
    9. Notes 27.2.2 Practice #1 Reflection
    10. 27.3 Practice #2: JavaScript Control Structures

    11. Quiz 27.3.1 Quiz: JavaScript Control Structures
    12. Notes 27.3.2 Practice #2 Reflection
    13. 27.4 Practice #3: JavaScript Functions and Objects

    14. Quiz 27.4.1 Quiz: JavaScript Functions and Objects
    15. Notes 27.4.2 Practice #3 Reflection