### Please enable JavaScript to use CodeHS

Introduction to Computer Science in JavaScript - Pilot (Corgi)

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. ## 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)
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)
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

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
13. ## Final Project

1. ### 13.1 Project Prep and Development

2. Notes 13.1.1 Project Introduction
3. Free Response 13.1.2 Planning and Design
4. Pseudocode 13.1.3 Pseudocode
5. Challenge 13.1.4 Write the Code!
6. Presentation 13.1.5 Present your Project
14. ## Final Exam

1. ### 14.1 Final Exam

2. Final 14.1.1 JavaScript Final Exam Pt. 1: Multiple Choice
15. ## Midterm

1. ### 15.1 Midterm

2. Midterm 15.1.1 Midterm Pt 1: Multiple Choice
16. ## Practice: Karel

1. ### 16.1 Extra Karel Practice

2. Challenge 16.1.1 Functions Practice: K For Karel
3. Challenge 16.1.2 Functions Practice: Karel Plants A Tree
4. Challenge 16.1.3 Functions Practice: X Marks the Spot
5. Challenge 16.1.4 While Loop Practice: Blackout
6. Challenge 16.1.5 While Loop Practice: Move To Top
7. Challenge 16.1.6 While Loop Practice: Checkered Row
8. Challenge 16.1.7 For Loop Practice: Tall Hurdles
9. Challenge 16.1.8 Functions and While Loop Practice: Row and Back
10. Challenge 16.1.9 Functions and For Loop Practice: Opposite Squares
11. Challenge 16.1.10 Stairway To Heaven
13. Exercise 16.1.12 For Loop Square
14. ### 16.2 Extra Karel Puzzles

15. Challenge 16.2.1 Midpoint Karel
16. Challenge 16.2.2 Target Karel
17. Challenge 16.2.3 The Winding Yellow Road
18. Challenge 16.2.4 Super Random Hurdles
19. Challenge 16.2.5 Copy
20. Challenge 16.2.6 Multiply
21. Challenge 16.2.7 Fibonacci Karel
22. Challenge 16.2.8 Comparison Karel
23. Challenge 16.2.9 Swap
24. Challenge 16.2.10 Sorting Karel
17. ## Practice: Functions

1. ### 17.1 Functions and Parameters Practice

2. Challenge 17.1.1 Taking a Power
3. Challenge 17.1.2 Dot Rectangle
4. Challenge 17.1.3 Print the Date
6. Challenge 17.1.5 Concentric Circles
7. Challenge 17.1.6 Graphics Staircase
8. Exercise 17.1.7 The Weekend
18. ## Practice: Console Challenges

1. ### 18.1 Prime Numbers

3. Example 18.1.2 Voting Age
4. Example 18.1.3 Negative Numbers
5. Exercise 18.1.4 Fibonacci
6. Exercise 18.1.5 Better Sum
7. Exercise 18.1.6 Factorial
8. Exercise 18.1.7 All Dice Values
9. Exercise 18.1.8 Powers of Two
10. Challenge 18.1.9 Prime Numbers
11. Challenge 18.1.10 Find the Max
12. Challenge 18.1.11 Prime Factorization
13. Challenge 18.1.12 Fizz Buzz
14. Challenge 18.1.13 Grid Printer
15. Challenge 18.1.14 Number Sum
16. Challenge 18.1.15 Hailstone Sequence
17. Challenge 18.1.16 Pythagorean Triples
18. Challenge 18.1.17 Digit Array
19. ## Practice: Graphics and Animation

1. ### 19.1 Fun Snake

2. Challenge 19.1.1 Fun Snake 1
3. Challenge 19.1.2 Fun Snake 2
4. Challenge 19.1.3 Fun Snake 3
5. Challenge 19.1.4 Fun Snake 4 - A Full Game!
6. ### 19.2 Fun Graphics Challenges

7. Exercise 19.2.1 The Worm
8. Challenge 19.2.2 Happy Birthday!
9. Challenge 19.2.3 Balloons
10. Challenge 19.2.4 Broccoli
11. Challenge 19.2.5 Circles in Squares
13. Challenge 19.2.7 Circles in Circles
14. Challenge 19.2.8 Snowman Loop
16. ### 19.3 Animation Practice

17. Example 19.3.1 Random Ghosts
18. Example 19.3.2 Spinner
19. Example 19.3.3 Random Fireworks
20. Example 19.3.4 Drawing Lines
21. Example 19.3.5 Colorful Drag to Paint
22. Example 19.3.6 Keyboard Square
23. Example 19.3.7 Click For Ghosts
24. Exercise 19.3.8 Circle Wall
25. Exercise 19.3.9 Hotspot Ball
26. Exercise 19.3.10 Trail
27. Exercise 19.3.11 Teleporting Ball
28. Exercise 19.3.12 Leash
29. Exercise 19.3.13 Pause
30. ### 19.4 Crazy Ball Game

31. Video 19.4.1 Crazy Ball Game 1
32. Check for Understanding 19.4.2 Crazy Ball Game Quiz 1
33. Example 19.4.3 Crazy Ball Game 1
34. Video 19.4.4 Crazy Ball Game 2
35. Check for Understanding 19.4.5 Crazy Ball Game Quiz 2
36. Example 19.4.6 Crazy Ball Game 2
37. Exercise 19.4.7 Click for Collision
38. Exercise 19.4.8 Drag and Drop
20. ## Extra Quiz Questions

1. ### 20.1 Basic Javascript and Graphics

2. Check for Understanding 20.1.1 For Loop Examples Quiz
3. Quiz 20.1.2 Extra JavaScript Graphics Quesions
4. Quiz 20.1.3 Extra Logical Operators Questions
5. Quiz 20.1.4 Extra Functions and Return Values Questions
6. Quiz 20.1.5 Extra Local Variables and Scope Questions
7. Check for Understanding 20.1.6 General For Loop Quiz
8. ### 20.2 Animation and Games

9. Quiz 20.2.1 Extra Timers Questions
10. Quiz 20.2.2 Extra Bouncing Ball Questions
11. Quiz 20.2.3 Extra Mouse Events: Mouse Clicked Questions
12. Quiz 20.2.4 Extra Key Events Questions
13. Quiz 20.2.5 Extra Crazy Ball Game Questions
14. ### 20.3 Basic Data Structures

15. Quiz 20.3.1 Extra Intro to Lists/Arrays Questions
16. Quiz 20.3.2 Extra Indexing into an Array Questions
17. Quiz 20.3.3 Extra Adding/Removing from an Array Questions
18. Quiz 20.3.4 Extra Array Length and Looping Through Arrays Questions
19. Quiz 20.3.5 Extra Iterating Over an Array Questions
20. Quiz 20.3.6 Extra Finding an Element in a List Questions
21. Quiz 20.3.7 Extra Removing an Element from an Array Questions
22. Quiz 20.3.8 Extra Basics of Objects Questions
23. Quiz 20.3.9 Extra Intro to Sets Questions
24. Quiz 20.3.10 Extra Intro to Grids Questions
21. ## Extension: Visualizing Music

1. ### 21.1 Visualizing Music

2. Video 21.1.1 Visualizing Music
3. Example 21.1.2 Our First Visualization
4. Example 21.1.3 Vertical Bars
5. Example 21.1.4 Vertical Bars with Color
6. Example 21.1.5 Changing Circles
7. Exercise 21.1.6 Your First Visualization
8. Exercise 21.1.7 Changing Colors
9. Exercise 21.1.8 Custom Colors
10. Exercise 21.1.9 Create Your Own Music Visualization
22. ## Extension: Data Structures

1. ### 22.1 Intro to Lists/Arrays

2. Video 22.1.1 Intro to Lists/Arrays
3. Check for Understanding 22.1.2 Intro to Lists/Arrays Quiz
4. Example 22.1.3 Making an Array
5. Exercise 22.1.4 List of Places to Travel
6. Exercise 22.1.5 List of Even Numbers
7. ### 22.2 Indexing Into an Array

8. Video 22.2.1 Indexing Into an Array
9. Check for Understanding 22.2.2 Indexing into an Array Quiz
10. Example 22.2.3 Array Indexing Practice
11. Exercise 22.2.4 Top Websites
12. ### 22.3 Adding/Removing From an Array

13. Video 22.3.1 Adding/Removing From an Array
14. Check for Understanding 22.3.2 Adding/Removing from an Array Quiz
15. Example 22.3.3 Add/Remove From Array
16. Exercise 22.3.4 Practice Push and Pop
17. ### 22.4 Array Length and Looping Through Arrays

18. Video 22.4.1 Array Length and Looping Through Arrays
19. Check for Understanding 22.4.2 Array Length and Looping Through Arrays Quiz
20. Example 22.4.3 Print Shopping List
21. Example 22.4.4 Sum Array
22. Exercise 22.4.5 Product of List
23. Exercise 22.4.6 Print Flight Itinerary
24. Exercise 22.4.7 Double List
25. Exercise 22.4.8 Evens Only List
26. Exercise 22.4.9 Reverse List
27. ### 22.5 Iterating Over an Array

28. Video 22.5.1 Examples: Iterating Over an Array
29. Check for Understanding 22.5.2 Iterating Over an Array Quiz
30. Example 22.5.3 Coin Flips
31. Example 22.5.4 Many Crazy Balls
32. Exercise 22.5.5 Coin Flip Fun: Number of Heads and Tails
33. Exercise 22.5.6 Coin Flip Fun: Longest Streak of Heads
34. Exercise 22.5.7 Changing Circles
35. Exercise 22.5.8 Draw a Barcode
36. ### 22.6 Finding an Element in a List

37. Video 22.6.1 Finding an Element in a List
38. Check for Understanding 22.6.2 Finding an Element in a List Quiz
39. Example 22.6.3 Array indexOf
40. Exercise 22.6.4 Who is in Line?
41. ### 22.7 Removing an Element From an Array

42. Video 22.7.1 Removing an Element From an Array
43. Check for Understanding 22.7.2 Removing an Element from an Array Quiz
44. Example 22.7.3 Splice and Remove
45. Exercise 22.7.4 Remove From Line
46. ### 22.8 Intro to Objects/Maps

47. Video 22.8.1 Intro to Objects/Maps
48. Check for Understanding 22.8.2 Intro to Objects / Maps Quiz
49. Example 22.8.3 Phonebook
50. Exercise 22.8.4 Sidekicks
51. ### 22.9 Basics of Objects

52. Video 22.9.1 Basics of Objects
53. Check for Understanding 22.9.2 Basics of Objects Quiz
54. Example 22.9.3 Object Literal Phonebook
55. Example 22.9.4 Object Property Phonebook
56. Example 22.9.5 Beware Dot Notation!
58. ### 22.10 Iterating Over an Object

59. Video 22.10.1 Iterating Over An Object
60. Check for Understanding 22.10.2 Iterating over an Object Quiz
61. Example 22.10.3 Print Phonebook
62. Exercise 22.10.4 Hogwarts
63. ### 22.11 When Do I Use an Object?

64. Video 22.11.1 When Do I Use An Object?
65. Check for Understanding 22.11.2 When do I use an Object Quiz
66. Example 22.11.3 Facebook Friend Lists
67. Example 22.11.4 Does the Key Exist?
68. Exercise 22.11.5 Text Messages
69. ### 22.12 Intro to Sets

70. Video 22.12.1 Intro to Sets
71. Check for Understanding 22.12.2 Intro to Sets Quiz
72. Example 22.12.3 Basic Sets
73. Exercise 22.12.4 Vowels
74. Exercise 22.12.5 Mutual Friends
75. Exercise 22.12.6 Total Network of Friends
76. ### 22.13 Intro to Grids

77. Video 22.13.1 Intro to Grids
78. Check for Understanding 22.13.2 Intro to Grids Quiz
79. Example 22.13.3 Grid Basics
80. Exercise 22.13.4 Building a Database
81. ### 22.14 Looping Over a Grid

82. Video 22.14.1 Looping Over a Grid
83. Check for Understanding 22.14.2 Looping Over a Grid Quiz
84. Example 22.14.3 Print Grid
85. Exercise 22.14.4 Summing Grid
86. ### 22.15 Grid Example: Get a Row

87. Video 22.15.1 Grid Example: Get a Row
88. Check for Understanding 22.15.2 Grid Example: Get a Row Quiz
89. Example 22.15.3 Get a Row
90. Exercise 22.15.4 Grid Diagonal
92. ### 22.16 Data Structures Challenges

93. Challenge 22.16.1 Watercolor Grid
94. Unit Quiz 22.16.2 Data Structures Unit Quiz
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

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

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. ## Extension: Data Structures (Arrays NEW)

1. ### 27.1 Intro to Arrays

2. Video 27.1.1 Intro to Arrays
3. Check for Understanding 27.1.2 Intro to Arrays Quiz
4. Example 27.1.3 Array Basics
5. Exercise 27.1.4 Exploration: A Boxy Array
6. Exercise 27.1.5 List of Places to Travel
7. Exercise 27.1.6 Top Websites
8. ### 27.2 Adding & Removing from an Array

9. Video 27.2.1 Adding & Removing from an Array
10. Check for Understanding 27.2.2 Adding & Removing from an Array Quiz
11. Notes 27.2.3 A Note About Arrays as Parameters
12. Example 27.2.4 Temperature Array
13. Example 27.2.5 Creating a To-Do List
14. Exercise 27.2.6 Stacking Barrels
15. Exercise 27.2.7 Key Logging
16. ### 27.3 Iterating Through an Array

17. Video 27.3.1 Iterate Through an Array
18. Check for Understanding 27.3.2 Iterate Through an Array Quiz
19. Example 27.3.3 Print Shopping Lists
20. Example 27.3.4 Test Average
21. Exercise 27.3.5 Evens Only List
22. Exercise 27.3.6 Reverse List
23. Challenge 27.3.7 Dice Roll Probabilities
24. Free Response 27.3.8 Dice Probability Reflection
25. ### 27.4 Array Iteration with Graphics

26. Video 27.4.1 Array Iteration with Graphics
27. Quiz 27.4.2 Array Iteration with Graphics Quiz
28. Example 27.4.3 Changing Properties
29. Example 27.4.4 Snow Storm
30. Exercise 27.4.5 Draw a Barcode
31. Exercise 27.4.6 Wind Turbines
32. Challenge 27.4.7 Parallax Challenge
33. ### 27.5 Array Methods

34. Notes 27.5.1 Array Methods
35. Example 27.5.2 Email List
36. Example 27.5.3 Weekly Temperatures
37. Example 27.5.4 Splitting Up Tasks
38. Exercise 27.5.5 Mutual Friends
39. Exercise 27.5.6 Scientific Data
40. Exercise 27.5.7 REMOVE?? Quick Math