Please enable JavaScript to use CodeHS

AP Computer Science Principles: Cybersecurity - Outline

  1. Introduction to Programming

    1. 1.1 Welcome to AP CSP

    2. Video 1.1.1 Welcome to AP CSP
    3. Free Response 1.1.2 Why AP CSP?
    4. 1.2 Introduction to Programming With Karel

    5. Video 1.2.1 Introduction to Programming With Karel
    6. Check for Understanding 1.2.2 Quiz: Karel Commands
    7. Example 1.2.3 Our First Karel Program
    8. Exercise 1.2.4 Your First Karel Program
    9. Exercise 1.2.5 Short Stack
    10. Debugging 1.2.6 Dancing Karel
    11. 1.3 More Basic Karel

    12. Video 1.3.1 More Basic Karel
    13. Check for Understanding 1.3.2 More Basic Karel Quiz
    14. Example 1.3.3 Tennis Ball Square
    15. Exercise 1.3.4 Make a Tower
    16. Exercise 1.3.5 Pyramid of Karel
    17. Debugging 1.3.6 Go Through the Door
    18. 1.4 Karel Can't Turn Right

    19. Video 1.4.1 Karel Can't Turn Right
    20. Check for Understanding 1.4.2 Karel Can't Turn Right Quiz
    21. Example 1.4.3 Tower and Turn Right
    22. Exercise 1.4.4 Fireman Karel
    23. Exercise 1.4.5 Slide Karel
    24. Free Response 1.4.6 Reflection: Teaching Karel New Commands
    25. Badge 1.4.7 Right Turn Karel Badge
    26. 1.5 Functions in Karel

    27. Video 1.5.1 Functions in Karel
    28. Check for Understanding 1.5.2 Functions in Karel Quiz
    29. Example 1.5.3 Turn Around
    30. Exercise 1.5.4 Pancakes
    31. Exercise 1.5.5 Backflip
    32. Exercise 1.5.6 Digging Karel
    33. Debugging 1.5.7 Build a Shelter
    34. 1.6 The Start Function

    35. Video 1.6.1 The Start Function
    36. Check for Understanding 1.6.2 The Start Function Quiz
    37. Example 1.6.3 Tower with Start Function
    38. Exercise 1.6.4 Pancakes with Start
    39. Exercise 1.6.5 Digging Karel with Start
    40. 1.7 Top Down Design and Decomposition in Karel

    41. Video 1.7.1 Top Down Design and Decomposition in Karel
    42. Check for Understanding 1.7.2 Top Down Design and Decomposition Quiz
    43. Example 1.7.3 Hurdle Karel
    44. Exercise 1.7.4 The Two Towers
    45. Debugging 1.7.5 Make a 'Z'
    46. Free Response 1.7.6 Reflection: Top Down Design
    47. 1.8 Commenting Your Code

    48. Video 1.8.1 Commenting Your Code
    49. Check for Understanding 1.8.2 Commenting Your Code Quiz
    50. Example 1.8.3 Hurdle Karel
    51. Exercise 1.8.4 The Two Towers + Comments
    52. Free Response 1.8.5 Reflection: Commenting
    53. 1.9 Abstraction

    54. Video 1.9.1 Abstraction
    55. Check for Understanding 1.9.2 Abstraction Quiz
    56. Example 1.9.3 Abstracting Away buildTower
    57. Free Response 1.9.4 Abstracting Your Day
    58. Free Response 1.9.5 Reflection: Abstraction
    59. Free Response 1.9.6 Reflection: Abstraction in Karel
    60. 1.10 Super Karel

    61. Video 1.10.1 Super Karel
    62. Check for Understanding 1.10.2 Super Karel Quiz
    63. Example 1.10.3 Hurdle Karel (with SuperKarel)
    64. Exercise 1.10.4 The Two Towers + SuperKarel
    65. Badge 1.10.5 Super Karel Badge
    66. 1.11 For Loops

    67. Video 1.11.1 For Loops
    68. Check for Understanding 1.11.2 For Loops Quiz
    69. Example 1.11.3 Repeated Move
    70. Example 1.11.4 Put Down Tennis Balls
    71. Exercise 1.11.5 Take 'em All
    72. Exercise 1.11.6 Dizzy Karel
    73. Exercise 1.11.7 For Loop Square
    74. Exercise 1.11.8 Lots of Hurdles
    75. 1.12 If Statements

    76. Video 1.12.1 If Statements
    77. Check for Understanding 1.12.2 If Statements Quiz
    78. Example 1.12.3 If Statements
    79. Example 1.12.4 Safe Take Ball
    80. Exercise 1.12.5 Is There a Ball?
    81. Survey 1.12.6 Mindsets
    82. 1.13 If/Else Statements

    83. Video 1.13.1 If/Else Statements
    84. Check for Understanding 1.13.2 If/Else Statements Quiz
    85. Example 1.13.3 If/Else Statements
    86. Example 1.13.4 One Ball in Each Spot
    87. Exercise 1.13.5 Right Side Up
    88. Badge 1.13.6 Conditional Karel Badge
    89. 1.14 While Loops in Karel

    90. Video 1.14.1 While Loops in Karel
    91. Check for Understanding 1.14.2 While Loops in Karel Quiz
    92. Example 1.14.3 Move to Wall
    93. Exercise 1.14.4 Follow The Yellow Ball Road
    94. Exercise 1.14.5 Lay Row of Tennis Balls
    95. Exercise 1.14.6 Big Tower
    96. 1.15 Control Structures Example

    97. Video 1.15.1 Control Structures Example
    98. Check for Understanding 1.15.2 Control Structures Example Quiz
    99. Example 1.15.3 Cleanup Karel
    100. Exercise 1.15.4 Random Hurdles
    101. 1.16 Debugging Strategies

    102. Video 1.16.1 Debugging Basics
    103. Check for Understanding 1.16.2 Debugging Basics
    104. Debugging 1.16.3 Debug: The Two Towers
    105. Debugging 1.16.4 Debug: Lots of Hurdles
    106. Video 1.16.5 Debugging From Error Messages
    107. Check for Understanding 1.16.6 Debugging with Error Messages
    108. Debugging 1.16.7 Debug: Big Tower
    109. Debugging 1.16.8 Debug: Random Hurdles
    110. 1.17 Karel Algorithms

    111. Video 1.17.1 Karel Algorithms
    112. Check for Understanding 1.17.2 Quiz: Which Control Structure?
    113. Video 1.17.3 Algorithms Example: Move Stack
    114. Example 1.17.4 Move Tennis Ball Stack
    115. Example 1.17.5 Climbing Karel
    116. Exercise 1.17.6 Decorate the Fence
    117. 1.18 How to Indent Your Code

    118. Video 1.18.1 How to Indent Your Code
    119. Check for Understanding 1.18.2 How to Indent Your Code Quiz
    120. Example 1.18.3 Dance and Clean Karel
    121. Exercise 1.18.4 Diagonal
    122. Exercise 1.18.5 Staircase
    123. 1.19 Ultra Karel

    124. Video 1.19.1 Ultra Karel
    125. Check for Understanding 1.19.2 Ultra Karel Quiz
    126. Example 1.19.3 Red Frame
    127. Example 1.19.4 Slip 'n Slide
    128. Exercise 1.19.5 Invert Colors
    129. Exercise 1.19.6 Checkerboard Karel
    130. Badge 1.19.7 Karel Exercises Badge
    131. 1.20 Karel Challenges

    132. Challenge 1.20.1 Fetch
    133. Challenge 1.20.2 Racing Karel
    134. Challenge 1.20.3 Tower Builder
    135. Challenge 1.20.4 Super Cleanup Karel
    136. Challenge 1.20.5 Double Tennis Balls
    137. Badge 1.20.6 Karel Challenges Badge
    138. 1.21 Introduction to Programming Quiz

    139. Unit Quiz 1.21.1 Introduction to Programming Quiz
  2. Practice PT: Pair-Programming Paint!

    1. 2.1 Practice PT: Pair-Programming Paint!

    2. Video 2.1.1 Pair-Programming
    3. Check for Understanding 2.1.2 Pair-Programming
    4. Connection 2.1.3 Create PT Scoring Guidelines
    5. Free Response 2.1.4 Setting Norms
    6. Free Response 2.1.5 Brainstorm and Discuss
    7. Free Response 2.1.6 Planning
    8. Free Response 2.1.7 Program Documentation
    9. Free Response 2.1.8 Pseudocode
    10. Challenge 2.1.9 Create your UltraKarel Image!
    11. Badge 2.1.10 Karel Practice PT Badge
    12. Free Response 2.1.11 Reflection
  3. Programming with JavaScript

    1. 3.1 What is Code

    2. Video 3.1.1 What is Code?
    3. Connection 3.1.2 What is Software?
    4. Free Response 3.1.3 Respond: What is Software
    5. 3.2 Uses of Programs

    6. Video 3.2.1 Uses of Programs
    7. Video 3.2.2 Coding for a Cause
    8. Free Response 3.2.3 Response: Coding for a Cause
    9. Free Response 3.2.4 Reflection: Programs in Your Life
    10. Free Response 3.2.5 Reflection: Future Programs
    11. Free Response 3.2.6 Task: Computing Innovations
    12. 3.3 Hello World

    13. Video 3.3.1 Hello World
    14. Check for Understanding 3.3.2 Hello World Quiz
    15. Example 3.3.3 Hello World
    16. Exercise 3.3.4 Your Name and Hobby
    17. 3.4 Variables

    18. Video 3.4.1 Variables
    19. Check for Understanding 3.4.2 Variables Quiz
    20. Example 3.4.3 Basic Variables
    21. Exercise 3.4.4 Apples and Oranges
    22. AP Practice 3.4.5 AP Practice: Variables
    23. 3.5 User Input

    24. Video 3.5.1 User Input
    25. Check for Understanding 3.5.2 User Input Quiz
    26. Example 3.5.3 Basic User Input
    27. Exercise 3.5.4 Obi-Wan Says
    28. AP Practice 3.5.5 AP Practice: User Input
    29. Badge 3.5.6 User Input Badge
    30. 3.6 Basic Math in JavaScript

    31. Video 3.6.1 Basic Math in JavaScript
    32. Check for Understanding 3.6.2 Basic Math in JavaScript Quiz
    33. Example 3.6.3 Order of Operations
    34. Example 3.6.4 Dollars to Pounds
    35. Example 3.6.5 Dividing Up Groups
    36. Exercise 3.6.6 Sporting Goods Shop
    37. Exercise 3.6.7 Running Speed
    38. Exercise 3.6.8 24 vs. "24"
    39. AP Practice 3.6.9 AP Practice: Arithmetic Operators
    40. 3.7 Using Graphics in JavaScript

    41. Video 3.7.1 Graphics
    42. Check for Understanding 3.7.2 JavaScript Graphics Quiz
    43. Example 3.7.3 Graphics Hello World
    44. Example 3.7.4 Blue Circle
    45. Example 3.7.5 Red Rectangle
    46. Example 3.7.6 8 Ball
    47. Exercise 3.7.7 French Flag
    48. Exercise 3.7.8 Snowman
    49. Badge 3.7.9 Graphics Badge
    50. 3.8 Mouse Events: Mouse Clicked

    51. Video 3.8.1 Mouse Events: Mouse Clicked
    52. Check for Understanding 3.8.2 Mouse Events: Mouse Clicked Quiz
    53. Example 3.8.3 Click For Circles
    54. Example 3.8.4 Click For Mickey
    55. Exercise 3.8.5 Click for Rectangles
    56. 3.9 Programming with JavaScript Quiz

    57. Unit Quiz 3.9.1 Programming with JavaScript Quiz
    58. Badge 3.9.2 Graphics Badge
  4. JavaScript Control Structures

    1. 4.1 Booleans

    2. Video 4.1.1 Booleans
    3. Check for Understanding 4.1.2 Booleans Quiz
    4. Example 4.1.3 First Boolean
    5. Exercise 4.1.4 Do You Have a Cat?
    6. 4.2 Logical Operators

    7. Video 4.2.1 Logical Operators
    8. Check for Understanding 4.2.2 Logical Operators Quiz
    9. Example 4.2.3 Light Switch
    10. Example 4.2.4 President
    11. Example 4.2.5 Wasting Time
    12. Exercise 4.2.6 Can You Graduate?
    13. Exercise 4.2.7 School's Out
    14. 4.3 Comparison Operators

    15. Video 4.3.1 Comparison Operators
    16. Check for Understanding 4.3.2 Comparison Operators Quiz
    17. Example 4.3.3 Voting Age
    18. Example 4.3.4 Grade Range
    19. Exercise 4.3.5 Rolling Dice
    20. Exercise 4.3.6 All Star
    21. AP Practice 4.3.7 AP Practice: Comparison Operators
    22. 4.4 If Statements

    23. Video 4.4.1 If Statements
    24. Check for Understanding 4.4.2 If Statements Quiz
    25. Example 4.4.3 Negative Numbers
    26. Example 4.4.4 Great Names
    27. Example 4.4.5 Even and Odd
    28. Example 4.4.6 Secret Password
    29. Exercise 4.4.7 Teenagers
    30. Video 4.4.8 Input Validation and Conditionals
    31. AP Practice 4.4.9 Conditional Pseudocode Activity
    32. Badge 4.4.10 Conditionals Badge
    33. 4.5 Applying Conditionals - Password Validation

    34. Video 4.5.1 Password Protection
    35. Exercise 4.5.2 Password Checker
    36. Free Response 4.5.3 How Strong is your password?
    37. Exercise 4.5.4 Create a password
    38. Video 4.5.5 Ethics Moment: AI and Programming
    39. Free Response 4.5.6 Response: AI and Programming
    40. 4.6 Key Events

    41. Video 4.6.1 Key Events
    42. Check for Understanding 4.6.2 Key Events Quiz
    43. Example 4.6.3 Keyboard Square
    44. Exercise 4.6.4 Growing Circle
    45. 4.7 For Loops in JavaScript

    46. Video 4.7.1 Basic For Loop
    47. Check for Understanding 4.7.2 For Loops Quiz
    48. Example 4.7.3 For Loop
    49. Exercise 4.7.4 Meme Text Generator
    50. Exercise 4.7.5 The Worm
    51. Exercise 4.7.6 Caterpillar
    52. 4.8 General For Loops

    53. Video 4.8.1 General For Loop
    54. Check for Understanding 4.8.2 General For Loop Quiz
    55. Example 4.8.3 Countdown
    56. Example 4.8.4 Count By Twos
    57. Exercise 4.8.5 Count By Sevens
    58. Exercise 4.8.6 Powers of Two
    59. Video 4.8.7 Iterations
    60. AP Practice 4.8.8 Iterative Pseudocode Activity - Part 1
    61. 4.9 For Loop Practice

    62. Video 4.9.1 For Loop Examples
    63. Check for Understanding 4.9.2 For Loop Examples Quiz
    64. Example 4.9.3 For Loop Sum
    65. Exercise 4.9.4 Better Sum
    66. Exercise 4.9.5 Factorial
    67. Exercise 4.9.6 All Dice Values
    68. 4.10 Random Numbers

    69. Video 4.10.1 Random Numbers
    70. Check for Understanding 4.10.2 Random Numbers Quiz
    71. Example 4.10.3 Rolling a Die
    72. Example 4.10.4 Flipping a Coin
    73. Exercise 4.10.5 Lots of Dice
    74. Exercise 4.10.6 Random Color Square
    75. Survey 4.10.7 Mindsets
    76. 4.11 While Loops

    77. Video 4.11.1 While Loops
    78. Check for Understanding 4.11.2 While Loops Quiz
    79. Example 4.11.3 While Loop Countdown
    80. Exercise 4.11.4 Inventory
    81. Exercise 4.11.5 Fibonacci
    82. Exercise 4.11.6 Verify the Password Length
    83. AP Practice 4.11.7 Iterative Pseudocode Activity - Part 2
    84. 4.12 Loop and a Half

    85. Video 4.12.1 Loop and a Half
    86. Check for Understanding 4.12.2 Loop and a Half Quiz
    87. Example 4.12.3 Adding Up Numbers
    88. Exercise 4.12.4 Snake Eyes
    89. Exercise 4.12.5 Making a Stronger Password
    90. Exercise 4.12.6 Passwords with Letters and Numbers
    91. Badge 4.12.7 Looper Badge
    92. 4.13 Javascript Control Structures Quiz

    93. Unit Quiz 4.13.1 JavaScript Control Structures Quiz
  5. Functions and Parameters

    1. 5.1 Functions and Parameters 1

    2. Video 5.1.1 Functions and Parameters 1
    3. Check for Understanding 5.1.2 Functions and Parameters Quiz 1
    4. Example 5.1.3 Double Number
    5. Exercise 5.1.4 Square
    6. Exercise 5.1.5 Triple
    7. 5.2 Functions and Parameters 2

    8. Video 5.2.1 Functions and Parameters 2
    9. Check for Understanding 5.2.2 Functions and Parameters Quiz 2
    10. Example 5.2.3 Sum Function
    11. Exercise 5.2.4 Area of Triangle
    12. Exercise 5.2.5 Height in Meters
    13. 5.3 Functions and Parameters 3

    14. Video 5.3.1 Functions and Parameters 3
    15. Check for Understanding 5.3.2 Functions and Parameters Quiz 3
    16. Example 5.3.3 Draw Circles
    17. Exercise 5.3.4 Horizontal Lines
    18. Exercise 5.3.5 Graphics Stop Light
    19. Exercise 5.3.6 Pool Table
    20. Badge 5.3.7 Parameters Badge
    21. 5.4 Functions and Return Values 1

    22. Video 5.4.1 Functions and Return Values 1
    23. Check for Understanding 5.4.2 Functions and Return Values Quiz
    24. Example 5.4.3 Double Number
    25. Exercise 5.4.4 Square with Return Values
    26. Exercise 5.4.5 Quadruple with Return Values
    27. 5.5 Functions and Return Values 2

    28. Video 5.5.1 Functions and Return Values 2
    29. Check for Understanding 5.5.2 Functions and Return Values Quiz 2
    30. Example 5.5.3 Return Values
    31. Exercise 5.5.4 Is It Even?
    32. Exercise 5.5.5 Min
    33. 5.6 Local Variables and Scope

    34. Video 5.6.1 Local Variables and Scope
    35. Check for Understanding 5.6.2 Local Variables and Scope Quiz
    36. Example 5.6.3 Return Values
    37. Exercise 5.6.4 Local Variables
    38. 5.7 JavaScript vs Karel

    39. Video 5.7.1 JavaScript vs Karel
    40. Example 5.7.2 Making Karel's World
    41. Example 5.7.3 Making Karel Turn Left
    42. Exercise 5.7.4 Making Karel Turn Right
    43. Exercise 5.7.5 Making Karel Move
    44. Connection 5.7.6 What is an API?
    45. Free Response 5.7.7 Reflection: Is Karel an API?
    46. Badge 5.7.8 JavaScript Exercises Badge
    47. 5.8 Basic JavaScript and Graphics Challenges

    48. Challenge 5.8.1 Ghosts
    49. Challenge 5.8.2 Guessing Game
    50. Challenge 5.8.3 Draw Something
    51. Badge 5.8.4 JavaScript Challenges Badge
    52. 5.9 Functions and Parameters Quiz

    53. Unit Quiz 5.9.1 Functions and Parameters Quiz
  6. Practice PT: Tell a Story

    1. 6.1 Project: Tell a Story

    2. Demo 6.1.1 Tell a Story Demo
    3. Connection 6.1.2 Create PT Scoring Guidelines
    4. Free Response 6.1.3 Brainstorm and Discuss
    5. Free Response 6.1.4 Planning
    6. Free Response 6.1.5 Pseudocode
    7. Challenge 6.1.6 Tell a Story!
    8. Free Response 6.1.7 Reflection
  7. Basic Data Structures

    1. 7.1 Intro to Lists/Arrays

    2. Video 7.1.1 Intro to Lists/Arrays
    3. Check for Understanding 7.1.2 Intro to Lists/Arrays Quiz
    4. Example 7.1.3 Making an Array
    5. Exercise 7.1.4 List of Places to Travel
    6. Exercise 7.1.5 List of Prime Numbers
    7. 7.2 Indexing Into an Array

    8. Video 7.2.1 Indexing Into an Array
    9. Check for Understanding 7.2.2 Indexing into an Array Quiz
    10. Example 7.2.3 Array Indexing Practice
    11. Exercise 7.2.4 Top Movies
    12. Badge 7.2.5 Indexing Badge
    13. 7.3 Adding/Removing From an Array

    14. Video 7.3.1 Adding/Removing From an Array
    15. Check for Understanding 7.3.2 Adding/Removing from an Array Quiz
    16. Example 7.3.3 Add/Remove From Array
    17. Exercise 7.3.4 Empty Array (Push/Pop)
    18. Video 7.3.5 Intro to Lists
    19. Check for Understanding 7.3.6 List Introduction
    20. 7.4 Array Length and Looping Through Arrays

    21. Video 7.4.1 Array Length and Looping Through Arrays
    22. Check for Understanding 7.4.2 Array Length and Looping Through Arrays Quiz
    23. Example 7.4.3 Print Shopping List
    24. Example 7.4.4 Print First Five Items
    25. Example 7.4.5 Sum Array
    26. Example 7.4.6 Max Value in Array
    27. Exercise 7.4.7 Product of List
    28. Exercise 7.4.8 Print Flight Itinerary
    29. Exercise 7.4.9 Double List
    30. Exercise 7.4.10 Evens Only List
    31. Exercise 7.4.11 In a World Without Arrays!
    32. Free Response 7.4.12 Reflection: World Without Arrays!
    33. Exercise 7.4.13 Reverse List
    34. 7.5 Iterating Over an Array

    35. Video 7.5.1 Examples: Iterating Over an Array
    36. Check for Understanding 7.5.2 Iterating Over an Array Quiz
    37. Example 7.5.3 Coin Flips
    38. Example 7.5.4 Many Crazy Balls
    39. Exercise 7.5.5 Coin Flip Fun: Number of Heads and Tails
    40. Exercise 7.5.6 Coin Flip Fun: Longest Streak of Heads
    41. Exercise 7.5.7 Changing Circles
    42. Exercise 7.5.8 Draw a Barcode
    43. Video 7.5.9 Traversing a List
    44. Check for Understanding 7.5.10 Traversing a List
    45. Badge 7.5.11 Arrays Badge
    46. Survey 7.5.12 Mindsets
    47. 7.6 Finding an Element in a List

    48. Video 7.6.1 Finding an Element in a List
    49. Check for Understanding 7.6.2 Finding an Element in a List Quiz
    50. Example 7.6.3 Array indexOf
    51. Exercise 7.6.4 Who is in Line?
    52. Example 7.6.5 Algorithm Efficiency
    53. 7.7 Removing an Element From an Array

    54. Video 7.7.1 Removing an Element From an Array
    55. Check for Understanding 7.7.2 Removing an Element from an Array Quiz
    56. Example 7.7.3 Splice and Remove
    57. Exercise 7.7.4 Remove From Line
    58. AP Practice 7.7.5 AP Practice: List Procedures
    59. 7.8 Applying Iteration - Usernames and Passwords

    60. Video 7.8.1 Username and Password Creation
    61. Free Response 7.8.2 Usernames and Passwords: Pseudocode
    62. Exercise 7.8.3 Usernames and Passwords: JavaScript
    63. Challenge 7.8.4 Username and Password Verification
    64. Video 7.8.5 Ethics Moment: The Impact of Programming Errors
    65. Free Response 7.8.6 Response: The Impact of Programming Errors
    66. 7.9 Simulation

    67. Video 7.9.1 Simulation
    68. Example 7.9.2 Gravity Simulation
    69. Example 7.9.3 Conway's Game of Life
    70. Exercise 7.9.4 Simulating a Coin Flip
    71. Connection 7.9.5 Wolf Sheep Predation Simulation
    72. Badge 7.9.6 Data Structures Exercises Badge
    73. 7.10 Basic Data Structures Quiz

    74. Unit Quiz 7.10.1 Basic Data Structures Quiz
  8. Digital Information

    1. 8.1 Intro to Digital Information

    2. Video 8.1.1 What is Digital Information?
    3. Check for Understanding 8.1.2 What is Digital Information Quiz
    4. Example 8.1.3 Fast Food Menu
    5. Example 8.1.4 DNA
    6. Free Response 8.1.5 Reflection: Encodings Everywhere
    7. 8.2 Number Systems

    8. Video 8.2.1 Number Systems
    9. Notes 8.2.2 Number Base Tool
    10. Check for Understanding 8.2.3 Number Systems Quiz
    11. Video 8.2.4 Decimal to Binary
    12. Check for Understanding 8.2.5 Decimal to Binary Quiz
    13. Exercise 8.2.6 Binary Game
    14. Exercise 8.2.7 Overflow Error
    15. Example 8.2.8 More Overflow Errors
    16. 8.3 Encoding Text with Binary

    17. Video 8.3.1 Encoding Text with Binary
    18. Check for Understanding 8.3.2 Encoding Text with Binary Quiz
    19. Example 8.3.3 Morse Code
    20. Example 8.3.4 Decoding a Binary Message
    21. Example 8.3.5 2-bit Custom Encoding
    22. Example 8.3.6 Bits to ASCII
    23. Exercise 8.3.7 Hello Karel in Bits
    24. Exercise 8.3.8 Create your own Encoding
    25. Exercise 8.3.9 Text to Binary
    26. Badge 8.3.10 Encoding Badge
    27. 8.4 Pixel Images

    28. Video 8.4.1 Pixel Images
    29. Check for Understanding 8.4.2 Pixel Images Quiz
    30. Resource 8.4.3 Creating Pixel Images
    31. Example 8.4.4 CodeHS Logo
    32. Exercise 8.4.5 Checkerboard
    33. Exercise 8.4.6 Ladder
    34. Exercise 8.4.7 Create an Image!
    35. 8.5 Hexadecimal

    36. Video 8.5.1 Hexadecimal
    37. Check for Understanding 8.5.2 Hexadecimal Quiz
    38. Example 8.5.3 Hexadecimal to Decimal
    39. Exercise 8.5.4 Binary to Hex Game
    40. 8.6 Pixel Colors!

    41. Video 8.6.1 Pixel Colors
    42. Check for Understanding 8.6.2 Pixel Colors Quiz
    43. Example 8.6.3 Colors in Bits
    44. Example 8.6.4 Colors in Text
    45. Example 8.6.5 Colors in RGB
    46. Exercise 8.6.6 Exploring RGB
    47. Exercise 8.6.7 Making Yellow
    48. Exercise 8.6.8 Rainbow
    49. Exercise 8.6.9 Create a Color Image!
    50. 8.7 Image Manipulation

    51. Video 8.7.1 Manipulating Images
    52. Check for Understanding 8.7.2 Manipulating Images Quiz
    53. Video 8.7.3 Programming with WebImage
    54. Check for Understanding 8.7.4 Programming with WebImage Quiz
    55. Example 8.7.5 Black and White Filter
    56. Example 8.7.6 Brighten Filter
    57. Example 8.7.7 Saturation Filter
    58. Example 8.7.8 Pixel Picker
    59. Exercise 8.7.9 Invert Filter
    60. Exercise 8.7.10 Blue Filter
    61. Exercise 8.7.11 Darken Filter
    62. Badge 8.7.12 Image Manipulation Badge
    63. 8.8 Data Compression

    64. Video 8.8.1 Data Compression
    65. Check for Understanding 8.8.2 Data Compression Quiz
    66. Video 8.8.3 Run Length Encoding
    67. Check for Understanding 8.8.4 Run Length Encoding Quiz
    68. Example 8.8.5 Run Length Encoding
    69. Example 8.8.6 Custom Image Compression
    70. Free Response 8.8.7 Respond: Custom Image Compression
    71. 8.9 Lossy Compression

    72. Video 8.9.1 Lossy Compression
    73. Check for Understanding 8.9.2 Lossy Compression Quiz
    74. Example 8.9.3 Remove the Vowels
    75. Exercise 8.9.4 Decreasing Resolution
    76. Connection 8.9.5 Analog to Digital
    77. Free Response 8.9.6 Respond: Analog to Digital
    78. 8.10 Introduction to Steganography

    79. Video 8.10.1 What is Steganography?
    80. Example 8.10.2 Hide Text
    81. Video 8.10.3 Steganography
    82. Free Response 8.10.4 Creating a Secret Message
    83. Connection 8.10.5 Data Hiding and Extraction
    84. Free Response 8.10.6 Reflect: Data Hiding and Extraction
    85. 8.11 Digital Information Quiz

    86. Unit Quiz 8.11.1 Digital Information Quiz
    87. Badge 8.11.2 Digital Information Badge
  9. Practice PT: Steganography - Color Channels

    1. 9.1 Steganography Exploration

    2. Exercise 9.1.1 Part 1: Loading images
    3. Exercise 9.1.2 Upload your own photos
    4. Exercise 9.1.3 Part 2: The encrypt function
    5. Exercise 9.1.4 Part 3: The decrypt function
  10. Encryption

    1. 10.1 Caesar Ciphers

    2. Video 10.1.1 Cryptography: Then, Now, and Future - Part I
    3. Article 10.1.2 Caesar Wheel
    4. Free Response 10.1.3 Encryption and Decryption
    5. Check for Understanding 10.1.4 Decryption Practice
    6. Exercise 10.1.5 Caesar Cipher Encryption
    7. 10.2 Decrypting and Breaking Caesar Ciphers

    8. Exercise 10.2.1 Caesar Cipher Decryption
    9. Exercise 10.2.2 Break Caesar's Cipher!
    10. Free Response 10.2.3 Reflection: Caesar's Cipher
    11. Article 10.2.4 Ethics Moment: Encryption and Privacy
    12. Free Response 10.2.5 Response: Encryption and Privacy
    13. 10.3 Vigenère Cipher

    14. Video 10.3.1 Cryptography: Then, Now, and Future - Part II
    15. Notes 10.3.2 Brute Force and Letter Frequency
    16. Free Response 10.3.3 Vigenère Scavenger Hunt
    17. Free Response 10.3.4 Vigenère Pseudocode
    18. Exercise 10.3.5 Write your own Vigenère Cipher
    19. Free Response 10.3.6 Reflection: Vigenère Cipher
    20. Connection 10.3.7 Ethics Moment: Cryptography and the NSA
    21. Free Response 10.3.8 Reflection: Cryptography and the NSA
    22. 10.4 Asymmetric Encryption

    23. Video 10.4.1 Asymmetric Encryption
    24. Check for Understanding 10.4.2 Asymmetric Encryption Self-Check
    25. Connection 10.4.3 Diffie-Hellman Visualizer
    26. Free Response 10.4.4 Diffie-Hellman Visualizer Reflection
    27. Connection 10.4.5 Public-Key Encryption Explorer
    28. Free Response 10.4.6 Public-Key Encryption Reflection
    29. Exercise 10.4.7 Public Key Programming Exercise
  11. Practice PT: Create an Image Filter!

    1. 11.1 Practice PT: Create an Image Filter!

    2. Connection 11.1.1 Create PT Scoring Guidelines
    3. Challenge 11.1.2 Practice PT: Create an Image Filter!
    4. Free Response 11.1.3 Reflection
  12. The Internet

    1. 12.1 Welcome to the Internet

    2. Video 12.1.1 Welcome to the Internet
    3. Check for Understanding 12.1.2 Welcome to the Internet Quiz
    4. Free Response 12.1.3 Reflection: The Internet and You
    5. 12.2 Internet Hardware

    6. Video 12.2.1 Devices and Networks
    7. Video 12.2.2 Hardware of the Internet
    8. Check for Understanding 12.2.3 Internet Hardware Quiz
    9. Connection 12.2.4 The Internet is in the Ocean
    10. 12.3 Internet Addresses

    11. Video 12.3.1 Internet Addresses
    12. Check for Understanding 12.3.2 Internet Addresses Quiz
    13. Free Response 12.3.3 Free Response: The Need for Addresses
    14. Check for Understanding 12.3.4 4-bit Addresses
    15. Free Response 12.3.5 Free Response: IPv4 vs IPv6
    16. 12.4 Viewing Websites

    17. Video 12.4.1 Viewing Websites
    18. Check for Understanding 12.4.2 Viewing Websites Quiz
    19. Free Response 12.4.3 Free Response: Explaining a URL
    20. 12.5 DNS

    21. Video 12.5.1 DNS
    22. Check for Understanding 12.5.2 DNS Quiz
    23. Video 12.5.3 DNS Activity: CodeHS IP Address
    24. 12.6 Routing

    25. Video 12.6.1 Routing
    26. Check for Understanding 12.6.2 Routing Quiz
    27. Free Response 12.6.3 Free Response: Redundancy
    28. 12.7 Packets and Protocols

    29. Video 12.7.1 Packets and Protocols
    30. Check for Understanding 12.7.2 Packets and Protocols Quiz
    31. Resource 12.7.3 Passing Notes
    32. Connection 12.7.4 How the Internet Works
    33. Free Response 12.7.5 The Story of the Internet
    34. 12.8 Sequential, Parallel & Distributed Computing

    35. Video 12.8.1 Computer Processing Operations
    36. Check for Understanding 12.8.2 Computer Processing Operations Quiz
    37. Resource 12.8.3 Sequential vs. Parallel Activity
    38. Free Response 12.8.4 Free Response: Sequential vs. Parallel
    39. 12.9 The Impact of the Internet

    40. Video 12.9.1 The Impact of the Internet
    41. Check for Understanding 12.9.2 The Impact of the Internet Quiz
    42. Free Response 12.9.3 Reflection: Internet Impact
    43. Connection 12.9.4 Crucial Steps to Close the Digital Divide
    44. Free Response 12.9.5 Reflection: Closing the Digital Divide
    45. Connection 12.9.6 Pokemon Go: Unintended Effects
    46. Free Response 12.9.7 Reflection: Unintended Effects
    47. 12.10 Creative Credit & Copyright

    48. Video 12.10.1 Creative Credit and Copyright
    49. Check for Understanding 12.10.2 Creative Credit and Copyright
    50. Free Response 12.10.3 Cite!
    51. Connection 12.10.4 Exploring Creative Commons
    52. Free Response 12.10.5 Respond: Creative Commons
    53. Free Response 12.10.6 Task: Finding Images
    54. Free Response 12.10.7 Reflection: Why is Copyright Important?
    55. 12.11 The Internet Quiz

    56. Unit Quiz 12.11.1 The Internet Quiz
    57. Badge 12.11.2 The Internet Badge
  13. Cybersecurity

    1. 13.1 Introduction to Cybersecurity

    2. Notes 13.1.1 Warm-Up
    3. Video 13.1.2 Cybersecurity
    4. Check for Understanding 13.1.3 Cybersecurity Quiz
    5. Video 13.1.4 Gone Phishing
    6. Connection 13.1.5 Deepfake Videos
    7. Free Response 13.1.6 Keeping Secrets
    8. Connection 13.1.7 Phishing Quiz
    9. Connection 13.1.8 How is Your Phishing IQ?
    10. Example 13.1.9 Phishing Simulator
    11. Free Response 13.1.10 Reflection: Phishing Emails
    12. Free Response 13.1.11 Think-Pair-Share Activity
    13. 13.2 CIA Triad

    14. Notes 13.2.1 Warm-Up
    15. Video 13.2.2 CIA Triad
    16. Free Response 13.2.3 Alice-Bob-Eve
    17. Free Response 13.2.4 PII
    18. Free Response 13.2.5 CIA Breach
    19. Free Response 13.2.6 Identity Theft
    20. Free Response 13.2.7 CIA and Phishing
    21. Free Response 13.2.8 Challenge: Create a Phishing Email
    22. Free Response 13.2.9 Challenge: Investigate Legalities
    23. 13.3 Identity Crisis

    24. Notes 13.3.1 Warm Up
    25. Video 13.3.2 Identity Crisis
    26. Connection 13.3.3 Sharing Passwords
    27. Free Response 13.3.4 Reflect: Sharing Passwords
    28. Connection 13.3.5 What is your password?
    29. Free Response 13.3.6 Identity crisis activity
    30. Free Response 13.3.7 World's Biggest Data Breaches
    31. Free Response 13.3.8 Research: Types of Attacks
    32. Example 13.3.9 You Can Be Tracked!
    33. 13.4 Let Me In

    34. Notes 13.4.1 Warm Up
    35. Video 13.4.2 Authenticate and Authorize
    36. Free Response 13.4.3 How do you protect your data?
    37. Free Response 13.4.4 Common Passwords
    38. Connection 13.4.5 Password Strength
    39. Free Response 13.4.6 Reflection: Password Strength
    40. Video 13.4.7 What Makes a Password Strong?
    41. Example 13.4.8 Multifactor Authentication
    42. Exercise 13.4.9 One Pager: Password Security
    43. 13.5 Introduction to Networking

    44. Notes 13.5.1 Warm Up
    45. Article 13.5.2 Ethics Moment: Network Breach
    46. Free Response 13.5.3 Response: Network Breach
    47. Exercise 13.5.4 Muddy City
    48. Free Response 13.5.5 Reflection: Muddy City
    49. Connection 13.5.6 Rogue Access Points
    50. 13.6 OSI model activity

    51. Free Response 13.6.1 Introduction
    52. Free Response 13.6.2 Event 1: Truck Payload Change
    53. Free Response 13.6.3 Event 2: Truck Payload Change
    54. Free Response 13.6.4 Event 3: Route Change
    55. Free Response 13.6.5 Event 4: Envelopes Never Arrive
    56. Free Response 13.6.6 Event 5: Missing One Box
    57. Free Response 13.6.7 Event 6: Box Payload Change
    58. Free Response 13.6.8 Organizing the Events
    59. Video 13.6.9 Relating this to the Internet
    60. 13.7 Network Attacks

    61. Notes 13.7.1 Warm Up
    62. Exercise 13.7.2 One Pager: Network Attacks
    63. Free Response 13.7.3 Reflection: Network Attacks
    64. 13.8 Basic Cybersecurity Risk Concepts

    65. Notes 13.8.1 Warm up
    66. Video 13.8.2 Basic Cybersecurity Risk, Part 1
    67. Free Response 13.8.3 Personal Data Threats
    68. Video 13.8.4 Basic Cybersecurity Risk, Part 2
    69. Free Response 13.8.5 Risk and Consequences: Part 1
    70. Free Response 13.8.6 Risk and Consequences: Part 2
    71. Free Response 13.8.7 Digital Footprint
    72. 13.9 Cybersecurity Risk Model-Assessing Risk

    73. Notes 13.9.1 Warm up
    74. Video 13.9.2 Assessing Risk, Part 1
    75. Notes 13.9.3 Think, Pair, Share: Assets
    76. Video 13.9.4 Assessing Risk, Part 2
    77. Free Response 13.9.5 Risk Scenario Assessment 1: Malware
    78. Free Response 13.9.6 Risk Scenario Assessment 2: Identity Theft
    79. Free Response 13.9.7 Risk Scenario Assessment 3: Ransomware
    80. Free Response 13.9.8 Risk Scenario Assessment 4: Email Compromise
    81. Free Response 13.9.9 Asset Identification Activity
    82. 13.10 Cybersecurity Risk Model-Vulnerabilities

    83. Notes 13.10.1 Warm up
    84. Video 13.10.2 Vulnerabilities
    85. Check for Understanding 13.10.3 National Vulnerability Database Activity
    86. Free Response 13.10.4 Exploring Vulnerabilities
    87. 13.11 Cybersecurity Risk Model-Security Controls

    88. Notes 13.11.1 Warm up
    89. Connection 13.11.2 Internet of Things
    90. Video 13.11.3 Security Controls
    91. Free Response 13.11.4 Defense in Depth
    92. Connection 13.11.5 Ethics Moment: The Risk of AI
    93. Free Response 13.11.6 Reflect: The Risk of AI
  14. Project: Cyber Ethics

    1. 14.1 CyberEthics

    2. Video 14.1.1 Presentation
    3. Free Response 14.1.2 Topics
    4. Free Response 14.1.3 Problem Summary
    5. Free Response 14.1.4 Pros and Cons
    6. Free Response 14.1.5 Your Solution
    7. Free Response 14.1.6 Writing an Introduction
    8. Free Response 14.1.7 Developing your position
    9. Free Response 14.1.8 Conclusion
    10. Free Response 14.1.9 Position Paper
  15. Data

    1. 15.1 Getting Started with Data

    2. Video 15.1.1 Getting Started with Data
    3. Check for Understanding 15.1.2 Getting Started with Data Quiz
    4. Connection 15.1.3 What Do We Do With Data?
    5. Free Response 15.1.4 Reflection: Continuously Collecting Data
    6. 15.2 Visualizing and Interpreting Data

    7. Video 15.2.1 Visualizing Data
    8. Check for Understanding 15.2.2 Visualizing Data Quiz
    9. Notes 15.2.3 Exploring Data Visualizations
    10. Free Response 15.2.4 Respond: Visualizations
    11. Free Response 15.2.5 Free Response: Choosing a Visualization
    12. Check for Understanding 15.2.6 Visualizing & Interpreting Data Quiz
    13. 15.3 Data Collection & Limitations

    14. Video 15.3.1 Collecting Data
    15. Check for Understanding 15.3.2 Collecting Data Quiz
    16. Free Response 15.3.3 Reflection: Design a Survey
    17. Free Response 15.3.4 Reflection: Self-Driving Cars
    18. Check for Understanding 15.3.5 Data Collection Quiz
    19. Video 15.3.6 Data Limitations
    20. Check for Understanding 15.3.7 Interpreting Data Quiz
    21. Example 15.3.8 Line Graph
    22. Example 15.3.9 Bar Graph
    23. Example 15.3.10 Pie Chart
    24. Free Response 15.3.11 Reflection: Importance of Metadata
    25. 15.4 Unintentional Data Sharing

    26. Notes 15.4.1 Warm up
    27. Video 15.4.2 Personal Data Vulnerabilities
    28. Free Response 15.4.3 Spokeo
    29. Connection 15.4.4 Cyber Insecurity
    30. Free Response 15.4.5 Who is this Person?
    31. Free Response 15.4.6 Who is this Person? - Car
    32. Free Response 15.4.7 Who is this Person? - Hobby
    33. Free Response 15.4.8 What can you learn from ...
    34. Example 15.4.9 Social Media Clean-up
    35. 15.5 Metadata and Data Collection

    36. Notes 15.5.1 Warm Up
    37. Video 15.5.2 Understanding Metadata
    38. Free Response 15.5.3 Image Data Extraction
    39. Free Response 15.5.4 Information about your images
    40. Free Response 15.5.5 Security Vulnerability
    41. Connection 15.5.6 Ethics Moment: Collection of Data
    42. Free Response 15.5.7 Reflection: Collection of Data
    43. Connection 15.5.8 Online Privacy
    44. 15.6 Data Quiz

    45. Unit Quiz 15.6.1 Data Quiz
  16. Project: Present a Data-Driven Insight

    1. 16.1 Present a Data-Driven Insight

    2. Free Response 16.1.1 Topic Brainstorm
    3. Free Response 16.1.2 Gathering Resources
    4. Presentation 16.1.3 Make a Visualization
    5. Free Response 16.1.4 Written Responses
    6. Free Response 16.1.5 Share Your Findings
  17. Project: The Impacts of Computing

    1. 17.1 The Impacts of Computing

    2. Free Response 17.1.1 Artifact Creation
    3. Free Response 17.1.2 Selecting Computing Innovations
    4. Free Response 17.1.3 Data as an Input and an Output
    5. Free Response 17.1.4 Data Privacy and Security
  18. Create Performance Task

    1. 18.1 Create Performance Task: Overview

    2. Notes 18.1.1 Create Performance Task: Overview
    3. Article 18.1.2 What is the Create Performance Task?
    4. Notes 18.1.3 Task Verbs Definitions
    5. Article 18.1.4 Component A: Program Code Requirements
    6. Free Response 18.1.5 Reflection: Program Code Requirements
    7. Article 18.1.6 Component B: Video Requirements
    8. Free Response 18.1.7 Reflection: Video Requirements
    9. Article 18.1.8 Component C: Personalized Project Reference Requirements
    10. Free Response 18.1.9 Reflection: Personalized Project Reference Requirements
    11. 18.2 Create Performance Task: Guidelines

    12. Notes 18.2.1 Create Performance Task: Guidelines
    13. Article 18.2.2 Academic Integrity and Plagiarism Policy
    14. Free Response 18.2.3 Reflection: Academic Integrity and Plagiarism Policy
    15. Article 18.2.4 Guidelines: Prior to Starting
    16. Free Response 18.2.5 Reflection: Prior to Starting
    17. Article 18.2.6 Guidelines: Once You Have Started
    18. Free Response 18.2.7 Reflection: Once You Have Started
    19. 18.3 Create Performance Task: Categories and Questions

    20. Notes 18.3.1 Create Performance Task: Categories and Questions
    21. Notes 18.3.2 Category 1: Program Design, Function, and Purpose
    22. Notes 18.3.3 Category 2: Algorithm Development
    23. Notes 18.3.4 Category 3: Errors and Testing
    24. Notes 18.3.5 Category 4: Data and Procedural Abstraction
    25. Article 18.3.6 Sample A CSP Performance Task [Python]
    26. Article 18.3.7 Sample A CSP Performance Task [JavaScript]
    27. Free Response 18.3.8 Reflection: Sample A CSP Performance Task
    28. Article 18.3.9 Sample B CSP Performance Task [Python]
    29. Article 18.3.10 Sample B CSP Performance Task [JavaScript]
    30. Free Response 18.3.11 Reflection: Sample B CSP Performance Task
    31. Article 18.3.12 Sample Roblox CSP Performance Task [Lua]
    32. Free Response 18.3.13 Reflection: Sample Roblox CSP Performance Task [Lua]
    33. 18.4 Planning and Pacing Your Project

    34. Notes 18.4.1 Create Performance Task: Pacing Your Project
    35. Notes 18.4.2 Collaborating on the Create Performance Task
    36. Notes 18.4.3 Generative AI: To Use, or Not To Use
    37. Free Response 18.4.4 Brainstorm Your Project
    38. Free Response 18.4.5 Practice Making a Screen Capture
    39. Free Response 18.4.6 Practice Making a Video Recording
    40. 18.5 Complete the Create Performance Task

    41. Connection 18.5.1 Create Performance Task Scoring Guidelines
    42. Challenge 18.5.2 Component A: Program Code [Python]
    43. Challenge 18.5.3 Component A: Program Code [JavaScript]
    44. Challenge 18.5.4 Component A: Program Code [Lua]
    45. Free Response 18.5.5 Component B: Video
    46. Free Response 18.5.6 Component C: Procedure Capture I
    47. Free Response 18.5.7 Component C: Procedure Capture II
    48. Free Response 18.5.8 Component C: Procedure List I
    49. Free Response 18.5.9 Component C: Procedure List II
    50. Free Response 18.5.10 Practice Written Responses
    51. Notes 18.5.11 Finalizing and Submitting
  19. AP Exam Review

    1. 19.1 Preparation

    2. Resource 19.1.1 AP Exam Reference Sheet
    3. Notes 19.1.2 Course Review
    4. 19.2 Practice AP Exam

    5. AP Practice 19.2.1 Practice AP Exam
  20. Creative Development

    1. 20.1 Intro to Design Thinking

    2. Video 20.1.1 Intro to Design Thinking
    3. Check for Understanding 20.1.2 Intro to Design Thinking
    4. Free Response 20.1.3 User Interface Scavenger Hunt
    5. Article 20.1.4 Case Study: Helping People 'See'
    6. Free Response 20.1.5 Case Study Responses
    7. Demo 20.1.6 Tell a Story Demo
    8. Free Response 20.1.7 Brainstorming Project Ideas
    9. 20.2 Prototype

    10. Video 20.2.1 Prototype
    11. Check for Understanding 20.2.2 Prototype Quiz
    12. Connection 20.2.3 Wizard of Oz Prototyping
    13. Connection 20.2.4 Example Wizard of Oz Paper Prototype
    14. Free Response 20.2.5 Make Your Paper Prototypes!
    15. 20.3 Test

    16. Video 20.3.1 Test
    17. Check for Understanding 20.3.2 Testing Quiz
    18. Connection 20.3.3 Testing with Users
    19. Video 20.3.4 Example: How to User Test
    20. Free Response 20.3.5 How to User Test Responses
    21. Resource 20.3.6 How to Make Accessible Programs
    22. Free Response 20.3.7 Test Prototype 1
    23. Free Response 20.3.8 Test Prototype 2
    24. Free Response 20.3.9 Improve Your Prototype
    25. 20.4 Project Prep and Development

    26. Free Response 20.4.1 Online Collaboration Tools
    27. Free Response 20.4.2 Pseudocode
    28. Challenge 20.4.3 Write the Code!
    29. Presentation 20.4.4 Present your Project
    30. Survey 20.4.5 Mindsets
  21. Final

    1. 21.1 Final

    2. Final 21.1.1 Final: Multiple Choice
  22. Midterm

    1. 22.1 Midterm

    2. Midterm 22.1.1 Midterm Pt 1: Multiple Choice
  23. Extra Karel Practice

    1. 23.1 Extra Karel Practice

    2. Challenge 23.1.1 Functions Practice: K For Karel
    3. Challenge 23.1.2 Functions Practice: Christmas Karel
    4. Challenge 23.1.3 Functions Practice: X Marks the Spot
    5. Challenge 23.1.4 While Loop Practice: Blackout
    6. Challenge 23.1.5 While Loop Practice: Move To Top
    7. Challenge 23.1.6 Functions and While Loop Practice: Opposite Corner
    8. Challenge 23.1.7 While Loop Practice: Checkered Row
    9. Challenge 23.1.8 For Loop Practice: Tall Hurdles
    10. Challenge 23.1.9 Functions and While Loop Practice: Row and Back
    11. Challenge 23.1.10 Functions and For Loop Practice: Opposite Squares
    12. Challenge 23.1.11 Stairway To Heaven
    13. Badge 23.1.12 Karel Practice Badge
  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
    12. Badge 24.1.11 Karel Puzzles Badge
  25. Karel Challenges

    1. 25.1 Challenge Problems

    2. Challenge 25.1.1 Fetch
    3. Challenge 25.1.2 Racing Karel
    4. Challenge 25.1.3 Tower Builder
    5. Challenge 25.1.4 Super Cleanup Karel
    6. Challenge 25.1.5 Double Tennis Balls
    7. Unit Quiz 25.1.6 Karel Unit Test
    8. Badge 25.1.7 Karel Challenges Badge
  26. Web Development

    1. 26.1 Introduction to HTML

    2. Video 26.1.1 Introduction to HTML
    3. Check for Understanding 26.1.2 Introduction to HTML Quiz
    4. Example 26.1.3 Our First HTML Page
    5. Exercise 26.1.4 Say Hello!
    6. 26.2 Structure of an HTML Page

    7. Video 26.2.1 Structure of an HTML Page
    8. Check for Understanding 26.2.2 Structure of an HTML Page Quiz
    9. Example 26.2.3 HTML Template
    10. Example 26.2.4 Hello World Page
    11. Exercise 26.2.5 The <title> Tag
    12. Exercise 26.2.6 Your First HTML Page
    13. Badge 26.2.7 Structure Badge
    14. 26.3 Formatting Text

    15. Video 26.3.1 Formatting Text
    16. Check for Understanding 26.3.2 Formatting Text Quiz
    17. Example 26.3.3 Dictionary
    18. Exercise 26.3.4 That's Bold
    19. Exercise 26.3.5 Artificial Intelligence
    20. Exercise 26.3.6 State Capitals
    21. 26.4 Links

    22. Video 26.4.1 Links
    23. Check for Understanding 26.4.2 Links Quiz
    24. Example 26.4.3 The <a> Tag
    25. Exercise 26.4.4 Simple Link
    26. Exercise 26.4.5 My Favorite Websites
    27. 26.5 Images

    28. Video 26.5.1 Images
    29. Check for Understanding 26.5.2 Images Quiz
    30. Example 26.5.3 The <img> Tag
    31. Example 26.5.4 Building the CodeHS Homepage
    32. Exercise 26.5.5 Collage on a Theme
    33. Exercise 26.5.6 Linking an Image
    34. Exercise 26.5.7 Personal Library
    35. Badge 26.5.8 Images Badge
    36. 26.6 HTML Lists

    37. Video 26.6.1 HTML Lists
    38. Check for Understanding 26.6.2 HTML Lists Quiz
    39. Example 26.6.3 Grocery Shopping
    40. Exercise 26.6.4 Favorite Things
    41. Exercise 26.6.5 To-Do List
    42. Exercise 26.6.6 List Article
    43. 26.7 HTML Tables

    44. Video 26.7.1 HTML Tables
    45. Check for Understanding 26.7.2 HTML Tables Quiz
    46. Example 26.7.3 Address Book
    47. Exercise 26.7.4 Favorite Songs
    48. Exercise 26.7.5 Calendar
    49. 26.8 HTML Styling

    50. Video 26.8.1 HTML Styling
    51. Check for Understanding 26.8.2 HTML Styling Quiz
    52. Example 26.8.3 Stylish Address Book
    53. Exercise 26.8.4 Background Colors
    54. Exercise 26.8.5 Style Your To-Do List
    55. 26.9 Introduction to CSS

    56. Video 26.9.1 Introduction to CSS
    57. Check for Understanding 26.9.2 Introduction to CSS Quiz
    58. Example 26.9.3 Styling Your H1s
    59. Exercise 26.9.4 First Style with CSS
    60. Exercise 26.9.5 List Styling
    61. 26.10 CSS Select by Tag

    62. Video 26.10.1 CSS Select by Tag
    63. Check for Understanding 26.10.2 CSS Select by Tag Quiz
    64. Example 26.10.3 Rainbow
    65. Example 26.10.4 Dog Styling
    66. Exercise 26.10.5 Restaurant Menu
    67. Exercise 26.10.6 Put Karel Together
    68. 26.11 CSS Select by Class

    69. Video 26.11.1 CSS Select by Class
    70. Check for Understanding 26.11.2 CSS Select by Class Quiz
    71. Example 26.11.3 Simple Checkerboard
    72. Exercise 26.11.4 Tic Tac Toe
    73. Exercise 26.11.5 Music Library
    74. 26.12 CSS Select by ID

    75. Video 26.12.1 CSS Select by ID
    76. Check for Understanding 26.12.2 CSS Select by ID Quiz
    77. Example 26.12.3 Logo
    78. Exercise 26.12.4 Favorite Dog
    79. Exercise 26.12.5 Bingo
    80. Badge 26.12.6 CSS Badge
    81. 26.13 Web Development Quiz

    82. Unit Quiz 26.13.1 Web Development Quiz
    83. 26.14 Practice PT: Your First Website

    84. Notes 26.14.1 About the AP CSP Exam
    85. Challenge 26.14.2 Set Up Your codehs.me Website
    86. Challenge 26.14.3 Practice PT: Your First Website
    87. Badge 26.14.4 Website Badge
  27. Functions and Parameters Practice

    1. 27.1 Functions and Parameters Practice

    2. Challenge 27.1.1 Taking a Power
    3. Challenge 27.1.2 Dot Rectangle
    4. Challenge 27.1.3 Print the Date
    5. Challenge 27.1.4 Grades
    6. Challenge 27.1.5 Concentric Circles
    7. Challenge 27.1.6 Graphics Staircase
    8. Exercise 27.1.7 The Weekend
    9. Badge 27.1.8 Functions and Parameters Badge
  28. Extra Console Challenges

    1. 28.1 Prime Numbers

    2. Challenge 28.1.1 Prime Numbers
    3. Challenge 28.1.2 Find the Max
    4. Challenge 28.1.3 Prime Factorization
    5. Challenge 28.1.4 Fizz Buzz
    6. Challenge 28.1.5 Grid Printer
    7. Challenge 28.1.6 Number Sum
    8. Challenge 28.1.7 Hailstone Sequence
    9. Challenge 28.1.8 Pythagorean Triples
    10. Challenge 28.1.9 Digit Array
    11. Badge 28.1.10 Console Challenges Badge
    12. 28.2 Control Structures

    13. Exercise 28.2.1 Meal Planner
    14. Exercise 28.2.2 Better Password Prompt
  29. Animation and Games

    1. 29.1 Timers

    2. Video 29.1.1 Timers
    3. Check for Understanding 29.1.2 Timers Quiz
    4. Example 29.1.3 Moving Ball
    5. Example 29.1.4 Magic 8 Ball
    6. Exercise 29.1.5 Crazy Ball
    7. 29.2 Random Circles

    8. Video 29.2.1 Example: Random Circles
    9. Check for Understanding 29.2.2 Random Circles Quiz
    10. Example 29.2.3 Random Circles
    11. Example 29.2.4 Spinner Example
    12. Exercise 29.2.5 Growing Circle
    13. Exercise 29.2.6 Paint splatter
    14. 29.3 Random Ghosts

    15. Video 29.3.1 Example: Random Ghosts
    16. Check for Understanding 29.3.2 Random Ghosts Quiz
    17. Example 29.3.3 Random Ghosts
    18. Example 29.3.4 Random Fireworks
    19. Exercise 29.3.5 Circle Wall
    20. 29.4 Bouncing Ball

    21. Video 29.4.1 Example: Bouncing Ball
    22. Check for Understanding 29.4.2 Bouncing Ball Quiz
    23. Example 29.4.3 Bouncing Ball
    24. Exercise 29.4.4 Hotspot Ball
    25. Exercise 29.4.5 Trail
    26. 29.5 Mouse Events: Mouse Moved

    27. Video 29.5.1 Mouse Events: Mouse Moved
    28. Check for Understanding 29.5.2 Mouse Events: Mouse Moved Quiz
    29. Example 29.5.3 Simple Painting
    30. Example 29.5.4 Colorful Drag to Paint
    31. Exercise 29.5.5 Coordinates
    32. Exercise 29.5.6 Target
    33. 29.6 Drawing Lines

    34. Video 29.6.1 Example: Drawing Lines
    35. Check for Understanding 29.6.2 Drawing Lines Quiz
    36. Example 29.6.3 Drawing Lines
    37. Exercise 29.6.4 Leash
    38. 29.7 Crazy Ball Game

    39. Video 29.7.1 Crazy Ball Game 1
    40. Check for Understanding 29.7.2 Crazy Ball Game Quiz 1
    41. Example 29.7.3 Crazy Ball Game 1
    42. Video 29.7.4 Crazy Ball Game 2
    43. Check for Understanding 29.7.5 Crazy Ball Game Quiz 2
    44. Example 29.7.6 Crazy Ball Game 2
    45. Exercise 29.7.7 Drag and Drop
    46. Check for Understanding 29.7.8 Animation and Games Unit Quiz
    47. Badge 29.7.9 Animation Exercises Badge
  30. Project: Breakout

    1. 30.1 Breakout

    2. Challenge 30.1.1 Bricks
    3. Challenge 30.1.2 Ball and Paddle
    4. Challenge 30.1.3 Breakout
    5. Badge 30.1.4 Breakout Badge
  31. Practice PT: Steganography - Binary

    1. 31.1 Practice PT: Steganography

    2. Example 31.1.1 Secret Message Steganography
    3. Demo 31.1.2 Secret Image Steganography Demo
    4. Challenge 31.1.3 Secret Image Steganography
  32. Practice PT: The Effects of the Internet

    1. 32.1 The Effects of the Internet

    2. Free Response 32.1.1 Topic Brainstorm
    3. Free Response 32.1.2 Gathering Resources
    4. Presentation 32.1.3 Make Your Artifact
    5. Free Response 32.1.4 Written Responses
  33. Visualizing Music

    1. 33.1 Visualizing Music

    2. Video 33.1.1 Visualizing Music
    3. Example 33.1.2 Our First Visualization
    4. Example 33.1.3 Vertical Bars
    5. Example 33.1.4 Vertical Bars with Color
    6. Example 33.1.5 Changing Circles
    7. Exercise 33.1.6 Your First Visualization
    8. Exercise 33.1.7 Changing Colors
    9. Exercise 33.1.8 Custom Colors
    10. Challenge 33.1.9 Create Your Own Music Visualization
  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
    5. Badge 34.1.4 Tic Tac Toe Badge
  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
    6. Video 35.2.3 Adding Obstacles
    7. Exercise 35.2.4 Adding Obstacles
    8. Video 35.2.5 Smoother Movement
    9. Exercise 35.2.6 Smoother Movement
    10. 35.3 Improvements

    11. Video 35.3.1 Colliding with Walls
    12. Exercise 35.3.2 Wall Collisions
    13. Video 35.3.3 Colliding with Obstacles
    14. Exercise 35.3.4 Obstacle Collisions
    15. Video 35.3.5 Adding Terrain
    16. Exercise 35.3.6 Adding Terrain
    17. Video 35.3.7 Moving the Terrain
    18. Exercise 35.3.8 Moving the Terrain
    19. 35.4 Polish

    20. Video 35.4.1 Helicopter Image and Points!
    21. Exercise 35.4.2 Image and Points
    22. Video 35.4.3 Dust
    23. Exercise 35.4.4 Dust
    24. Video 35.4.5 More Obstacles
    25. Exercise 35.4.6 More Obstacles
    26. Challenge 35.4.7 Helicopter Extensions
    27. Badge 35.4.8 Helicopter Badge
    28. 35.5 Intro to Computer Science Completed

    29. Badge 35.5.1 Intro to Computer Science Badge
  36. Data Structures Challenge Problems

    1. 36.1 Conway's Game of Life

    2. Exercise 36.1.1 Make The Grid
    3. Exercise 36.1.2 Find Life
    4. Exercise 36.1.3 Finish Up
    5. 36.2 Connect Four

    6. Exercise 36.2.1 Make The Board
    7. Exercise 36.2.2 Take Turns
    8. Exercise 36.2.3 Find the Winner
  37. More Basic Data Structures

    1. 37.1 Intro to Objects/Maps

    2. Video 37.1.1 Intro to Objects/Maps
    3. Check for Understanding 37.1.2 Intro to Objects / Maps Quiz
    4. Example 37.1.3 Phonebook
    5. Exercise 37.1.4 Sidekicks
    6. 37.2 Basics of Objects

    7. Video 37.2.1 Basics of Objects
    8. Check for Understanding 37.2.2 Basics of Objects Quiz
    9. Example 37.2.3 Object Literal Phonebook
    10. Example 37.2.4 Object Property Phonebook
    11. Example 37.2.5 Beware Dot Notation!
    12. Exercise 37.2.6 Address Book
    13. 37.3 Iterating Over an Object

    14. Video 37.3.1 Iterating Over An Object
    15. Check for Understanding 37.3.2 Iterating over an Object Quiz
    16. Example 37.3.3 Print Phonebook
    17. Exercise 37.3.4 Hogwarts
    18. 37.4 When Do I Use an Object?

    19. Video 37.4.1 When Do I Use An Object?
    20. Check for Understanding 37.4.2 When do I use an Object Quiz
    21. Example 37.4.3 Facebook Friend Lists
    22. Example 37.4.4 Does the Key Exist?
    23. Exercise 37.4.5 Text Messages
    24. 37.5 Intro to Sets

    25. Video 37.5.1 Intro to Sets
    26. Check for Understanding 37.5.2 Intro to Sets Quiz
    27. Example 37.5.3 Basic Sets
    28. Exercise 37.5.4 Vowels
    29. Exercise 37.5.5 Mutual Friends
    30. Exercise 37.5.6 Total Network of Friends
    31. 37.6 Intro to Grids

    32. Video 37.6.1 Intro to Grids
    33. Check for Understanding 37.6.2 Intro to Grids Quiz
    34. Example 37.6.3 Grid Basics
    35. 37.7 Looping Over a Grid

    36. Video 37.7.1 Looping Over a Grid
    37. Check for Understanding 37.7.2 Looping Over a Grid Quiz
    38. Example 37.7.3 Print Grid
    39. Exercise 37.7.4 Summing Grid
    40. 37.8 Grid Example: Get a Row

    41. Video 37.8.1 Grid Example: Get a Row
    42. Check for Understanding 37.8.2 Grid Example: Get a Row Quiz
    43. Example 37.8.3 Get a Row
    44. Exercise 37.8.4 Grid Diagonal
    45. 37.9 Data Structures Challenges

    46. Challenge 37.9.1 Watercolor Grid
    47. Unit Quiz 37.9.2 Data Structures Unit Quiz
  38. Computer Science Principles Pretest

    1. 38.1 Computer Science Principles Pretest

    2. Notes 38.1.1 About the Pretest
    3. Survey 38.1.2 Mindsets
    4. Quiz 38.1.3 Knowledge & Skills: Computer Science Principles
  39. Computer Science Principles Posttest

    1. 39.1 Computer Science Principles Posttest

    2. Notes 39.1.1 About the Posttest
    3. Survey 39.1.2 Mindsets
    4. Quiz 39.1.3 Computer Science Principles Knowledge & Skills
  40. Extra AP Pseudocode Practice

    1. 40.1 Extra AP Pseudocode Practice

    2. AP Practice 40.1.1 AP Practice: If/Else Statements
    3. AP Practice 40.1.2 AP Practice: Iteration
    4. AP Practice 40.1.3 AP Practice: Lists
  41. Additional Cybersecurity Modules

    1. 41.1 Cryptography

    2. Video 41.1.1 Cryptography
    3. Check for Understanding 41.1.2 Cryptography Quiz
    4. Video 41.1.3 Implementing Caesar's Cipher
    5. Check for Understanding 41.1.4 Implementing Caesar's Cipher Quiz
    6. Example 41.1.5 Encrypting with a Caesar Cipher
    7. Example 41.1.6 Cracking a Caesar Cipher
    8. Free Response 41.1.7 Reflection: Caesar Cipher
    9. Exercise 41.1.8 Guess the Passcode
  42. Practice PT: The Shopping List

    1. 42.1 Practice PT: The Shopping List

    2. Connection 42.1.1 Create PT Scoring Guidelines
    3. Challenge 42.1.2 Practice PT: The Shopping List
    4. Free Response 42.1.3 Reflection
  43. Practice PT: Testing 1, 2, 3 ...

    1. 43.1 Practice PT: Testing 1, 2, 3 ...

    2. Notes 43.1.1 Introduction
    3. Connection 43.1.2 Create Scoring Guidelines
    4. Exercise 43.1.3 Practice PT: Testing 1, 2, 3 ...
    5. Free Response 43.1.4 Reflection
  44. Removed Items (2024)

    1. 44.1 Practice PT: Pair-Programming Paint!

    2. Free Response 44.1.1 Reflection
    3. 44.2 Practice PT: Tell a Story

    4. Free Response 44.2.1 Reflection
    5. 44.3 Practice PT: Steganography

    6. Free Response 44.3.1 Reflection
    7. 44.4 Practice PT: Create an Image Filter!

    8. Free Response 44.4.1 Reflection
    9. 44.5 Practice PT: The Shopping List

    10. Free Response 44.5.1 Reflection
    11. 44.6 Practice PT: Testing 1, 2, 3...

    12. Free Response 44.6.1 Reflection
    13. 44.7 Create Performance Task

    14. Connection 44.7.1 Create PT Scoring Guidelines
    15. Challenge 44.7.2 Create Performance Task
    16. 44.8 Uses of Programs

    17. Connection 44.8.1 Why Should You Learn to Program?
    18. Free Response 44.8.2 Reflection: Learning to Program
    19. 44.9 DNS

    20. Connection 44.9.1 How Does DNS Work?
    21. Free Response 44.9.2 Respond: How Does DNS Work?
    22. 44.10 Intro to Design Thinking

    23. Connection 44.10.1 Case Study: Helping Blind People See
    24. Free Response 44.10.2 Case Study Responses
    25. 44.11 Test

    26. Connection 44.11.1 Example: How to User Test
    27. Connection 44.11.2 Example: How NOT to User Test
    28. Free Response 44.11.3 How NOT to User Test Responses
    29. 44.12 Visualizing and Interpreting Data

    30. Notes 44.12.1 Exploring Data Visualizations
    31. Connection 44.12.2 US Recorded Music Revenue
    32. Connection 44.12.3 National Parks
    33. Connection 44.12.4 March Madness
    34. Connection 44.12.5 Captain Marvel
    35. 44.13 Applying Conditionals - Password Validation

    36. Connection 44.13.1 How are passwords saved?
    37. Free Response 44.13.2 Reflect: How are passwords saved?
    38. Connection 44.13.3 Ethics Moment: Impact of Code
    39. Free Response 44.13.4 Reflection: Impact of Code
    40. 44.14 For Loop Practice

    41. Connection 44.14.1 Ethics Moment: Sampling Music
    42. Free Response 44.14.2 Reflection: Sampling Music
    43. 44.15 Applying Iteration - Usernames and Passwords

    44. Connection 44.15.1 Ethics Moment: Facebook and AWS
    45. Free Response 44.15.2 Reflection: Facebook and AWS
    46. 44.16 Introduction to Steganography

    47. Connection 44.16.1 Introduction to Steganography
    48. Connection 44.16.2 What is steganography?
    49. 44.17 Ethics of Steganography

    50. Video 44.17.1 Steganography - Part 2
    51. Connection 44.17.2 Government Surveillance and Reality Winner
    52. Free Response 44.17.3 Government Surveillance and Reality Winner
    53. Connection 44.17.4 Ethics Moment: Government Surveillance
    54. Free Response 44.17.5 Reflection: Government Surveillance
    55. 44.18 Caesar Ciphers

    56. Connection 44.18.1 Introduction to Caesar Ciphers
    57. Video 44.18.2 slides
    58. Connection 44.18.3 A Caesar Cipher
    59. 44.19 Decrypting and Breaking Caesar Ciphers

    60. Connection 44.19.1 Ethics Moment: Apple v. Barr
    61. Free Response 44.19.2 Reflection: Apple v. Barr
    62. 44.20 Symmetric and Public Key Encryption

    63. Video 44.20.1 Symmetric and Public Key Encryption
    64. Connection 44.20.2 Diffie-Hellman Key Exchange
    65. Example 44.20.3 Diffie-Hellman Key Exchange
    66. Connection 44.20.4 RSA Encryption: Step 1
    67. Connection 44.20.5 RSA Encryption: Step 2
    68. Connection 44.20.6 RSA Encryption: Step 3
    69. Connection 44.20.7 RSA Encryption: Step 4
    70. Notes 44.20.8 Public-Key Encryption Explorer
    71. Free Response 44.20.9 Public-Key Encryption Explorer Reflection
    72. Connection 44.20.10 Ethics Moment: Ransomware
    73. Free Response 44.20.11 Reflection: Ransomware
    74. 44.21 Vigenère Cipher

    75. Video 44.21.1 Vigenère Cipher
    76. Connection 44.21.2 One-Time Pad Cipher
    77. Connection 44.21.3 How a Vigenère Cipher Works
    78. 44.22 Introduction to Networking

    79. Connection 44.22.1 Ethics Moment: Equifax Data Breach
    80. Free Response 44.22.2 Reflection: Equifax Data Breach