### Please enable JavaScript to use CodeHS

Indiana Principles of Computing

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 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. 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 Start Function

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

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

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

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

48. Video 1.9.1 For Loops
49. Check for Understanding 1.9.2 For Loops Quiz
50. Example 1.9.3 Repeated Move
51. Example 1.9.4 Put Down Tennis Balls
52. Exercise 1.9.5 Take 'em All
53. Exercise 1.9.6 Dizzy Karel
54. Exercise 1.9.7 Ball in Each Corner
55. Exercise 1.9.8 Lots of Hurdles
56. ### 1.10 If Statements

57. Video 1.10.1 If Statements
58. Check for Understanding 1.10.2 If Statements Quiz
59. Example 1.10.3 If Statements
60. Example 1.10.4 Safe Take Ball
61. Exercise 1.10.5 Is There a Ball?
62. Exercise 1.10.6 Don't Crash!
63. ### 1.11 If/Else Statements

64. Video 1.11.1 If/Else Statements
65. Check for Understanding 1.11.2 If/Else Statements Quiz
66. Example 1.11.3 If/Else Statements
67. Example 1.11.4 Opposite Day
68. Exercise 1.11.5 Right Side Up
69. Exercise 1.11.6 Right vs. Left Square
71. ### 1.12 While Loops in Karel

72. Video 1.12.1 While Loops in Karel
73. Check for Understanding 1.12.2 While Loops in Karel Quiz
74. Example 1.12.3 Move to Wall
76. Exercise 1.12.5 Lay Row of Tennis Balls
77. Exercise 1.12.6 Big Tower
78. ### 1.13 Control Structures Example

79. Video 1.13.1 Control Structures Example
80. Check for Understanding 1.13.2 Control Structures Example Quiz
81. Example 1.13.3 Cleanup Karel
82. Exercise 1.13.4 Random Hurdles
83. Survey 1.13.5 Mindset Survey 1
84. ### 1.14 More Karel Examples and Testing

85. Video 1.14.1 More Karel Examples and Testing
86. Check for Understanding 1.14.2 Quiz: Which Control Structure?
87. Example 1.14.3 Move Tennis Ball Stack
88. Example 1.14.4 Climbing Karel
89. ### 1.15 How to Indent Your Code

90. Video 1.15.1 How to Indent Your Code
91. Check for Understanding 1.15.2 How to Indent Your Code Quiz
92. Example 1.15.3 Dance and Clean Karel
93. Exercise 1.15.4 Diagonal
94. Exercise 1.15.5 Staircase
96. ### 1.16 Debugging Strategies

97. Video 1.16.1 Debugging Basics
98. Check for Understanding 1.16.2 Debugging Basics
99. Debugging 1.16.3 Debug: The Two Towers
100. Debugging 1.16.4 Debug: Lots of Hurdles
101. Video 1.16.5 Debugging From Error Messages
102. Check for Understanding 1.16.6 Debugging with Error Messages
103. Debugging 1.16.7 Debug: Big Tower
104. Debugging 1.16.8 Debug: Random Hurdles
105. ### 1.17 Computer Science Careers

106. Video 1.17.1 Computer Science All Around Us
107. Quiz 1.17.2 Computer Science All Around Us
108. Connection 1.17.3 CS Careers
109. Free Response 1.17.4 CS Career Response
110. Connection 1.17.5 Coding in the Wild
111. Free Response 1.17.6 Coding in the Wild Response
112. Connection 1.17.7 Inclusive Coding
113. Free Response 1.17.8 Inclusive Coding Response
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. Unit Quiz 2.1.6 Programming with Karel Quiz
3. ## Cybersecurity

1. ### 3.1 Intro to Cybersecurity

2. Video 3.1.1 Why Cybersecurity?
3. Connection 3.1.2 Should You Learn Cybersecurity?
4. Free Response 3.1.3 Why Should we Discuss Cybersecurity?
5. Connection 3.1.4 Cyberattacks
6. Free Response 3.1.5 Cyberattacks Reflection
7. ### 3.2 Digital Footprint and Reputation

8. Video 3.2.1 Digital Footprint and Reputation
9. Quiz 3.2.2 Digital Footprint and Reputation
10. Free Response 3.2.3 Building a Positive Digital Footprint
11. Connection 3.2.4 Right to be Forgotten?
12. Free Response 3.2.5 Right to be Forgotten
13. Free Response 3.2.6 What is your Digital Footprint?
14. ### 3.3 Privacy & Security

15. Video 3.3.1 What is Data Privacy & Security?
16. Quiz 3.3.2 Privacy & Security Quiz
21. Connection 3.3.7 Security By Design
22. Free Response 3.3.8 Security By Design
23. ### 3.4 Information Literacy

24. Video 3.4.1 Information Literacy
25. Quiz 3.4.2 Information Literacy
26. Free Response 3.4.3 Effective Internet Searches
27. Connection 3.4.4 Evaluate the Source
28. Free Response 3.4.5 Evaluate the Source
29. Notes 3.4.6 Evaluate the Source
30. Free Response 3.4.7 Evaluate the Source
31. Connection 3.4.8 Hero Pig?
32. ### 3.5 Creative Credit & Copyright

33. Video 3.5.1 Creative Credit and Copyright
34. Quiz 3.5.2 Creative Credit and Copyright
35. Free Response 3.5.3 Cite!
36. Connection 3.5.4 Exploring Creative Commons
37. Free Response 3.5.5 Creative Commons
38. Free Response 3.5.6 Finding Images
39. Free Response 3.5.7 Why is Copyright Important?
40. ### 3.6 Hacking Ethics

41. Video 3.6.1 Hacking Ethics & Legality
42. Quiz 3.6.2 Hacking Ethics & Legality
43. Connection 3.6.3 Penetration Testing
44. Free Response 3.6.4 Penetration Testing Reflection
45. Connection 3.6.5 Hack the Pentagon?
46. Free Response 3.6.6 Hack the Pentagon Reflection
47. Quiz 3.6.7 Ethical Hacker Agreement
48. ### 3.7 Identifying Risks

49. Video 3.7.1 Identifying Risks
50. Check for Understanding 3.7.2 Identifying Risks Quiz
51. Connection 3.7.3 What is a Honeypot?
52. Connection 3.7.4 Honeypot Attacks
53. Free Response 3.7.5 Honeypot Attacks
54. Free Response 3.7.6 Whois
55. Connection 3.7.7 Packet Sniffing
56. Free Response 3.7.8 Packet Sniffing Response
57. Free Response 3.7.9 Breach Trends
58. ### 3.8 Assessing Risk

59. Notes 3.8.1 Assessing Risks
60. Free Response 3.8.2 Malware Risk Assessment
61. Free Response 3.8.3 Poor Password Assessment
62. Free Response 3.8.4 Social Engineering Assessment
63. Video 3.8.5 Assessing Risks
64. Check for Understanding 3.8.6 Assessing Risks Quiz
65. Connection 3.8.7 End-of-Life OS
66. Free Response 3.8.8 End-of-Life Proposal
67. Example 3.8.9 Input Handling
68. Free Response 3.8.10 Input Handling Responses
69. Example 3.8.11 Input Validation
70. Free Response 3.8.12 Input Validation Responses
71. Unit Quiz 3.8.13 Risk Management Quiz
72. ### 3.9 Cybersecurity Unit Test

73. Quiz 3.9.1 Cybersecurity Unit Quiz
4. ## What is Computing?

1. ### 4.1 History of Computers

2. Video 4.1.1 History of Computers
3. Check for Understanding 4.1.2 Video Quiz
4. Notes 4.1.3 Mission: Who invented the computer?
5. Free Response 4.1.4 Evidence Collection
6. Connection 4.1.5 Exhibit A: Charles Babbage
7. Connection 4.1.6 Exhibit B: Ada Lovelace
8. Connection 4.1.7 Exhibit C: Alan Turing
9. Connection 4.1.8 Exhibit D: Mauchly and Eckert
10. Connection 4.1.9 Exhibit E: ENIAC Programmers
11. Connection 4.1.10 Exhibit F: Grace Hopper
12. Connection 4.1.11 Exhibit G: Mark Dean
13. Connection 4.1.12 Bonus Exhibit: Computer Inventors
14. Free Response 4.1.13 Culminating Activity
15. ### 4.2 Computer Organization

16. Video 4.2.1 Computer Organization
17. Check for Understanding 4.2.2 Video Quiz
18. Connection 4.2.3 Draw a Computer
19. Check for Understanding 4.2.4 What Kind of Device?
20. ### 4.3 Software

21. Video 4.3.1 Software
22. Check for Understanding 4.3.2 Software Quiz
23. Connection 4.3.3 Software Explained
24. Free Response 4.3.4 Computer Applications You Use
25. Free Response 4.3.5 Operating Systems
26. ### 4.4 Hardware

27. Video 4.4.1 Hardware
28. Check for Understanding 4.4.2 Hardware Quiz
29. Check for Understanding 4.4.3 Pick the Label
30. Free Response 4.4.4 Label Your Computer
31. Free Response 4.4.5 Computer Analogy
32. Free Response 4.4.6 Hardware vs. Software
34. ### 4.5 Future of Computing

35. Video 4.5.1 Future of Computing
36. Check for Understanding 4.5.2 Video Quiz
37. Connection 4.5.3 Using DNA for Storage
38. Free Response 4.5.4 Class Activity: Advancing Technology
39. Connection 4.5.5 Pros and Cons of AI
40. Free Response 4.5.6 AI: Is It a Bad Thing?
41. ### 4.6 Cloud Computing

42. Connection 4.6.1 What is Cloud Computing?
43. Free Response 4.6.2 Reflection: What is Cloud Computing?
44. Connection 4.6.3 Connect to AWS
45. Free Response 4.6.4 Case Study: Cloud Computer
47. ### 4.7 Different Types of Cloud Computing

48. Connection 4.7.1 SaaS, IaaS, and PaaS
49. Free Response 4.7.2 Research Project: Cloud Computing Types
50. ### 4.8 Cloud Storage

51. Free Response 4.8.1 Introduction to Cloud Storage
52. Connection 4.8.2 Case Study: Spotify
53. Free Response 4.8.3 Reflection: Spotify Case Study
54. ### 4.9 What is Computing? Quiz

55. Unit Quiz 4.9.1 What is Computing? Quiz (Duplicate)
5. ## Digital Information

1. ### 5.1 Intro to Digital Information

2. Video 5.1.1 What is Digital Information?
3. Check for Understanding 5.1.2 What is Digital Information Quiz
4. Example 5.1.3 Fast Food Menu
5. Free Response 5.1.4 Reflection: Encodings Everywhere
6. ### 5.2 Number Systems

7. Video 5.2.1 Number Systems
8. Notes 5.2.2 Number Base Tool
9. Check for Understanding 5.2.3 Number Systems Quiz
10. Video 5.2.4 Decimal to Binary
11. Check for Understanding 5.2.5 Decimal to Binary Quiz
12. Exercise 5.2.6 Binary Game
13. ### 5.3 Encoding Text with Binary

14. Video 5.3.1 Encoding Text with Binary
15. Check for Understanding 5.3.2 Encoding Text with Binary Quiz
16. Example 5.3.3 Custom Encoding
17. Example 5.3.4 Bits to ASCII
18. Exercise 5.3.5 Hello World in Bits
19. Exercise 5.3.6 Create your own Encoding
21. ### 5.4 Pixel Images

22. Video 5.4.1 Pixel Images
23. Check for Understanding 5.4.2 Pixel Images Quiz
24. Resource 5.4.3 Creating Pixel Images
25. Example 5.4.4 CodeHS Logo
26. Exercise 5.4.5 Checkerboard
28. Exercise 5.4.7 Create an Image!

31. Check for Understanding 5.5.2 Hexadecimal Quiz
32. Exercise 5.5.3 Binary to Hex Game
33. ### 5.6 Pixel Colors!

34. Video 5.6.1 Pixel Colors
35. Check for Understanding 5.6.2 Pixel Colors Quiz
36. Example 5.6.3 Colors in Bits
37. Exercise 5.6.4 Exploring RGB
38. Exercise 5.6.5 Making Yellow
39. Exercise 5.6.6 Rainbow
40. Exercise 5.6.7 Create a Color Image!
41. ### 5.7 Digital Information Quiz

42. Unit Quiz 5.7.1 Digital Information Quiz
6. ## The Internet

1. ### 6.1 Intro to the Internet

2. Video 6.1.1 Welcome to the Internet
3. Check for Understanding 6.1.2 Welcome to the Internet Quiz
4. Free Response 6.1.3 The Internet and You
5. ### 6.2 Internet Hardware

6. Video 6.2.1 Hardware of the Internet
7. Check for Understanding 6.2.2 Internet Hardware Quiz
8. Connection 6.2.3 The Internet is in the Ocean
9. Free Response 6.2.4 Reflection: The Internet is in the Ocean

12. Check for Understanding 6.3.2 Internet Addresses Quiz
13. Free Response 6.3.3 The Need for Addresses
14. Check for Understanding 6.3.4 4-bit Addresses
15. Free Response 6.3.5 IPv4 vs IPv6
16. ### 6.4 DNS

17. Video 6.4.1 DNS
18. Check for Understanding 6.4.2 DNS Quiz
19. Connection 6.4.3 How Does DNS Work?
20. Free Response 6.4.4 How Does DNS Work?
22. ### 6.5 Routing

23. Video 6.5.1 Routing
24. Check for Understanding 6.5.2 Routing Quiz
25. Free Response 6.5.3 Redundancy
26. ### 6.6 Packets and Protocols

27. Video 6.6.1 Packets and Protocols
28. Check for Understanding 6.6.2 Packets and Protocols Quiz
29. Resource 6.6.3 Passing Notes
30. Connection 6.6.4 How the Internet Works
31. Free Response 6.6.5 The Story of the Internet
32. ### 6.7 The Impact of the Internet

33. Video 6.7.1 The Impact of the Internet
34. Check for Understanding 6.7.2 The Impact of the Internet Quiz
35. Connection 6.7.3 What is the Digital Divide?
36. Free Response 6.7.4 What is the Digital Divide?
37. Survey 6.7.5 Mindsets
38. ### 6.8 The Internet Quiz

39. Unit Quiz 6.8.1 The Internet Quiz
7. ## Project: The Effects of the Internet

1. ### 7.1 Project: The Effects of the Internet

2. Free Response 7.1.1 Topic Brainstorm
3. Free Response 7.1.2 Gathering Resources
4. Presentation 7.1.3 Make Your Project
8. ## JavaScript and Graphics

1. ### 8.1 Intro to Integrated Development Environments

2. Video 8.1.1 Integrated Development Environments
3. Check for Understanding 8.1.2 Integrated Development Environments Quiz
4. Connection 8.1.3 The CodeHS IDE
5. Free Response 8.1.4 The CodeHS IDE
6. Exercise 8.1.5 Setup Your Editor!
7. ### 8.2 Hello World

8. Video 8.2.1 Hello World
9. Check for Understanding 8.2.2 Hello World Quiz
10. Example 8.2.3 Hello World
11. Exercise 8.2.4 Your Name and Hobby
12. ### 8.3 Variables

13. Video 8.3.1 Variables
14. Check for Understanding 8.3.2 Variables Quiz
15. Example 8.3.3 Basic Variables
16. Exercise 8.3.4 Daily Activities
17. ### 8.4 User Input

18. Video 8.4.1 User Input
19. Check for Understanding 8.4.2 User Input Quiz
20. Example 8.4.3 Basic User Input
21. Exercise 8.4.4 Dinner Plans
23. ### 8.5 Basic Math in JavaScript

24. Video 8.5.1 Basic Math in JavaScript
25. Check for Understanding 8.5.2 Basic Math in JavaScript Quiz
26. Example 8.5.3 Simple Calculator
27. Example 8.5.4 Dollars to Pounds
28. Example 8.5.5 Dividing Up Groups
29. Exercise 8.5.6 T-Shirt Shop
30. Exercise 8.5.7 Running Speed
31. ### 8.6 Using Graphics in JavaScript

32. Video 8.6.1 Graphics
33. Check for Understanding 8.6.2 JavaScript Graphics Quiz
34. Example 8.6.3 Graphics Hello World
35. Example 8.6.4 Blue Circle
36. Example 8.6.5 Red Rectangle
37. Example 8.6.6 8 Ball
38. Exercise 8.6.7 Flag of the Netherlands
39. Exercise 8.6.8 Snowman
41. ### 8.7 Pixel Images

42. Video 8.7.1 Pixel Images
43. Quiz 8.7.2 Pixel Images
44. Example 8.7.3 CodeHS Logo
45. Exercise 8.7.4 Checkerboard
47. ### 8.8 Using RGB to Create Colors

48. Video 8.8.1 Using RGB to Create Colors
49. Quiz 8.8.2 Using RGB to Create Colors
50. Example 8.8.3 Colors in Bits
51. Exercise 8.8.4 Exploring RGB
52. Exercise 8.8.5 Making Yellow
53. Exercise 8.8.6 Rainbow
54. Challenge 8.8.7 Create a Color Image!
9. ## Graphics Challenges

1. ### 9.1 Collaborative Programming

2. Video 9.1.1 Pair-Programming
3. Check for Understanding 9.1.2 Pair-Programming
4. Connection 9.1.3 Why Practice Pair-Programming?
5. Free Response 9.1.4 Pair-Programming Reflection
6. ### 9.2 Graphics Challenges

7. Challenge 9.2.1 Ghost
8. Challenge 9.2.2 Fried Egg
9. Challenge 9.2.3 Draw Something
10. Unit Quiz 9.2.4 JavaScript and Graphics Quiz
10. ## JavaScript Control Structures

1. ### 10.1 Booleans

2. Video 10.1.1 Booleans
3. Check for Understanding 10.1.2 Booleans Quiz
4. Example 10.1.3 First Boolean
5. Exercise 10.1.4 Do You Have a Dog?
6. ### 10.2 Logical Operators

7. Video 10.2.1 Logical Operators
8. Check for Understanding 10.2.2 Logical Operators Quiz
9. Example 10.2.3 Light Switch
10. Example 10.2.4 President
11. Example 10.2.5 Wasting Time
12. Exercise 10.2.6 Can You Graduate?
13. Exercise 10.2.7 School's Out
14. ### 10.3 Comparison Operators

15. Video 10.3.1 Comparison Operators
16. Check for Understanding 10.3.2 Comparison Operators Quiz
17. Example 10.3.3 Voting Age
19. Exercise 10.3.5 Rolling Dice
20. Exercise 10.3.6 Girl Scout Designation
21. ### 10.4 If Statements

22. Video 10.4.1 If Statements
23. Check for Understanding 10.4.2 If Statements Quiz
24. Example 10.4.3 Negative Numbers
25. Example 10.4.4 Great Names
26. Example 10.4.5 Even and Odd
28. Exercise 10.4.7 Teenagers
29. Exercise 10.4.8 Dietary Restrictions
31. Survey 10.4.10 Mindset Survey 2
32. ### 10.5 For Loops in JavaScript

33. Video 10.5.1 Basic For Loop
34. Check for Understanding 10.5.2 For Loops Quiz
35. Example 10.5.3 For Loop
36. Exercise 10.5.4 Chalkboard
37. Exercise 10.5.5 The Worm
38. Exercise 10.5.6 Caterpillar
39. ### 10.6 General For Loops

40. Video 10.6.1 General For Loop
41. Check for Understanding 10.6.2 General For Loop Quiz
42. Example 10.6.3 Countdown
43. Example 10.6.4 Count By Twos
44. Exercise 10.6.5 Count By Sevens
45. Exercise 10.6.6 Powers of Two
46. ### 10.7 For Loop Practice

47. Video 10.7.1 For Loop Examples
48. Check for Understanding 10.7.2 For Loop Examples Quiz
49. Example 10.7.3 For Loop Sum
50. Exercise 10.7.4 Better Sum
51. Exercise 10.7.5 Factorial
52. Exercise 10.7.6 All Dice Values
53. ### 10.8 Random Numbers

54. Video 10.8.1 Random Numbers
55. Check for Understanding 10.8.2 Random Numbers Quiz
56. Example 10.8.3 Rolling a Die
57. Example 10.8.4 Flipping a Coin
58. Exercise 10.8.5 Lots of Rolls
59. Exercise 10.8.6 Random Color Square
61. ### 10.9 While Loops

62. Video 10.9.1 While Loops
63. Check for Understanding 10.9.2 While Loops Quiz
64. Example 10.9.3 While Loop Countdown
65. Exercise 10.9.4 Inventory
66. Exercise 10.9.5 Fibonacci
67. Exercise 10.9.6 Concentric Circles
68. ### 10.10 Loop and a Half

69. Video 10.10.1 Loop and a Half
70. Check for Understanding 10.10.2 Loop and a Half Quiz
71. Example 10.10.3 Adding Up Numbers
72. Exercise 10.10.4 Snake Eyes
73. Exercise 10.10.5 Better Password Prompt
11. ## Control Structures Challenges

1. ### 11.1 Control Structures Challenges

2. Challenge 11.1.1 Guessing Game
3. Challenge 11.1.2 Circles in Circles
4. Challenge 11.1.3 Circles in Squares
5. Challenge 11.1.4 Happy Birthday!
6. Unit Quiz 11.1.5 JavaScript Control Structures Quiz
12. ## Functions and Parameters

1. ### 12.1 Functions and Parameters 1

2. Video 12.1.1 Functions and Parameters 1
3. Check for Understanding 12.1.2 Functions and Parameters Quiz 1
4. Example 12.1.3 Double Number
5. Exercise 12.1.4 Square
6. Exercise 12.1.5 Triple
7. ### 12.2 Functions and Parameters 2

8. Video 12.2.1 Functions and Parameters 2
9. Check for Understanding 12.2.2 Functions and Parameters Quiz 2
10. Example 12.2.3 Sum Function
11. Exercise 12.2.4 Area of Triangle
12. Exercise 12.2.5 Height in Meters
13. ### 12.3 Functions and Parameters 3

14. Video 12.3.1 Functions and Parameters 3
15. Check for Understanding 12.3.2 Functions and Parameters Quiz 3
16. Example 12.3.3 Draw Circles
17. Exercise 12.3.4 Vertical Lines
18. Exercise 12.3.5 Graphics Stop Light
19. Exercise 12.3.6 Pool Table
20. Exercise 12.3.7 Cityscape
22. Survey 12.3.9 Mindset Survey 3
23. ### 12.4 Functions and Return Values 1

24. Video 12.4.1 Functions and Return Values 1
25. Check for Understanding 12.4.2 Functions and Return Values Quiz
26. Example 12.4.3 Double Number
27. Exercise 12.4.4 Square with Return Values
28. Exercise 12.4.5 Triple with Return Values
29. Exercise 12.4.6 Gymnastics Mats
30. ### 12.5 Functions and Return Values 2

31. Video 12.5.1 Functions and Return Values 2
32. Check for Understanding 12.5.2 Functions and Return Values Quiz 2
33. Example 12.5.3 Return Values
34. Exercise 12.5.4 Is It Even?
35. Exercise 12.5.5 Max
36. ### 12.6 Local Variables and Scope

37. Video 12.6.1 Local Variables and Scope
38. Check for Understanding 12.6.2 Local Variables and Scope Quiz
39. Example 12.6.3 Return Values
40. Exercise 12.6.4 Local Variables
13. ## Functions Challenges

1. ### 13.1 Functions Challenges

2. Challenge 13.1.1 Hailstone Sequence
3. Challenge 13.1.2 Balloons
5. Challenge 13.1.4 Ghost Invasion!
6. Unit Quiz 13.1.5 Functions and Parameters Quiz
14. ## Operating Systems and Software

1. ### 14.1 Programming Fundamentals

2. Video 14.1.1 Programming Concepts
3. Check for Understanding 14.1.2 Programming Concepts Quiz
4. Connection 14.1.3 Compilers vs. Interpreters
5. Free Response 14.1.4 Compilers vs. Interpreters
6. Example 14.1.5 Variables in Action
7. Example 14.1.6 Data Types using Typeof
8. Example 14.1.7 Basic Variables
9. Exercise 14.1.8 Daily Activities
10. Unit Quiz 14.1.9 Programming Fundamentals Quiz
11. ### 14.2 Operating Systems

12. Video 14.2.1 Operating Systems
13. Check for Understanding 14.2.2 Operating Systems Quiz
14. Example 14.2.3 Detect My OS
15. Connection 14.2.4 Upgrading a Mac OS
16. Example 14.2.5 Windows OS Installation Simulation
17. Free Response 14.2.6 Installing an OS
18. ### 14.3 Comparing Operating Systems

19. Video 14.3.1 Comparing Operating Systems
20. Check for Understanding 14.3.2 Comparing Operating Systems Quiz
21. Example 14.3.3 Windows Simulation
22. Example 14.3.4 MacOS Simulation
23. Connection 14.3.5 Choose a Linux Distro!
24. Free Response 14.3.6 Which would you choose?
25. ### 14.4 Software and Applications

26. Video 14.4.1 Software and Applications
27. Check for Understanding 14.4.2 Software and Applications Quiz
29. Example 14.4.4 Messaging Simulation
30. Example 14.4.5 Kanban Board Simulation
31. Free Response 14.4.6 Software Simulations

34. Check for Understanding 14.5.2 Software Licenses Quiz
35. Free Response 14.5.3 Do I need a Software License?
36. Free Response 14.5.4 Is This Original?
37. ### 14.6 Software Development

38. Video 14.6.1 Development Life Cycle
39. Check for Understanding 14.6.2 Development Life Cycle
40. Connection 14.6.3 Scrum Framework
41. Free Response 14.6.4 SCRUM Response
42. Notes 14.6.5 Project: Software Development
43. Resource 14.6.6 Creating a Plan
15. ## IT Infrastructure

1. ### 15.1 Internal Components

2. Video 15.1.1 Internal Components
3. Check for Understanding 15.1.2 Internal Components
4. Connection 15.1.3 Build a Computer
5. Free Response 15.1.4 Build a Computer
6. Example 15.1.5 Test Your Brain's RAM!
7. Free Response 15.1.6 Test Your Brain's RAM! Reflection
8. Connection 15.1.7 The Machine Instruction Cycle
9. ### 15.2 Peripheral Devices

10. Video 15.2.1 Peripheral Devices
11. Check for Understanding 15.2.2 Peripheral Devices
12. Free Response 15.2.3 Personalized Peripherals
13. Free Response 15.2.4 IT Help
14. Free Response 15.2.5 Your Ideal Computer Setup
15. ### 15.3 Network Devices

16. Video 15.3.1 Network Devices
17. Check for Understanding 15.3.2 Network Devices
18. Connection 15.3.3 Speed Test
19. Free Response 15.3.4 Speed Test
20. Connection 15.3.5 Fiber Optics Bend Light!
21. Free Response 15.3.6 Fiber Optics Bend Light!
22. Connection 15.3.7 Ethernet Standards
23. Free Response 15.3.8 Ethernet Standards
24. Free Response 15.3.9 Network Troubleshooting
25. ### 15.4 IT Infrastructure Quiz

26. Unit Quiz 15.4.1 IT Infrastructure Quiz
16. ## Data

1. ### 16.1 Getting Started with Data

2. Video 16.1.1 Getting Started with Data
3. Quiz 16.1.2 Getting Started with Data Quiz
4. Connection 16.1.3 What Do We Do With Data?
5. Free Response 16.1.4 Reflection: Continuously Collecting Data
6. Connection 16.1.5 Data Within an Organization
7. Free Response 16.1.6 Reflection: Data Within an Organization
8. ### 16.2 Visualizing and Interpreting Data

9. Video 16.2.1 Visualizing Data
10. Quiz 16.2.2 Visualizing Data Quiz
11. Notes 16.2.3 Exploring Data Visualizations
12. Connection 16.2.4 US Recorded Music Revenue
13. Connection 16.2.5 National Parks
15. Connection 16.2.7 Captain Marvel
16. Free Response 16.2.8 Respond: Visualizations
17. Free Response 16.2.9 Free Response: Choosing a Visualization
18. Quiz 16.2.10 Visualizing & Interpreting Data Quiz
19. ### 16.3 Present a Data-Driven Insight

20. Free Response 16.3.1 Topic Brainstorm
21. Free Response 16.3.2 Gathering Resources
22. Presentation 16.3.3 Make a Visualization
23. Free Response 16.3.4 Written Responses
24. Free Response 16.3.5 Share Your Findings
25. ### 16.4 Data Quiz

26. Quiz 16.4.1 Data Quiz
17. ## Final Project

1. ### 17.1 Project Prep and Development

2. Free Response 17.1.1 Planning and Design
3. Pseudocode 17.1.2 Pseudocode
4. Challenge 17.1.3 Write the Code!
5. Presentation 17.1.4 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. ## Extra Karel Practice

1. ### 20.1 Extra Karel Practice

2. Challenge 20.1.1 Functions Practice: K For Karel
3. Challenge 20.1.2 Functions Practice: Karel Plants A Tree
4. Challenge 20.1.3 Functions Practice: X Marks the Spot
5. Challenge 20.1.4 While Loop Practice: Blackout
6. Challenge 20.1.5 While Loop Practice: Move To Top
7. Challenge 20.1.6 Functions and While Loop Practice: Opposite Corner
8. Challenge 20.1.7 While Loop Practice: Checkered Row
9. Challenge 20.1.8 For Loop Practice: Tall Hurdles
10. Challenge 20.1.9 Functions and While Loop Practice: Row and Back
11. Challenge 20.1.10 Functions and For Loop Practice: Opposite Squares
12. Challenge 20.1.11 Stairway To Heaven
14. Exercise 20.1.13 For Loop Square
21. ## Animation and Games

1. ### 21.1 Timers

2. Video 21.1.1 Timers
3. Check for Understanding 21.1.2 Timers Quiz
4. Example 21.1.3 Moving Ball
5. Example 21.1.4 Magic 8 Ball
6. Exercise 21.1.5 Crazy Ball
7. ### 21.2 Random Circles

8. Video 21.2.1 Example: Random Circles
9. Check for Understanding 21.2.2 Random Circles Quiz
10. Example 21.2.3 Random Circles
11. Example 21.2.4 Spinner Example
12. Exercise 21.2.5 Growing Circle
13. Exercise 21.2.6 Paint splatter
15. ### 21.3 Random Ghosts

16. Video 21.3.1 Example: Random Ghosts
17. Check for Understanding 21.3.2 Random Ghosts Quiz
18. Example 21.3.3 Random Ghosts
19. Example 21.3.4 Random Fireworks
20. Exercise 21.3.5 Circle Wall
21. Exercise 21.3.6 Brick Wall
22. ### 21.4 Bouncing Ball

23. Video 21.4.1 Example: Bouncing Ball
24. Check for Understanding 21.4.2 Bouncing Ball Quiz
25. Example 21.4.3 Bouncing Ball
26. Exercise 21.4.4 Hotspot Ball
27. Exercise 21.4.5 Trail
29. ### 21.5 Mouse Events: Mouse Clicked

30. Video 21.5.1 Mouse Events: Mouse Clicked
31. Check for Understanding 21.5.2 Mouse Events: Mouse Clicked Quiz
32. Example 21.5.3 Click For Circles
33. Example 21.5.4 Click For Ghosts
34. Exercise 21.5.5 Teleporting Ball
35. Exercise 21.5.6 Pause
36. ### 21.6 Mouse Events: Mouse Moved

37. Video 21.6.1 Mouse Events: Mouse Moved
38. Check for Understanding 21.6.2 Mouse Events: Mouse Moved Quiz
39. Example 21.6.3 Simple Painting
40. Example 21.6.4 Colorful Drag to Paint
41. Exercise 21.6.5 Coordinates
42. Exercise 21.6.6 Target
43. ### 21.7 Drawing Lines

44. Video 21.7.1 Example: Drawing Lines
45. Check for Understanding 21.7.2 Drawing Lines Quiz
46. Example 21.7.3 Drawing Lines
47. Exercise 21.7.4 Leash
49. Survey 21.7.6 Mindset Survey 4
50. ### 21.8 Key Events

51. Video 21.8.1 Key Events
52. Check for Understanding 21.8.2 Key Events Quiz
53. Example 21.8.3 Keyboard Square
54. Exercise 21.8.4 Basic Snake
55. ### 21.9 Crazy Ball Game

56. Video 21.9.1 Crazy Ball Game 1
57. Check for Understanding 21.9.2 Crazy Ball Game Quiz 1
58. Example 21.9.3 Crazy Ball Game 1
59. Video 21.9.4 Crazy Ball Game 2
60. Check for Understanding 21.9.5 Crazy Ball Game Quiz 2
61. Example 21.9.6 Crazy Ball Game 2
62. Exercise 21.9.7 Click for Collision
63. Exercise 21.9.8 Drag and Drop
22. ## Animation Challenges

1. ### 22.1 Animation Challenges

3. Challenge 22.1.2 Increasing Number of Shapes
4. Unit Quiz 22.1.3 Animation and Games Quiz
23. ## Project: Breakout

1. ### 23.1 Breakout

2. Challenge 23.1.1 Bricks
3. Challenge 23.1.2 Ball and Paddle
4. Challenge 23.1.3 Breakout
24. ## Extra Karel Puzzles

1. ### 24.1 Extra Karel Puzzles

2. Challenge 24.1.1 Midpoint Karel
3. Challenge 24.1.2 Target Karel
4. Challenge 24.1.3 The Winding Yellow Road
5. Challenge 24.1.4 Super Random Hurdles
6. Challenge 24.1.5 Copy
7. Challenge 24.1.6 Multiply
8. Challenge 24.1.7 Fibonacci Karel
9. Challenge 24.1.8 Comparison Karel
10. Challenge 24.1.9 Swap
11. Challenge 24.1.10 Sorting Karel
25. ## Functions and Parameters Practice

1. ### 25.1 Functions and Parameters Practice

2. Challenge 25.1.1 Taking a Power
3. Challenge 25.1.2 Dot Rectangle
4. Challenge 25.1.3 Print the Date
5. Challenge 25.1.4 Concentric Circles
6. Challenge 25.1.5 Graphics Staircase
7. Exercise 25.1.6 The Weekend
26. ## Extra Console Challenges

1. ### 26.1 Prime Numbers

2. Challenge 26.1.1 Prime Numbers
3. Challenge 26.1.2 Find the Max
4. Challenge 26.1.3 Prime Factorization
5. Challenge 26.1.4 Fizz Buzz
6. Challenge 26.1.5 Grid Printer
7. Challenge 26.1.6 Number Sum
8. Challenge 26.1.7 Pythagorean Triples
9. Challenge 26.1.8 Digit Array
27. ## More Graphics and Animation

1. ### 27.1 Fun Snake

2. Challenge 27.1.1 Fun Snake 1
3. Challenge 27.1.2 Fun Snake 2
4. Challenge 27.1.3 Fun Snake 3
5. Challenge 27.1.4 Fun Snake 4 - A Full Game!
6. ### 27.2 Fun Graphics Challenges

7. Challenge 27.2.1 Snowman Loop
8. Challenge 27.2.2 Broccoli
28. ## Data Structures Challenge Problems

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. ## Evolution Simulation

1. ### 29.1 Evolution Simulation

2. Challenge 29.1.1 Evolution Simulation: Part 1
3. Challenge 29.1.2 Evolution Simulation: Part 2
4. Challenge 29.1.3 Evolution Simulation: Part 3
5. Challenge 29.1.4 Evolution Simulation: Part 4
6. Challenge 29.1.5 Evolution Simulation: Part 5
30. ## Demo Problems

1. ### 30.1 Lesson 1

2. Practice 30.1.1 Square Method
3. Practice 30.1.2 Java Sum
4. Practice 30.1.3 Python Sum
5. Practice 30.1.4 JavaScript Sum
31. ## Extra Quiz Questions

1. ### 31.1 Basic Javascript and Graphics

2. Quiz 31.1.1 Extra JavaScript Graphics Quesions
3. Quiz 31.1.2 Extra Logical Operators Questions
4. Quiz 31.1.3 Extra Functions and Return Values Questions
5. Quiz 31.1.4 Extra Local Variables and Scope Questions
6. ### 31.2 Animation and Games

7. Quiz 31.2.1 Extra Timers Questions
8. Quiz 31.2.2 Extra Bouncing Ball Questions
9. Quiz 31.2.3 Extra Mouse Events: Mouse Clicked Questions
10. Quiz 31.2.4 Extra Key Events Questions
11. Quiz 31.2.5 Extra Crazy Ball Game Questions
12. ### 31.3 Basic Data Structures

13. Quiz 31.3.1 Extra Intro to Lists/Arrays Questions
14. Quiz 31.3.2 Extra Indexing into an Array Questions
15. Quiz 31.3.3 Extra Adding/Removing from an Array Questions
16. Quiz 31.3.4 Extra Array Length and Looping Through Arrays Questions
17. Quiz 31.3.5 Extra Iterating Over an Array Questions
18. Quiz 31.3.6 Extra Finding an Element in a List Questions
19. Quiz 31.3.7 Extra Removing an Element from an Array Questions
20. Quiz 31.3.8 Extra Basics of Objects Questions
21. Quiz 31.3.9 Extra Intro to Sets Questions
22. Quiz 31.3.10 Extra Intro to Grids Questions
32. ## Visualizing Music

1. ### 32.1 Visualizing Music

2. Video 32.1.1 Visualizing Music
3. Example 32.1.2 Our First Visualization
4. Example 32.1.3 Vertical Bars
5. Example 32.1.4 Vertical Bars with Color
6. Example 32.1.5 Changing Circles
7. Exercise 32.1.6 Your First Visualization
8. Exercise 32.1.7 Changing Colors
9. Exercise 32.1.8 Custom Colors
10. Exercise 32.1.9 Create Your Own Music Visualization
33. ## Data Structures

1. ### 33.1 Intro to Lists/Arrays

2. Video 33.1.1 Intro to Lists/Arrays
3. Check for Understanding 33.1.2 Intro to Lists/Arrays Quiz
4. Example 33.1.3 Making an Array
5. Exercise 33.1.4 List of Places to Travel
6. Exercise 33.1.5 List of Even Numbers
7. ### 33.2 Indexing Into an Array

8. Video 33.2.1 Indexing Into an Array
9. Check for Understanding 33.2.2 Indexing into an Array Quiz
10. Example 33.2.3 Array Indexing Practice
11. Exercise 33.2.4 Top Websites
12. ### 33.3 Adding/Removing From an Array

13. Video 33.3.1 Adding/Removing From an Array
14. Check for Understanding 33.3.2 Adding/Removing from an Array Quiz
15. Example 33.3.3 Add/Remove From Array
16. Exercise 33.3.4 Practice Push and Pop
17. ### 33.4 Array Length and Looping Through Arrays

18. Video 33.4.1 Array Length and Looping Through Arrays
19. Check for Understanding 33.4.2 Array Length and Looping Through Arrays Quiz
20. Example 33.4.3 Print Shopping List
21. Example 33.4.4 Sum Array
22. Exercise 33.4.5 Product of List
23. Exercise 33.4.6 Print Flight Itinerary
24. Exercise 33.4.7 Double List
25. Exercise 33.4.8 Evens Only List
26. Exercise 33.4.9 Reverse List
27. ### 33.5 Iterating Over an Array

28. Video 33.5.1 Examples: Iterating Over an Array
29. Check for Understanding 33.5.2 Iterating Over an Array Quiz
30. Example 33.5.3 Coin Flips
31. Example 33.5.4 Many Crazy Balls
32. Exercise 33.5.5 Coin Flip Fun: Number of Heads and Tails
33. Exercise 33.5.6 Coin Flip Fun: Longest Streak of Heads
34. Exercise 33.5.7 Changing Circles
35. Exercise 33.5.8 Draw a Barcode
36. ### 33.6 Finding an Element in a List

37. Video 33.6.1 Finding an Element in a List
38. Check for Understanding 33.6.2 Finding an Element in a List Quiz
39. Example 33.6.3 Array indexOf
40. Exercise 33.6.4 Who is in Line?
41. ### 33.7 Removing an Element From an Array

42. Video 33.7.1 Removing an Element From an Array
43. Check for Understanding 33.7.2 Removing an Element from an Array Quiz
44. Example 33.7.3 Splice and Remove
45. Exercise 33.7.4 Remove From Line
46. ### 33.8 Intro to Objects/Maps

47. Video 33.8.1 Intro to Objects/Maps
48. Check for Understanding 33.8.2 Intro to Objects / Maps Quiz
49. Example 33.8.3 Phonebook
50. Exercise 33.8.4 Sidekicks
51. ### 33.9 Basics of Objects

52. Video 33.9.1 Basics of Objects
53. Check for Understanding 33.9.2 Basics of Objects Quiz
54. Example 33.9.3 Object Literal Phonebook
55. Example 33.9.4 Object Property Phonebook
56. Example 33.9.5 Beware Dot Notation!
58. ### 33.10 Iterating Over an Object

59. Video 33.10.1 Iterating Over An Object
60. Check for Understanding 33.10.2 Iterating over an Object Quiz
61. Example 33.10.3 Print Phonebook
62. Exercise 33.10.4 Hogwarts
63. ### 33.11 When Do I Use an Object?

64. Video 33.11.1 When Do I Use An Object?
65. Check for Understanding 33.11.2 When do I use an Object Quiz
66. Example 33.11.3 Facebook Friend Lists
67. Example 33.11.4 Does the Key Exist?
68. Exercise 33.11.5 Text Messages
69. ### 33.12 Intro to Sets

70. Video 33.12.1 Intro to Sets
71. Check for Understanding 33.12.2 Intro to Sets Quiz
72. Example 33.12.3 Basic Sets
73. Exercise 33.12.4 Vowels
74. Exercise 33.12.5 Mutual Friends
75. Exercise 33.12.6 Total Network of Friends
76. ### 33.13 Intro to Grids

77. Video 33.13.1 Intro to Grids
78. Check for Understanding 33.13.2 Intro to Grids Quiz
79. Example 33.13.3 Grid Basics
80. ### 33.14 Looping Over a Grid

81. Video 33.14.1 Looping Over a Grid
82. Check for Understanding 33.14.2 Looping Over a Grid Quiz
83. Example 33.14.3 Print Grid
84. Exercise 33.14.4 Summing Grid
85. ### 33.15 Grid Example: Get a Row

86. Video 33.15.1 Grid Example: Get a Row
87. Check for Understanding 33.15.2 Grid Example: Get a Row Quiz
88. Example 33.15.3 Get a Row
89. Exercise 33.15.4 Grid Diagonal
91. ### 33.16 Data Structures Challenges

92. Challenge 33.16.1 Watercolor Grid
93. Challenge 33.16.2 Moving Scene
94. Unit Quiz 33.16.3 Data Structures Unit Quiz
34. ## Project: Tic Tac Toe

1. ### 34.1 Tic Tac Toe

2. Challenge 34.1.1 Tic Tac Toe: Part 1
3. Challenge 34.1.2 Tic Tac Toe: Part 2
4. Challenge 34.1.3 Tic Tac Toe: Full Game
35. ## Project: Helicopter Game

1. ### 35.1 Game Design: Helicopter

2. Video 35.1.1 Introduction to Helicopter
3. ### 35.2 Basics

4. Video 35.2.1 Moving the Helicopter
5. Exercise 35.2.2 Moving the Helicopter
8. Video 35.2.5 Smoother Movement
9. Exercise 35.2.6 Smoother Movement
11. ### 35.3 Improvements

12. Video 35.3.1 Colliding with Walls
13. Exercise 35.3.2 Wall Collisions
14. Video 35.3.3 Colliding with Obstacles
15. Exercise 35.3.4 Obstacle Collisions
18. Video 35.3.7 Moving the Terrain
19. Exercise 35.3.8 Moving the Terrain
20. ### 35.4 Polish

21. Video 35.4.1 Helicopter Image and Points!
22. Exercise 35.4.2 Image and Points
23. Video 35.4.3 Dust
24. Exercise 35.4.4 Dust
25. Video 35.4.5 More Obstacles
26. Exercise 35.4.6 More Obstacles
27. Challenge 35.4.7 Helicopter Extensions

36. ## Principles of Computing Pretest

1. ### 36.1 Intro to CS: JavaScript Pretest

2. Notes 36.1.1 About the Pretest
3. Survey 36.1.2 Mindsets
4. Quiz 36.1.3 JavaScript Knowledge & Skills
37. ## More Cloud Storage Resources

1. ### 37.1 Introduction to Cloud Storage

2. Article 37.1.1 Cloud-based vs. Local/Network Data Storage
3. Free Response 37.1.2 Cloud Based vs Local/Network Data Storage Reflection
4. Article 37.1.3 Logical vs Physical Data Model
5. Free Response 37.1.4 Logical vs Physical Data Model Reflection