Please enable JavaScript to use CodeHS

Introduction to Computer Science in JavaScript (Bulldog) - 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. Animation and Games

    1. 10.1 Timers

    2. Video 10.1.1 Timers
    3. Check for Understanding 10.1.2 Timers Quiz
    4. Example 10.1.3 Moving Ball
    5. Example 10.1.4 Magic 8 Ball
    6. Exercise 10.1.5 Crazy Ball
    7. Exercise 10.1.6 Paint Splatter
    8. Notes 10.1.7 Project: Evasion (Timers)
    9. Free Response 10.1.8 Project Info and Links
    10. 10.2 Stopping Timers

    11. Video 10.2.1 Stopping Timers
    12. Check for Understanding 10.2.2 Stop Timer Quiz
    13. Example 10.2.3 Random Circles
    14. Exercise 10.2.4 Growing Circle
    15. Exercise 10.2.5 Brick Wall
    16. Notes 10.2.6 Project: Evasion (Stop Timers)
    17. Badge 10.2.7 Animating Shapes Badge
    18. 10.3 Collisions

    19. Video 10.3.1 Collisions
    20. Video 10.3.2 Live Coding: Collisions
    21. Check for Understanding 10.3.3 Collisions Quiz
    22. Example 10.3.4 Bouncing Ball
    23. Exercise 10.3.5 Collision Simulation
    24. Exercise 10.3.6 Carnival Game
    25. Notes 10.3.7 Project: Evasion (Collisions)
    26. 10.4 Mouse Click Events

    27. Video 10.4.1 Mouse Click Events
    28. Check for Understanding 10.4.2 Mouse Click Quiz
    29. Example 10.4.3 Click For Circles
    30. Exercise 10.4.4 Pausing the Carnival Game
    31. Exercise 10.4.5 Dripping Paint
    32. Notes 10.4.6 Project: Evasion (Mouse Click)
    33. 10.5 More Mouse Events

    34. Video 10.5.1 More Mouse Events
    35. Check for Understanding 10.5.2 More Mouse Events Quiz
    36. Example 10.5.3 Simple Painting
    37. Example 10.5.4 Painting with Color
    38. Exercise 10.5.5 Coordinates
    39. Exercise 10.5.6 Target
    40. Exercise 10.5.7 Drag and Drop
    41. Notes 10.5.8 Project: Evasion (More Mouse)
    42. Badge 10.5.9 Advanced Animator Badge
    43. 10.6 Key Events

    44. Video 10.6.1 Key Events
    45. Check for Understanding 10.6.2 Key Events Quiz
    46. Example 10.6.3 Keyboard Character
    47. Exercise 10.6.4 Basic Snake
    48. Notes 10.6.5 Project: Evasion (Key Events)
    49. Free Response 10.6.6 Project Reflection
    50. 10.7 Animation and Games Quiz

    51. Unit Quiz 10.7.1 Animation and Games Quiz
  11. Animation Challenges

    1. 11.1 Animation Challenges

    2. Challenge 11.1.1 Blinking Rectangles
    3. Challenge 11.1.2 Increasing Number of Shapes
  12. Project: Breakout

    1. 12.1 Breakout

    2. Notes 12.1.1 Breakout Introduction
    3. Challenge 12.1.2 Bricks
    4. Challenge 12.1.3 Ball and Paddle
    5. Challenge 12.1.4 Collisions
    6. Badge 12.1.5 Breakout Badge
  13. Data Structures: Arrays

    1. 13.1 Intro to Arrays

    2. Video 13.1.1 Intro to Arrays
    3. Notes 13.1.2 When to Use Arrays?
    4. Check for Understanding 13.1.3 Intro to Arrays Quiz
    5. Example 13.1.4 Array Basics
    6. Exercise 13.1.5 Exploration: A Boxy Array
    7. Exercise 13.1.6 List of Places to Travel
    8. Exercise 13.1.7 Top Websites
    9. 13.2 Adding & Removing from an Array

    10. Video 13.2.1 Adding & Removing from an Array
    11. Check for Understanding 13.2.2 Adding & Removing from an Array Quiz
    12. Notes 13.2.3 A Note About Arrays as Parameters
    13. Example 13.2.4 Temperature Array
    14. Exercise 13.2.5 Exploration: Creating a To-Do List
    15. Exercise 13.2.6 Stacking Barrels
    16. Exercise 13.2.7 Key Logging
    17. 13.3 Iterating Through an Array

    18. Video 13.3.1 Iterate Through an Array
    19. Check for Understanding 13.3.2 Iterate Through an Array Quiz
    20. Example 13.3.3 Print Shopping Lists
    21. Debugging 13.3.4 Test Average
    22. Exercise 13.3.5 Reverse List
    23. Exercise 13.3.6 Evens Only List
    24. Challenge 13.3.7 Dice Roll Probabilities
    25. Free Response 13.3.8 Dice Probability Reflection
    26. 13.4 Array Iteration with Graphics

    27. Notes 13.4.1 Array Iteration with Graphics
    28. Quiz 13.4.2 Array Iteration with Graphics Quiz
    29. Example 13.4.3 Snow Storm
    30. Exercise 13.4.4 Exploration: Changing Properties
    31. Exercise 13.4.5 Draw a Barcode
    32. Exercise 13.4.6 Wind Turbines
    33. Challenge 13.4.7 Parallax Challenge
    34. 13.5 Array Methods

    35. Notes 13.5.1 Array Methods
    36. Example 13.5.2 Email List
    37. Example 13.5.3 Weekly Temperatures
    38. Example 13.5.4 Splitting Up Tasks
    39. Exercise 13.5.5 Mutual Friends
    40. Challenge 13.5.6 Scientific Data
  14. Data Structures: Objects

    1. 14.1 Intro to Objects

    2. Video 14.1.1 Intro to Objects
    3. Check for Understanding 14.1.2 Intro to Objects Quiz
    4. Example 14.1.3 Phonebook
    5. Exercise 14.1.4 Movie Database
    6. Video 14.1.5 Object Literals & Properties
    7. Example 14.1.6 Car Objects
    8. Exercise 14.1.7 Two Player
    9. Exercise 14.1.8 Shopping Cart
    10. 14.2 Graphic Objects

    11. Video 14.2.1 Graphic Objects
    12. Notes 14.2.2 A Note About Objects as Parameters
    13. Example 14.2.3 Super Bouncers
    14. Example 14.2.4 Falling Blocks
    15. Exercise 14.2.5 Exploration: Our Solar System
    16. Exercise 14.2.6 Fireflies
    17. Free Response 14.2.7 Firefly Reflection
    18. Challenge 14.2.8 Level 1 Knight
    19. 14.3 Object Methods

    20. Video 14.3.1 Object Methods
    21. Quiz 14.3.2 Object Methods Quiz
    22. Example 14.3.3 Party Ball
    23. Exercise 14.3.4 Exploration: Digi Pet
    24. Exercise 14.3.5 Level 2 Knight
    25. Exercise 14.3.6 Bank Account
    26. 14.4 Iterating Through an Object

    27. Video 14.4.1 Iterating Through an Object
    28. Check for Understanding 14.4.2 Iterating Through an Object Quiz
    29. Notes 14.4.3 Property or Method?
    30. Example 14.4.4 Phonebook Extended
    31. Example 14.4.5 Bouncing Emoji
    32. Exercise 14.4.6 Starry Night
    33. Exercise 14.4.7 Let's Go Birding
    34. Exercise 14.4.8 Asteroids
    35. 14.5 Object Constructors

    36. Video 14.5.1 Object Constructors
    37. Quiz 14.5.2 Object Constructors Quiz
    38. Example 14.5.3 New Person
    39. Example 14.5.4 CodeHS Graphics are Objects
    40. Debugging 14.5.5 Musical Instruments
    41. Exercise 14.5.6 Level 3 Knight
    42. Exercise 14.5.7 Bank Account Constructor
    43. Challenge 14.5.8 Hobby Constructors
    44. Notes 14.5.9 Advanced Extension: Prototypes and Inheritance
  15. Project: Tic Tac Toe

    1. 15.1 Tic Tac Toe

    2. Challenge 15.1.1 Tic Tac Toe: Part 1
    3. Challenge 15.1.2 Tic Tac Toe: Part 2
    4. Challenge 15.1.3 Tic Tac Toe: Full Game
    5. Badge 15.1.4 Tic Tac Toe Badge
  16. Project: Helicopter Game

    1. 16.1 Game Design: Helicopter

    2. Video 16.1.1 Introduction to Helicopter
    3. 16.2 Basics

    4. Video 16.2.1 Moving the Helicopter
    5. Exercise 16.2.2 Moving the Helicopter
    6. Video 16.2.3 Adding Obstacles
    7. Exercise 16.2.4 Adding Obstacles
    8. Video 16.2.5 Smoother Movement
    9. Exercise 16.2.6 Smoother Movement
    10. Badge 16.2.7 Smooth Movement Badge
    11. 16.3 Improvements

    12. Video 16.3.1 Colliding with Walls
    13. Exercise 16.3.2 Wall Collisions
    14. Video 16.3.3 Colliding with Obstacles
    15. Exercise 16.3.4 Obstacle Collisions
    16. Video 16.3.5 Adding Terrain
    17. Exercise 16.3.6 Adding Terrain
    18. Video 16.3.7 Moving the Terrain
    19. Exercise 16.3.8 Moving the Terrain
    20. 16.4 Polish

    21. Video 16.4.1 Helicopter Image and Points!
    22. Exercise 16.4.2 Image and Points
    23. Video 16.4.3 Dust
    24. Exercise 16.4.4 Dust
    25. Video 16.4.5 More Obstacles
    26. Exercise 16.4.6 More Obstacles
    27. Challenge 16.4.7 Helicopter Extensions
    28. Badge 16.4.8 Helicopter Badge
  17. Final Project

    1. 17.1 Project Prep and Development

    2. Notes 17.1.1 Project Introduction
    3. Free Response 17.1.2 Planning and Design
    4. Pseudocode 17.1.3 Pseudocode
    5. Challenge 17.1.4 Write the Code!
    6. Presentation 17.1.5 Present your Project
  18. Final Exam

    1. 18.1 Final Exam

    2. Final 18.1.1 JavaScript Final Exam Pt. 1: Multiple Choice
  19. Midterm

    1. 19.1 Midterm

    2. Midterm 19.1.1 Midterm Pt 1: Multiple Choice
  20. Extension: Additional Data Structures

    1. 20.1 Intro to Sets

    2. Video 20.1.1 Intro to Sets
    3. Check for Understanding 20.1.2 Intro to Sets Quiz
    4. Example 20.1.3 Basic Sets
    5. Exercise 20.1.4 Vowels
    6. Exercise 20.1.5 Mutual Friends
    7. Exercise 20.1.6 Total Network of Friends
    8. 20.2 Intro to Grids

    9. Video 20.2.1 Intro to Grids
    10. Check for Understanding 20.2.2 Intro to Grids Quiz
    11. Example 20.2.3 Grid Basics
    12. Exercise 20.2.4 Building a Database
    13. 20.3 Looping Over a Grid

    14. Video 20.3.1 Looping Over a Grid
    15. Check for Understanding 20.3.2 Looping Over a Grid Quiz
    16. Example 20.3.3 Print Grid
    17. Exercise 20.3.4 Summing Grid
    18. 20.4 Grid Example: Get a Row

    19. Video 20.4.1 Grid Example: Get a Row
    20. Check for Understanding 20.4.2 Grid Example: Get a Row Quiz
    21. Example 20.4.3 Get a Row
    22. Exercise 20.4.4 Grid Diagonal
    23. Challenge 20.4.5 Watercolor Grid
    24. Badge 20.4.6 Data Structures Exercises Badge
  21. Practice: Karel

    1. 21.1 Karel Syntax, IDE, and Commands

    2. Video 21.1.1 Syntax Introduction
    3. Quiz 21.1.2 Syntax Check for Understanding
    4. Video 21.1.3 IDE Introduction
    5. Quiz 21.1.4 IDE Check for Understanding
    6. Video 21.1.5 Parentheses and Semicolons Intro
    7. Exercise 21.1.6 Bad Karel Code
    8. Video 21.1.7 Bad Karel Code Errors
    9. Exercise 21.1.8 More Bad Karel Code
    10. Video 21.1.9 More Bad Karel Code Errors
    11. 21.2 Debugging with Karel

    12. Video 21.2.1 Debugging with Karel Error Messages
    13. Debugging 21.2.2 Dancing Karel
    14. Debugging 21.2.3 Go Through the Door
    15. Free Response 21.2.4 Debugging Reflection
    16. Video 21.2.5 Debugging Strategies
    17. Check for Understanding 21.2.6 Debugging
    18. Debugging 21.2.7 Face the Right Direction
    19. Debugging 21.2.8 Fetch Puzzle
    20. Debugging 21.2.9 Debug: Lots of Hurdles
    21. Debugging 21.2.10 Debug: The Two Towers
    22. Free Response 21.2.11 Debugging Reflection
    23. 21.3 Extra Karel Practice

    24. Challenge 21.3.1 Functions Practice: K For Karel
    25. Challenge 21.3.2 Functions Practice: Karel Plants A Tree
    26. Challenge 21.3.3 Functions Practice: X Marks the Spot
    27. Challenge 21.3.4 While Loop Practice: Blackout
    28. Challenge 21.3.5 While Loop Practice: Move To Top
    29. Challenge 21.3.6 While Loop Practice: Checkered Row
    30. Challenge 21.3.7 For Loop Practice: Tall Hurdles
    31. Challenge 21.3.8 Functions and While Loop Practice: Row and Back
    32. Challenge 21.3.9 Functions and For Loop Practice: Opposite Squares
    33. Challenge 21.3.10 Stairway To Heaven
    34. Badge 21.3.11 Karel Practice Badge
    35. Challenge 21.3.12 For Loop Practice: Square
    36. 21.4 Extra Karel Puzzles

    37. Challenge 21.4.1 Midpoint Karel
    38. Challenge 21.4.2 Target Karel
    39. Challenge 21.4.3 The Winding Yellow Road
    40. Challenge 21.4.4 Super Random Hurdles
    41. Challenge 21.4.5 Copy
    42. Challenge 21.4.6 Multiply
    43. Challenge 21.4.7 Fibonacci Karel
    44. Challenge 21.4.8 Comparison Karel
    45. Challenge 21.4.9 Swap
    46. Challenge 21.4.10 Sorting Karel
    47. Badge 21.4.11 Karel Puzzles Badge
  22. Practice: Functions

    1. 22.1 Functions and Parameters Practice

    2. Challenge 22.1.1 Taking a Power
    3. Challenge 22.1.2 Dot Rectangle
    4. Challenge 22.1.3 Print the Date
    5. Challenge 22.1.4 Grades
    6. Challenge 22.1.5 Concentric Circles
    7. Challenge 22.1.6 Graphics Staircase
    8. Exercise 22.1.7 The Weekend
    9. Badge 22.1.8 Functions and Parameters Badge
  23. Practice: Console Challenges

    1. 23.1 Prime Numbers

    2. Example 23.1.1 Secret Password
    3. Example 23.1.2 Voting Age
    4. Example 23.1.3 Negative Numbers
    5. Exercise 23.1.4 Fibonacci
    6. Exercise 23.1.5 Better Sum
    7. Exercise 23.1.6 Factorial
    8. Exercise 23.1.7 All Dice Values
    9. Exercise 23.1.8 Powers of Two
    10. Challenge 23.1.9 Prime Numbers
    11. Challenge 23.1.10 Find the Max
    12. Challenge 23.1.11 Prime Factorization
    13. Challenge 23.1.12 Fizz Buzz
    14. Challenge 23.1.13 Grid Printer
    15. Challenge 23.1.14 Number Sum
    16. Challenge 23.1.15 Hailstone Sequence
    17. Challenge 23.1.16 Pythagorean Triples
    18. Challenge 23.1.17 Digit Array
    19. Badge 23.1.18 Console Challenges Badge
  24. Practice: Graphics and Animation

    1. 24.1 Snake Game

    2. Challenge 24.1.1 A Growing Snake
    3. Challenge 24.1.2 Collisions
    4. Challenge 24.1.3 Adding Food
    5. Challenge 24.1.4 Finishing Touches
    6. 24.2 Fun Graphics Challenges

    7. Exercise 24.2.1 The Worm
    8. Challenge 24.2.2 Happy Birthday!
    9. Challenge 24.2.3 Balloons
    10. Challenge 24.2.4 Broccoli
    11. Challenge 24.2.5 Circles in Squares
    12. Challenge 24.2.6 Blinking Rectangles
    13. Challenge 24.2.7 Circles in Circles
    14. Challenge 24.2.8 Snowman Loop
    15. Badge 24.2.9 Graphics Challenges Badge
    16. 24.3 Animation Practice

    17. Example 24.3.1 Random Ghosts
    18. Example 24.3.2 Spinner
    19. Example 24.3.3 Random Fireworks
    20. Example 24.3.4 Drawing Lines
    21. Example 24.3.5 Colorful Drag to Paint
    22. Example 24.3.6 Keyboard Square
    23. Example 24.3.7 Click For Ghosts
    24. Exercise 24.3.8 Circle Wall
    25. Exercise 24.3.9 Hotspot Ball
    26. Exercise 24.3.10 Trail
    27. Exercise 24.3.11 Teleporting Ball
    28. Exercise 24.3.12 Leash
    29. Exercise 24.3.13 Pause
    30. 24.4 Crazy Ball Game

    31. Video 24.4.1 Crazy Ball Game 1
    32. Check for Understanding 24.4.2 Crazy Ball Game Quiz 1
    33. Example 24.4.3 Crazy Ball Game 1
    34. Video 24.4.4 Crazy Ball Game 2
    35. Check for Understanding 24.4.5 Crazy Ball Game Quiz 2
    36. Example 24.4.6 Crazy Ball Game 2
    37. Exercise 24.4.7 Click for Collision
    38. Exercise 24.4.8 Drag and Drop
  25. Extra Quiz Questions

    1. 25.1 Basic Javascript and Graphics

    2. Check for Understanding 25.1.1 For Loop Examples Quiz
    3. Quiz 25.1.2 Extra JavaScript Graphics Quesions
    4. Quiz 25.1.3 Extra Logical Operators Questions
    5. Quiz 25.1.4 Extra Functions and Return Values Questions
    6. Quiz 25.1.5 Extra Local Variables and Scope Questions
    7. Check for Understanding 25.1.6 General For Loop Quiz
    8. 25.2 Animation and Games

    9. Quiz 25.2.1 Extra Timers Questions
    10. Quiz 25.2.2 Extra Bouncing Ball Questions
    11. Quiz 25.2.3 Extra Mouse Events: Mouse Clicked Questions
    12. Quiz 25.2.4 Extra Key Events Questions
    13. Quiz 25.2.5 Extra Crazy Ball Game Questions
    14. 25.3 Basic Data Structures

    15. Quiz 25.3.1 Extra Intro to Lists/Arrays Questions
    16. Quiz 25.3.2 Extra Indexing into an Array Questions
    17. Quiz 25.3.3 Extra Adding/Removing from an Array Questions
    18. Quiz 25.3.4 Extra Array Length and Looping Through Arrays Questions
    19. Quiz 25.3.5 Extra Iterating Over an Array Questions
    20. Quiz 25.3.6 Extra Finding an Element in a List Questions
    21. Quiz 25.3.7 Extra Removing an Element from an Array Questions
    22. Quiz 25.3.8 Extra Basics of Objects Questions
    23. Quiz 25.3.9 Extra Intro to Sets Questions
    24. Quiz 25.3.10 Extra Intro to Grids Questions
  26. Extension: Visualizing Music

    1. 26.1 Visualizing Music

    2. Video 26.1.1 Visualizing Music
    3. Example 26.1.2 Our First Visualization
    4. Example 26.1.3 Vertical Bars
    5. Example 26.1.4 Vertical Bars with Color
    6. Example 26.1.5 Changing Circles
    7. Exercise 26.1.6 Your First Visualization
    8. Exercise 26.1.7 Changing Colors
    9. Exercise 26.1.8 Custom Colors
    10. Exercise 26.1.9 Create Your Own Music Visualization
  27. Extension: Data Structures Challenges

    1. 27.1 Conway's Game of Life

    2. Exercise 27.1.1 Make The Grid
    3. Exercise 27.1.2 Find Life
    4. Exercise 27.1.3 Finish Up
    5. 27.2 Connect Four

    6. Exercise 27.2.1 Make The Board
    7. Exercise 27.2.2 Take Turns
    8. Exercise 27.2.3 Find the Winner
  28. Intro to CS: JavaScript Pretest

    1. 28.1 Intro to CS: JavaScript Pretest

    2. Notes 28.1.1 About the Pretest
    3. Survey 28.1.2 Mindsets
    4. Quiz 28.1.3 JavaScript Knowledge & Skills
  29. JavaScript Level 1 Certification Practice

    1. 29.1 JavaScript Syntax Update

    2. Notes 29.1.1 JavaScript Syntax Update
    3. Example 29.1.2 Syntax Comparison
    4. Example 29.1.3 Re-declaring Variables: Let vs Var
    5. Exercise 29.1.4 Name and Game
    6. Quiz 29.1.5 JavaScript Syntax Update Quiz
    7. 29.2 Practice #1: JavaScript Basics

    8. Quiz 29.2.1 Quiz: JavaScript Basics
    9. Notes 29.2.2 Practice #1 Reflection
    10. 29.3 Practice #2: JavaScript Control Structures

    11. Quiz 29.3.1 Quiz: JavaScript Control Structures
    12. Notes 29.3.2 Practice #2 Reflection
    13. 29.4 Practice #3: JavaScript Functions and Objects

    14. Quiz 29.4.1 Quiz: JavaScript Functions and Objects
    15. Notes 29.4.2 Practice #3 Reflection