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. Software Development Project

    1. 21.1 Software Development Life Cycle

    2. Video 21.1.1 Development Life Cycle
    3. Check for Understanding 21.1.2 Development Life Cycle
    4. Connection 21.1.3 Scrum Framework
    5. Free Response 21.1.4 SCRUM Response
    6. Notes 21.1.5 Project Overview
    7. Free Response 21.1.6 Analyze a Problem
    8. Free Response 21.1.7 App Topic Brainstorm
    9. 21.2 Plan and Design

    10. Video 21.2.1 Rapid Prototyping: Sketching
    11. Free Response 21.2.2 Create a Paper Prototype
    12. Connection 21.2.3 Using Flowcharts
    13. Free Response 21.2.4 Create a Flowchart
    14. Free Response 21.2.5 Pseudocode
    15. HTML Notes 21.2.6 Quality Assurance
    16. Free Response 21.2.7 Quality Assurance Plan
    17. 21.3 Develop Round 1

    18. Example 21.3.1 Button Exploration
    19. Free Response 21.3.2 Online Collaboration Tools
    20. Challenge 21.3.3 Program Your App - Version 1
    21. 21.4 Test

    22. Notes 21.4.1 User Testing Introduction
    23. Free Response 21.4.2 Develop a User Testing Plan
    24. Free Response 21.4.3 Test Your App!
    25. Free Response 21.4.4 Analyze Data and Draw Conclusions
    26. 21.5 Develop Round 2

    27. Challenge 21.5.1 Program Your App - Final!
    28. 21.6 Deployment

    29. Notes 21.6.1 Launch Your App
    30. Notes 21.6.2 Software Licensing Options
    31. Free Response 21.6.3 Choose a Software License
    32. Free Response 21.6.4 Present Your App
  22. Practice: Karel

    1. 22.1 Karel Syntax, IDE, and Commands

    2. Video 22.1.1 Syntax Introduction
    3. Quiz 22.1.2 Syntax Check for Understanding
    4. Video 22.1.3 IDE Introduction
    5. Quiz 22.1.4 IDE Check for Understanding
    6. Video 22.1.5 Parentheses and Semicolons Intro
    7. Exercise 22.1.6 Bad Karel Code
    8. Video 22.1.7 Bad Karel Code Errors
    9. Exercise 22.1.8 More Bad Karel Code
    10. Video 22.1.9 More Bad Karel Code Errors
    11. 22.2 Debugging with Karel

    12. Video 22.2.1 Debugging with Karel Error Messages
    13. Debugging 22.2.2 Dancing Karel
    14. Debugging 22.2.3 Go Through the Door
    15. Free Response 22.2.4 Debugging Reflection
    16. Video 22.2.5 Debugging Strategies
    17. Check for Understanding 22.2.6 Debugging
    18. Debugging 22.2.7 Face the Right Direction
    19. Debugging 22.2.8 Fetch Puzzle
    20. Debugging 22.2.9 Debug: Lots of Hurdles
    21. Debugging 22.2.10 Debug: The Two Towers
    22. Free Response 22.2.11 Debugging Reflection
    23. 22.3 Extra Karel Practice

    24. Challenge 22.3.1 Functions Practice: K For Karel
    25. Challenge 22.3.2 Functions Practice: Karel Plants A Tree
    26. Challenge 22.3.3 Functions Practice: X Marks the Spot
    27. Challenge 22.3.4 While Loop Practice: Blackout
    28. Challenge 22.3.5 While Loop Practice: Move To Top
    29. Challenge 22.3.6 While Loop Practice: Checkered Row
    30. Challenge 22.3.7 For Loop Practice: Tall Hurdles
    31. Challenge 22.3.8 Functions and While Loop Practice: Row and Back
    32. Challenge 22.3.9 Functions and For Loop Practice: Opposite Squares
    33. Challenge 22.3.10 Stairway To Heaven
    34. Badge 22.3.11 Karel Practice Badge
    35. Challenge 22.3.12 For Loop Practice: Square
    36. 22.4 Extra Karel Puzzles

    37. Challenge 22.4.1 Midpoint Karel
    38. Challenge 22.4.2 Target Karel
    39. Challenge 22.4.3 The Winding Yellow Road
    40. Challenge 22.4.4 Super Random Hurdles
    41. Challenge 22.4.5 Copy
    42. Challenge 22.4.6 Multiply
    43. Challenge 22.4.7 Fibonacci Karel
    44. Challenge 22.4.8 Comparison Karel
    45. Challenge 22.4.9 Swap
    46. Challenge 22.4.10 Sorting Karel
    47. Badge 22.4.11 Karel Puzzles Badge
  23. Practice: Functions

    1. 23.1 Functions and Parameters Practice

    2. Challenge 23.1.1 Taking a Power
    3. Challenge 23.1.2 Dot Rectangle
    4. Challenge 23.1.3 Print the Date
    5. Challenge 23.1.4 Grades
    6. Challenge 23.1.5 Concentric Circles
    7. Challenge 23.1.6 Graphics Staircase
    8. Exercise 23.1.7 The Weekend
    9. Badge 23.1.8 Functions and Parameters Badge
  24. Practice: Console Challenges

    1. 24.1 Prime Numbers

    2. Example 24.1.1 Secret Password
    3. Example 24.1.2 Voting Age
    4. Example 24.1.3 Negative Numbers
    5. Exercise 24.1.4 Fibonacci
    6. Exercise 24.1.5 Better Sum
    7. Exercise 24.1.6 Factorial
    8. Exercise 24.1.7 All Dice Values
    9. Exercise 24.1.8 Powers of Two
    10. Challenge 24.1.9 Prime Numbers
    11. Challenge 24.1.10 Find the Max
    12. Challenge 24.1.11 Prime Factorization
    13. Challenge 24.1.12 Fizz Buzz
    14. Challenge 24.1.13 Grid Printer
    15. Challenge 24.1.14 Number Sum
    16. Challenge 24.1.15 Hailstone Sequence
    17. Challenge 24.1.16 Pythagorean Triples
    18. Challenge 24.1.17 Digit Array
    19. Badge 24.1.18 Console Challenges Badge
  25. Practice: Graphics and Animation

    1. 25.1 Snake Game

    2. Challenge 25.1.1 A Growing Snake
    3. Challenge 25.1.2 Collisions
    4. Challenge 25.1.3 Adding Food
    5. Challenge 25.1.4 Finishing Touches
    6. 25.2 Fun Graphics Challenges

    7. Exercise 25.2.1 The Worm
    8. Challenge 25.2.2 Happy Birthday!
    9. Challenge 25.2.3 Balloons
    10. Challenge 25.2.4 Broccoli
    11. Challenge 25.2.5 Circles in Squares
    12. Challenge 25.2.6 Blinking Rectangles
    13. Challenge 25.2.7 Circles in Circles
    14. Challenge 25.2.8 Snowman Loop
    15. Badge 25.2.9 Graphics Challenges Badge
    16. 25.3 Animation Practice

    17. Example 25.3.1 Random Ghosts
    18. Example 25.3.2 Spinner
    19. Example 25.3.3 Random Fireworks
    20. Example 25.3.4 Drawing Lines
    21. Example 25.3.5 Colorful Drag to Paint
    22. Example 25.3.6 Keyboard Square
    23. Example 25.3.7 Click For Ghosts
    24. Exercise 25.3.8 Circle Wall
    25. Exercise 25.3.9 Hotspot Ball
    26. Exercise 25.3.10 Trail
    27. Exercise 25.3.11 Teleporting Ball
    28. Exercise 25.3.12 Leash
    29. Exercise 25.3.13 Pause
    30. 25.4 Crazy Ball Game

    31. Video 25.4.1 Crazy Ball Game 1
    32. Check for Understanding 25.4.2 Crazy Ball Game Quiz 1
    33. Example 25.4.3 Crazy Ball Game 1
    34. Video 25.4.4 Crazy Ball Game 2
    35. Check for Understanding 25.4.5 Crazy Ball Game Quiz 2
    36. Example 25.4.6 Crazy Ball Game 2
    37. Exercise 25.4.7 Click for Collision
    38. Exercise 25.4.8 Drag and Drop
  26. Extra Quiz Questions

    1. 26.1 Basic Javascript and Graphics

    2. Check for Understanding 26.1.1 For Loop Examples Quiz
    3. Quiz 26.1.2 Extra JavaScript Graphics Quesions
    4. Quiz 26.1.3 Extra Logical Operators Questions
    5. Quiz 26.1.4 Extra Functions and Return Values Questions
    6. Quiz 26.1.5 Extra Local Variables and Scope Questions
    7. Check for Understanding 26.1.6 General For Loop Quiz
    8. 26.2 Animation and Games

    9. Quiz 26.2.1 Extra Timers Questions
    10. Quiz 26.2.2 Extra Bouncing Ball Questions
    11. Quiz 26.2.3 Extra Mouse Events: Mouse Clicked Questions
    12. Quiz 26.2.4 Extra Key Events Questions
    13. Quiz 26.2.5 Extra Crazy Ball Game Questions
    14. 26.3 Basic Data Structures

    15. Quiz 26.3.1 Extra Intro to Lists/Arrays Questions
    16. Quiz 26.3.2 Extra Indexing into an Array Questions
    17. Quiz 26.3.3 Extra Adding/Removing from an Array Questions
    18. Quiz 26.3.4 Extra Array Length and Looping Through Arrays Questions
    19. Quiz 26.3.5 Extra Iterating Over an Array Questions
    20. Quiz 26.3.6 Extra Finding an Element in a List Questions
    21. Quiz 26.3.7 Extra Removing an Element from an Array Questions
    22. Quiz 26.3.8 Extra Basics of Objects Questions
    23. Quiz 26.3.9 Extra Intro to Sets Questions
    24. Quiz 26.3.10 Extra Intro to Grids Questions
  27. Extension: Visualizing Music

    1. 27.1 Visualizing Music

    2. Video 27.1.1 Visualizing Music
    3. Example 27.1.2 Our First Visualization
    4. Example 27.1.3 Vertical Bars
    5. Example 27.1.4 Vertical Bars with Color
    6. Example 27.1.5 Changing Circles
    7. Exercise 27.1.6 Your First Visualization
    8. Exercise 27.1.7 Changing Colors
    9. Exercise 27.1.8 Custom Colors
    10. Exercise 27.1.9 Create Your Own Music Visualization
  28. Extension: Data Structures Challenges

    1. 28.1 Conway's Game of Life

    2. Exercise 28.1.1 Make The Grid
    3. Exercise 28.1.2 Find Life
    4. Exercise 28.1.3 Finish Up
    5. 28.2 Connect Four

    6. Exercise 28.2.1 Make The Board
    7. Exercise 28.2.2 Take Turns
    8. Exercise 28.2.3 Find the Winner
  29. Intro to CS: JavaScript Pretest

    1. 29.1 Intro to CS: JavaScript Pretest

    2. Notes 29.1.1 About the Pretest
    3. Survey 29.1.2 Mindsets
    4. Quiz 29.1.3 JavaScript Knowledge & Skills
  30. JavaScript Level 1 Certification Practice

    1. 30.1 JavaScript Syntax Update

    2. Notes 30.1.1 JavaScript Syntax Update
    3. Example 30.1.2 Syntax Comparison
    4. Example 30.1.3 Re-declaring Variables: Let vs Var
    5. Exercise 30.1.4 Name and Game
    6. Quiz 30.1.5 JavaScript Syntax Update Quiz
    7. 30.2 Practice #1: JavaScript Basics

    8. Quiz 30.2.1 Quiz: JavaScript Basics
    9. Notes 30.2.2 Practice #1 Reflection
    10. 30.3 Practice #2: JavaScript Control Structures

    11. Quiz 30.3.1 Quiz: JavaScript Control Structures
    12. Notes 30.3.2 Practice #2 Reflection
    13. 30.4 Practice #3: JavaScript Functions and Objects

    14. Quiz 30.4.1 Quiz: JavaScript Functions and Objects
    15. Notes 30.4.2 Practice #3 Reflection