1. ## Programming With Karel

1. ### 1.1 Introduction to Programming With Karel

2. Video 1.1.1 Introduction to Programming With Karel
3. Quiz 1.1.2 Quiz: Karel Commands
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 Basic Karel

8. Video 1.2.1 More Basic Karel
9. Quiz 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. Quiz 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. ### 1.4 Functions in Karel

20. Video 1.4.1 Functions in Karel
21. Quiz 1.4.2 Functions in Karel Quiz
22. Example 1.4.3 Turn Around
23. Exercise 1.4.4 Pancakes
24. Exercise 1.4.5 Mario Karel
25. ### 1.5 The Start Function

26. Video 1.5.1 The Start Function
27. Quiz 1.5.2 The Start Function Quiz
28. Example 1.5.3 Tower with Start Function
29. Exercise 1.5.4 Pancakes with Start
30. ### 1.6 Top Down Design and Decomposition in Karel

31. Video 1.6.1 Top Down Design and Decomposition in Karel
32. Quiz 1.6.2 Top Down Design and Decomposition Quiz
33. Example 1.6.3 Hurdle Karel
34. Exercise 1.6.4 The Two Towers
35. ### 1.7 Commenting Your Code

36. Video 1.7.1 Commenting Your Code
37. Quiz 1.7.2 Commenting Your Code Quiz
38. Example 1.7.3 Hurdle Karel
39. Exercise 1.7.4 The Two Towers + Comments
40. ### 1.8 Super Karel

41. Video 1.8.1 Super Karel
42. Quiz 1.8.2 Super Karel Quiz
43. Example 1.8.3 Hurdle Karel (with SuperKarel)
44. Exercise 1.8.4 The Two Towers + SuperKarel
45. ### 1.9 For Loops

46. Video 1.9.1 For Loops
47. Quiz 1.9.2 For Loops Quiz
48. Example 1.9.3 Repeated Move
49. Example 1.9.4 Put Down Tennis Balls
50. Exercise 1.9.5 Take 'em All
51. Exercise 1.9.6 Dizzy Karel
52. Exercise 1.9.7 For Loop Square
53. Exercise 1.9.8 Lots of Hurdles
54. ### 1.10 If Statements

55. Video 1.10.1 If Statements
56. Quiz 1.10.2 If Statements Quiz
57. Example 1.10.3 If Statements
58. Example 1.10.4 Safe Take Ball
59. Exercise 1.10.5 Is There a Ball?
60. ### 1.11 If/Else Statements

61. Video 1.11.1 If/Else Statements
62. Quiz 1.11.2 If/Else Statements Quiz
63. Example 1.11.3 If/Else Statements
64. Example 1.11.4 One Ball in Each Spot
65. Exercise 1.11.5 Right Side Up
66. ### 1.12 While Loops in Karel

67. Video 1.12.1 While Loops in Karel
68. Quiz 1.12.2 While Loops in Karel Quiz
69. Example 1.12.3 Move to Wall
71. Exercise 1.12.5 Lay Row of Tennis Balls
72. Exercise 1.12.6 Big Tower
73. ### 1.13 Control Structures Example

74. Video 1.13.1 Control Structures Example
75. Quiz 1.13.2 Control Structures Example Quiz
76. Example 1.13.3 Cleanup Karel
77. Exercise 1.13.4 Random Hurdles
78. ### 1.14 More Karel Examples and Testing

79. Video 1.14.1 More Karel Examples and Testing
80. Quiz 1.14.2 Quiz: Which Control Structure?
81. Example 1.14.3 Move Tennis Ball Stack
82. Example 1.14.4 Climbing Karel
83. ### 1.15 How to Indent Your Code

84. Video 1.15.1 How to Indent Your Code
85. Quiz 1.15.2 How to Indent Your Code Quiz
86. Example 1.15.3 Dance and Clean Karel
87. Exercise 1.15.4 Diagonal
88. Exercise 1.15.5 Staircase
90. ### 1.16 Challenge Problems

91. Challenge 1.16.1 Fetch
92. Challenge 1.16.2 Racing Karel
93. Challenge 1.16.3 Tower Builder
94. Challenge 1.16.4 Super Cleanup Karel
95. Challenge 1.16.5 Double Tennis Balls
97. ### 1.17 Programming with Karel Quiz

98. Quiz 1.17.1 Programming with Karel Quiz
2. ## JavaScript and Graphics

1. ### 2.1 Hello World

2. Video 2.1.1 Hello World
3. Quiz 2.1.2 Hello World Quiz
4. Example 2.1.3 Hello World
5. Exercise 2.1.4 Your Name and Hobby
6. ### 2.2 Variables

7. Video 2.2.1 Variables
8. Quiz 2.2.2 Variables Quiz
9. Example 2.2.3 Basic Variables
10. Exercise 2.2.4 Apples and Oranges
11. ### 2.3 User Input

12. Video 2.3.1 User Input
13. Quiz 2.3.2 User Input Quiz
14. Example 2.3.3 Basic User Input
15. Exercise 2.3.4 Grocery Store
16. ### 2.4 Basic Math in JavaScript

17. Video 2.4.1 Basic Math in JavaScript
18. Quiz 2.4.2 Basic Math in JavaScript Quiz
19. Example 2.4.3 Simple Calculator
20. Example 2.4.4 Dollars to Pounds
21. Example 2.4.5 Dividing Up Groups
22. Exercise 2.4.6 T-Shirt Shop
23. Exercise 2.4.7 Running Speed
24. ### 2.5 Using Graphics in JavaScript

25. Video 2.5.1 Graphics
26. Quiz 2.5.2 JavaScript Graphics Quiz
27. Example 2.5.3 Graphics Hello World
28. Example 2.5.4 Blue Circle
29. Example 2.5.5 Red Rectangle
30. Example 2.5.6 8 Ball
31. Exercise 2.5.7 French Flag
32. Exercise 2.5.8 Snowman
33. ### 2.6 Booleans

34. Video 2.6.1 Booleans
35. Quiz 2.6.2 Booleans Quiz
36. Example 2.6.3 First Boolean
37. Exercise 2.6.4 Do You Have a Dog?
38. ### 2.7 Logical Operators

39. Video 2.7.1 Logical Operators
40. Quiz 2.7.2 Logical Operators Quiz
41. Example 2.7.3 Light Switch
42. Example 2.7.4 President
43. Example 2.7.5 Wasting Time
44. Exercise 2.7.6 Can You Graduate?
45. Exercise 2.7.7 School's Out
46. ### 2.8 Comparison Operators

47. Video 2.8.1 Comparison Operators
48. Quiz 2.8.2 Comparison Operators Quiz
49. Example 2.8.3 Voting Age
51. Exercise 2.8.5 Rolling Dice
52. Exercise 2.8.6 All Star
53. ### 2.9 If Statements

54. Video 2.9.1 If Statements
55. Quiz 2.9.2 If Statements Quiz
56. Example 2.9.3 Negative Numbers
57. Example 2.9.4 Great Names
58. Example 2.9.5 Even and Odd
60. Exercise 2.9.7 Teenagers
61. Exercise 2.9.8 Stop Light
62. ### 2.10 For Loops in JavaScript

63. Video 2.10.1 Basic For Loop
64. Quiz 2.10.2 For Loops Quiz
65. Example 2.10.3 For Loop
66. Exercise 2.10.4 Chalkboard
67. Exercise 2.10.5 The Worm
68. Exercise 2.10.6 Caterpillar
69. ### 2.11 General For Loops

70. Video 2.11.1 General For Loop
71. Quiz 2.11.2 General For Loop Quiz
72. Example 2.11.3 Countdown
73. Example 2.11.4 Count By Twos
74. Exercise 2.11.5 Count By Sevens
75. Exercise 2.11.6 Powers of Two
76. ### 2.12 For Loop Practice

77. Video 2.12.1 For Loop Examples
78. Quiz 2.12.2 For Loop Examples Quiz
79. Example 2.12.3 For Loop Sum
80. Exercise 2.12.4 Better Sum
81. Exercise 2.12.5 Factorial
82. Exercise 2.12.6 All Dice Values
83. ### 2.13 Random Numbers

84. Video 2.13.1 Random Numbers
85. Quiz 2.13.2 Random Numbers Quiz
86. Example 2.13.3 Rolling a Die
87. Example 2.13.4 Flipping a Coin
88. Exercise 2.13.5 Lots of Dice
89. Exercise 2.13.6 Random Color Square
90. ### 2.14 While Loops

91. Video 2.14.1 While Loops
92. Quiz 2.14.2 While Loops Quiz
93. Example 2.14.3 While Loop Countdown
94. Exercise 2.14.4 Inventory
95. Exercise 2.14.5 Fibonacci
96. ### 2.15 Loop and a Half

97. Video 2.15.1 Loop and a Half
98. Quiz 2.15.2 Loop and a Half Quiz
99. Example 2.15.3 Adding Up Numbers
100. Exercise 2.15.4 Snake Eyes
101. Exercise 2.15.5 Better Password Prompt
102. ### 2.16 Functions and Parameters 1

103. Video 2.16.1 Functions and Parameters 1
104. Quiz 2.16.2 Functions and Parameters Quiz 1
105. Example 2.16.3 Double Number
106. Exercise 2.16.4 Square
107. Exercise 2.16.5 Triple
108. ### 2.17 Functions and Parameters 2

109. Video 2.17.1 Functions and Parameters 2
110. Quiz 2.17.2 Functions and Parameters Quiz 2
111. Example 2.17.3 Sum Function
112. Exercise 2.17.4 Area of Triangle
113. Exercise 2.17.5 Height in Meters
114. ### 2.18 Functions and Parameters 3

115. Video 2.18.1 Functions and Parameters 3
116. Quiz 2.18.2 Functions and Parameters Quiz 3
117. Example 2.18.3 Draw Circles
118. Exercise 2.18.4 Horizontal Lines
119. Exercise 2.18.5 Graphics Stop Light
120. Exercise 2.18.6 Pool Table
121. ### 2.19 Functions and Return Values 1

122. Video 2.19.1 Functions and Return Values 1
123. Quiz 2.19.2 Functions and Return Values Quiz
124. Example 2.19.3 Double Number
125. Exercise 2.19.4 Square with Return Values
126. Exercise 2.19.5 Triple with Return Values
127. ### 2.20 Functions and Return Values 2

128. Video 2.20.1 Functions and Return Values 2
129. Quiz 2.20.2 Functions and Return Values Quiz 2
130. Example 2.20.3 Return Values
131. Exercise 2.20.4 Is It Even?
132. Exercise 2.20.5 Max
133. ### 2.21 Local Variables and Scope

134. Video 2.21.1 Local Variables and Scope
135. Quiz 2.21.2 Local Variables and Scope Quiz
136. Example 2.21.3 Return Values
137. Exercise 2.21.4 Local Variables
139. ### 2.22 JavaScript and Graphics Challenges

140. Challenge 2.22.1 Ghosts
141. Challenge 2.22.2 Draw Something
143. ### 2.23 Javascript and Graphics Quiz

144. Quiz 2.23.1 Javascript and Graphics Quiz
3. ## Project: Guessing Game

1. ### 3.1 Guessing Game

2. Challenge 3.1.1 Guessing Game
4. ## Animation and Games

1. ### 4.1 Timers

2. Video 4.1.1 Timers
3. Quiz 4.1.2 Timers Quiz
4. Example 4.1.3 Moving Ball
5. Example 4.1.4 Magic 8 Ball
6. Exercise 4.1.5 Crazy Ball
7. ### 4.2 Random Circles

8. Video 4.2.1 Example: Random Circles
9. Quiz 4.2.2 Random Circles Quiz
10. Example 4.2.3 Random Circles
11. Example 4.2.4 Spinner Example
12. Exercise 4.2.5 Growing Circle
13. Exercise 4.2.6 Paint splatter
14. ### 4.3 Random Ghosts

15. Video 4.3.1 Example: Random Ghosts
16. Quiz 4.3.2 Random Ghosts Quiz
17. Example 4.3.3 Random Ghosts
18. Example 4.3.4 Random Fireworks
19. Exercise 4.3.5 Circle Wall
20. ### 4.4 Bouncing Ball

21. Video 4.4.1 Example: Bouncing Ball
22. Quiz 4.4.2 Bouncing Ball Quiz
23. Example 4.4.3 Bouncing Ball
24. Exercise 4.4.4 Hotspot Ball
25. Exercise 4.4.5 Trail
26. ### 4.5 Mouse Events: Mouse Clicked

27. Video 4.5.1 Mouse Events: Mouse Clicked
28. Quiz 4.5.2 Mouse Events: Mouse Clicked Quiz
29. Example 4.5.3 Click For Circles
30. Example 4.5.4 Click For Ghosts
31. Exercise 4.5.5 Teleporting Ball
32. Exercise 4.5.6 Pause
33. ### 4.6 Mouse Events: Mouse Moved

34. Video 4.6.1 Mouse Events: Mouse Moved
35. Quiz 4.6.2 Mouse Events: Mouse Moved Quiz
36. Example 4.6.3 Simple Painting
37. Example 4.6.4 Colorful Drag to Paint
38. Exercise 4.6.5 Coordinates
39. Exercise 4.6.6 Target
40. ### 4.7 Drawing Lines

41. Video 4.7.1 Example: Drawing Lines
42. Quiz 4.7.2 Drawing Lines Quiz
43. Example 4.7.3 Drawing Lines
44. Exercise 4.7.4 Leash
45. ### 4.8 Key Events

46. Video 4.8.1 Key Events
47. Quiz 4.8.2 Key Events Quiz
48. Example 4.8.3 Keyboard Square
49. Exercise 4.8.4 Basic Snake
50. Exercise 4.8.5 Drag and Drop
51. ### 4.9 Animation and Games Quiz

52. Quiz 4.9.1 Animation and Games Quiz
5. ## Crazy Ball Game

1. ### 5.1 Crazy Ball Game

2. Video 5.1.1 Crazy Ball Game 1
3. Quiz 5.1.2 Crazy Ball Game Quiz 1
4. Example 5.1.3 Crazy Ball Game 1
5. Video 5.1.4 Crazy Ball Game 2
6. Quiz 5.1.5 Crazy Ball Game Quiz 2
7. Example 5.1.6 Crazy Ball Game 2
6. ## Project: Breakout

1. ### 6.1 Breakout

2. Challenge 6.1.1 Bricks
3. Challenge 6.1.2 Ball and Paddle
4. Challenge 6.1.3 Breakout
7. ## Project: Fun Snake

1. ### 7.1 Fun Snake

2. Challenge 7.1.1 Fun Snake 1
3. Challenge 7.1.2 Fun Snake 2
4. Challenge 7.1.3 Fun Snake 3
5. Challenge 7.1.4 Fun Snake 4 - A Full Game!
8. ## Basic Data Structures

1. ### 8.1 Intro to Lists/Arrays

2. Video 8.1.1 Intro to Lists/Arrays
3. Quiz 8.1.2 Intro to Lists/Arrays Quiz
4. Example 8.1.3 Making an Array
5. Exercise 8.1.4 List of Places to Travel
6. Exercise 8.1.5 List of Even Numbers
7. ### 8.2 Indexing Into an Array

8. Video 8.2.1 Indexing Into an Array
9. Quiz 8.2.2 Indexing into an Array Quiz
10. Example 8.2.3 Array Indexing Practice
11. Exercise 8.2.4 Top Websites
12. ### 8.3 Adding/Removing From an Array

13. Video 8.3.1 Adding/Removing From an Array
14. Quiz 8.3.2 Adding/Removing from an Array Quiz
15. Example 8.3.3 Add/Remove From Array
16. Exercise 8.3.4 Practice Push and Pop
17. ### 8.4 Array Length and Looping Through Arrays

18. Video 8.4.1 Array Length and Looping Through Arrays
19. Quiz 8.4.2 Array Length and Looping Through Arrays Quiz
20. Example 8.4.3 Print Shopping List
21. Example 8.4.4 Sum Array
22. Exercise 8.4.5 Product of List
23. Exercise 8.4.6 Print Flight Itinerary
24. Exercise 8.4.7 Double List
25. Exercise 8.4.8 Evens Only List
26. Exercise 8.4.9 Reverse List
27. ### 8.5 Iterating Over an Array

28. Video 8.5.1 Examples: Iterating Over an Array
29. Quiz 8.5.2 Iterating Over an Array Quiz
30. Example 8.5.3 Coin Flips
31. Example 8.5.4 Many Crazy Balls
32. Exercise 8.5.5 Coin Flip Fun: Number of Heads and Tails
33. Exercise 8.5.6 Coin Flip Fun: Longest Streak of Heads
34. Exercise 8.5.7 Changing Circles
35. Exercise 8.5.8 Draw a Barcode
36. ### 8.6 Finding an Element in a List

37. Video 8.6.1 Finding an Element in a List
38. Quiz 8.6.2 Finding an Element in a List Quiz
39. Example 8.6.3 Array indexOf
40. Exercise 8.6.4 Who is in Line?
41. ### 8.7 Removing an Element From an Array

42. Video 8.7.1 Removing an Element From an Array
43. Quiz 8.7.2 Removing an Element from an Array Quiz
44. Example 8.7.3 Splice and Remove
45. Exercise 8.7.4 Remove From Line
46. ### 8.8 Intro to Objects/Maps

47. Video 8.8.1 Intro to Objects/Maps
48. Quiz 8.8.2 Intro to Objects / Maps Quiz
49. Example 8.8.3 Phonebook
50. Exercise 8.8.4 Sidekicks
51. ### 8.9 Basics of Objects

52. Video 8.9.1 Basics of Objects
53. Quiz 8.9.2 Basics of Objects Quiz
54. Example 8.9.3 Object Literal Phonebook
55. Example 8.9.4 Object Property Phonebook
56. Example 8.9.5 Beware Dot Notation!
58. ### 8.10 Iterating Over an Object

59. Video 8.10.1 Iterating Over An Object
60. Quiz 8.10.2 Iterating over an Object Quiz
61. Example 8.10.3 Print Phonebook
62. Exercise 8.10.4 Hogwarts
63. ### 8.11 When Do I Use an Object?

64. Video 8.11.1 When Do I Use An Object?
65. Quiz 8.11.2 When do I use an Object Quiz
66. Example 8.11.3 Facebook Friend Lists
67. Example 8.11.4 Does the Key Exist?
68. Exercise 8.11.5 Text Messages
69. ### 8.12 Intro to Sets

70. Video 8.12.1 Intro to Sets
71. Quiz 8.12.2 Intro to Sets Quiz
72. Example 8.12.3 Basic Sets
73. Exercise 8.12.4 Vowels
74. Exercise 8.12.5 Mutual Friends
75. Exercise 8.12.6 Total Network of Friends
76. ### 8.13 Intro to Grids

77. Video 8.13.1 Intro to Grids
78. Quiz 8.13.2 Intro to Grids Quiz
79. Example 8.13.3 Grid Basics
80. ### 8.14 Looping Over a Grid

81. Video 8.14.1 Looping Over a Grid
82. Quiz 8.14.2 Looping Over a Grid Quiz
83. Example 8.14.3 Print Grid
84. Exercise 8.14.4 Summing Grid
85. ### 8.15 Grid Example: Get a Row

86. Video 8.15.1 Grid Example: Get a Row
87. Quiz 8.15.2 Grid Example: Get a Row Quiz
88. Example 8.15.3 Get a Row
89. Exercise 8.15.4 Grid Diagonal
91. ### 8.16 Basic Data Structures Quiz

92. Quiz 8.16.1 Basic Data Structures Quiz
9. ## Project: Tic Tac Toe

1. ### 9.1 Tic Tac Toe

2. Challenge 9.1.1 Tic Tac Toe: Part 1
3. Challenge 9.1.2 Tic Tac Toe: Part 2
4. Challenge 9.1.3 Tic Tac Toe: Full Game
10. ## Project: Helicopter Game

1. ### 10.1 Game Design: Helicopter

2. Video 10.1.1 Introduction to Helicopter
3. ### 10.2 Basics

4. Video 10.2.1 Moving the Helicopter
5. Exercise 10.2.2 Moving the Helicopter
8. Video 10.2.5 Smoother Movement
9. Exercise 10.2.6 Smoother Movement
10. ### 10.3 Improvements

11. Video 10.3.1 Colliding with Walls
12. Exercise 10.3.2 Wall Collisions
13. Video 10.3.3 Colliding with Obstacles
14. Exercise 10.3.4 Obstacle Collisions
17. Video 10.3.7 Moving the Terrain
18. Exercise 10.3.8 Moving the Terrain
19. ### 10.4 Polish

20. Video 10.4.1 Helicopter Image and Points!
21. Exercise 10.4.2 Image and Points
22. Video 10.4.3 Dust
23. Exercise 10.4.4 Dust
24. Video 10.4.5 More Obstacles
25. Exercise 10.4.6 More Obstacles
26. Challenge 10.4.7 Helicopter Extensions
11. ## Final Project: Your Own Game

1. ### 11.1 Final Project

2. Free Response 11.1.1 Plan Your Game
3. Challenge 11.1.2 Final Game
12. ## Midterm

1. ### 12.1 Midterm

2. Midterm 12.1.1 Midterm Pt 1: Multiple Choice
13. ## Connect Four

1. ### 13.1 Connect Four

2. Exercise 13.1.1 Make The Board
3. Exercise 13.1.2 Take Turns
4. Exercise 13.1.3 Find the Winner
14. ## Project MasterMind

1. ### 14.1 Mastermind

2. Connection 14.1.1 How to Play Mastermind
3. Demo 14.1.2 Mastermind: Demo
4. Exercise 14.1.3 Generate Number List
5. Exercise 14.1.4 Get User Guess
6. Exercise 14.1.5 Compare User to List!
7. Exercise 14.1.6 Finish the Game!
8. Exercise 14.1.7 Mastermind Board