### Please enable JavaScript to use CodeHS

Introduction to Computer Science in JavaScript (Collie)

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
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 SuperKarel)
46. Exercise 1.8.4 The Two Towers + SuperKarel
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
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
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
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
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
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
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
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
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
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
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
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
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!
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!
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)
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)
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

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
14. ## Practice: Karel

1. ### 14.1 Extra Karel Practice

2. Challenge 14.1.1 Functions Practice: K For Karel
3. Challenge 14.1.2 Functions Practice: Karel Plants A Tree
4. Challenge 14.1.3 Functions Practice: X Marks the Spot
5. Challenge 14.1.4 While Loop Practice: Blackout
6. Challenge 14.1.5 While Loop Practice: Move To Top
7. Challenge 14.1.6 While Loop Practice: Checkered Row
8. Challenge 14.1.7 For Loop Practice: Tall Hurdles
9. Challenge 14.1.8 Functions and While Loop Practice: Row and Back
10. Challenge 14.1.9 Functions and For Loop Practice: Opposite Squares
11. Challenge 14.1.10 Stairway To Heaven
13. Exercise 14.1.12 For Loop Square
14. ### 14.2 Extra Karel Puzzles

15. Challenge 14.2.1 Midpoint Karel
16. Challenge 14.2.2 Target Karel
17. Challenge 14.2.3 The Winding Yellow Road
18. Challenge 14.2.4 Super Random Hurdles
19. Challenge 14.2.5 Copy
20. Challenge 14.2.6 Multiply
21. Challenge 14.2.7 Fibonacci Karel
22. Challenge 14.2.8 Comparison Karel
23. Challenge 14.2.9 Swap
24. Challenge 14.2.10 Sorting Karel
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
6. Challenge 15.1.5 Concentric Circles
7. Challenge 15.1.6 Graphics Staircase
8. Exercise 15.1.7 The Weekend
16. ## Practice: Console Challenges

1. ### 16.1 Prime Numbers

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
17. ## Practice: Graphics and Animation

1. ### 17.1 Snake Game

2. Challenge 17.1.1 A Growing Snake
3. Challenge 17.1.2 Collisions
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
13. Challenge 17.2.7 Circles in Circles
14. Challenge 17.2.8 Snowman Loop
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
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
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
8. Video 25.2.5 Smoother Movement
9. Exercise 25.2.6 Smoother Movement
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
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