Please enable JavaScript to use CodeHS

AP Computer Science Principles in Python - 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 Top Down Design and Decomposition in Karel

    35. Video 1.6.1 Top Down Design and Decomposition in Karel
    36. Check for Understanding 1.6.2 Top Down Design and Decomposition Quiz
    37. Example 1.6.3 Hurdle Karel
    38. Exercise 1.6.4 The Two Towers
    39. Debugging 1.6.5 Make a 'Z'
    40. Free Response 1.6.6 Reflection: Top Down Design
    41. 1.7 Commenting Your Code

    42. Video 1.7.1 Commenting Your Code
    43. Check for Understanding 1.7.2 Commenting Your Code Quiz
    44. Example 1.7.3 Hurdle Karel
    45. Exercise 1.7.4 The Two Towers + Comments
    46. Free Response 1.7.5 Reflection: Commenting
    47. 1.8 Abstraction

    48. Video 1.8.1 Abstraction
    49. Check for Understanding 1.8.2 Abstraction Quiz
    50. Example 1.8.3 Abstracting Away build_tower
    51. Free Response 1.8.4 Abstracting Your Day
    52. Free Response 1.8.5 Reflection: Abstraction
    53. Free Response 1.8.6 Reflection: Abstraction in Karel
    54. 1.9 Super Karel

    55. Video 1.9.1 Super Karel
    56. Check for Understanding 1.9.2 Super Karel Quiz
    57. Example 1.9.3 Hurdle Karel (with SuperKarel)
    58. Exercise 1.9.4 The Two Towers + SuperKarel
    59. Badge 1.9.5 Super Karel Badge
    60. 1.10 For Loops

    61. Video 1.10.1 For Loops
    62. Check for Understanding 1.10.2 For Loops Quiz
    63. Example 1.10.3 Repeated Move
    64. Example 1.10.4 Put Down Tennis Balls
    65. Exercise 1.10.5 Take 'em All
    66. Exercise 1.10.6 Dizzy Karel
    67. Exercise 1.10.7 For Loop Square
    68. Exercise 1.10.8 Lots of Hurdles
    69. 1.11 If Statements

    70. Video 1.11.1 If Statements
    71. Check for Understanding 1.11.2 If Statements Quiz
    72. Example 1.11.3 If Statements
    73. Example 1.11.4 Safe Take Ball
    74. Exercise 1.11.5 Is There a Ball?
    75. Survey 1.11.6 Mindsets
    76. 1.12 If/Else Statements

    77. Video 1.12.1 If/Else Statements
    78. Check for Understanding 1.12.2 If/Else Statements Quiz
    79. Example 1.12.3 If/Else Statements
    80. Example 1.12.4 One Ball in Each Spot
    81. Exercise 1.12.5 Right Side Up
    82. Badge 1.12.6 Conditional Karel Badge
    83. 1.13 While Loops in Karel

    84. Video 1.13.1 While Loops in Karel
    85. Check for Understanding 1.13.2 While Loops in Karel Quiz
    86. Example 1.13.3 Move to Wall
    87. Exercise 1.13.4 Follow The Yellow Ball Road
    88. Exercise 1.13.5 Lay Row of Tennis Balls
    89. Exercise 1.13.6 Big Tower
    90. 1.14 Control Structures Example

    91. Video 1.14.1 Control Structures Example
    92. Check for Understanding 1.14.2 Control Structures Example Quiz
    93. Example 1.14.3 Cleanup Karel
    94. Exercise 1.14.4 Random Hurdles
    95. 1.15 Debugging Strategies

    96. Video 1.15.1 Debugging Basics
    97. Check for Understanding 1.15.2 Debugging Basics
    98. Debugging 1.15.3 Debug: The Two Towers
    99. Debugging 1.15.4 Debug: Lots of Hurdles
    100. Video 1.15.5 Debugging From Error Messages
    101. Check for Understanding 1.15.6 Debugging with Error Messages
    102. Debugging 1.15.7 Debug: Big Tower
    103. Debugging 1.15.8 Debug: Random Hurdles
    104. 1.16 Algorithms

    105. Video 1.16.1 Karel Algorithms
    106. Check for Understanding 1.16.2 Quiz: Which Control Structure?
    107. Video 1.16.3 Algorithms Example: Move Stack
    108. Example 1.16.4 Move Tennis Ball Stack
    109. Example 1.16.5 Climbing Karel
    110. Exercise 1.16.6 Decorate the Fence
    111. 1.17 Ultra Karel

    112. Video 1.17.1 Ultra Karel
    113. Check for Understanding 1.17.2 Ultra Karel Quiz
    114. Example 1.17.3 Red Frame
    115. Example 1.17.4 Slip 'n Slide
    116. Exercise 1.17.5 Invert Colors
    117. Exercise 1.17.6 Checkerboard Karel
    118. Badge 1.17.7 Karel Exercises Badge
    119. 1.18 Karel Challenges

    120. Challenge 1.18.1 Fetch
    121. Challenge 1.18.2 Racing Karel
    122. Challenge 1.18.3 Tower Builder
    123. Challenge 1.18.4 Super Cleanup Karel
    124. Challenge 1.18.5 Double Tennis Balls
    125. Badge 1.18.6 Programming with Karel Bootcamp Badge
    126. 1.19 Introduction to Programming Quiz

    127. Unit Quiz 1.19.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. Free Response 2.1.10 Reflection
    12. Badge 2.1.11 Karel Practice PT Badge
  3. Programming with Python

    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. Video 3.4.3 String Operators
    21. Check for Understanding 3.4.4 String Operators Quiz
    22. Example 3.4.5 Basic Variables
    23. Exercise 3.4.6 Apples and Oranges
    24. AP Practice 3.4.7 AP Practice: Variables
    25. 3.5 User Input

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

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

    44. Video 3.7.1 Graphics
    45. Check for Understanding 3.7.2 Python Graphics Quiz
    46. Example 3.7.3 Graphics Hello World
    47. Example 3.7.4 Blue Circle
    48. Example 3.7.5 Red Rectangle
    49. Video 3.7.6 Using get_width And get_height
    50. Example 3.7.7 8 Ball
    51. Exercise 3.7.8 French Flag
    52. Exercise 3.7.9 Snowman
    53. Badge 3.7.10 Programming with Graphics Bootcamp Badge
    54. 3.8 Mouse Events: Mouse Clicked

    55. Video 3.8.1 Mouse Events: Mouse Clicked
    56. Check for Understanding 3.8.2 Mouse Events: Mouse Clicked Quiz
    57. Example 3.8.3 Click For Circles
    58. Example 3.8.4 Click For Mickey
    59. Exercise 3.8.5 Click for Rectangles
    60. 3.9 Programming with Python Quiz

    61. Unit Quiz 3.9.1 Programming with Python Quiz
  4. Python 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. Exercise 4.4.8 Meal Planner
    31. AP Practice 4.4.9 AP Practice: If/Else Statements
    32. Badge 4.4.10 Conditionals Badge
    33. 4.5 Key Events

    34. Video 4.5.1 Key Events
    35. Check for Understanding 4.5.2 Key Events Quiz
    36. Example 4.5.3 Keyboard Square
    37. Exercise 4.5.4 Growing Circle
    38. Badge 4.5.5 Graphics Badge
    39. 4.6 For Loops in Python

    40. Video 4.6.1 Basic For Loop
    41. Check for Understanding 4.6.2 For Loops Quiz
    42. Example 4.6.3 For Loop
    43. Exercise 4.6.4 Meme Text Generator
    44. Exercise 4.6.5 The Worm
    45. Exercise 4.6.6 Caterpillar
    46. 4.7 General For Loops

    47. Video 4.7.1 General For Loop
    48. Check for Understanding 4.7.2 General For Loop Quiz
    49. Example 4.7.3 Countdown
    50. Example 4.7.4 Count By Twos
    51. Exercise 4.7.5 Count By Sevens
    52. Exercise 4.7.6 Powers of Two
    53. 4.8 For Loop Practice

    54. Video 4.8.1 For Loop Examples
    55. Check for Understanding 4.8.2 For Loop Examples Quiz
    56. Example 4.8.3 For Loop Sum
    57. Exercise 4.8.4 Better Sum
    58. Exercise 4.8.5 Factorial
    59. Exercise 4.8.6 All Dice Values
    60. 4.9 Random Numbers

    61. Video 4.9.1 Random Numbers
    62. Check for Understanding 4.9.2 Random Numbers Quiz
    63. Example 4.9.3 Rolling a Die
    64. Example 4.9.4 Flipping a Coin
    65. Exercise 4.9.5 Lots of Dice
    66. Exercise 4.9.6 Random Color Square
    67. Survey 4.9.7 Mindsets
    68. 4.10 While Loops

    69. Video 4.10.1 While Loops
    70. Check for Understanding 4.10.2 While Loops Quiz
    71. Example 4.10.3 While Loop Countdown
    72. Exercise 4.10.4 Inventory
    73. Exercise 4.10.5 Fibonacci
    74. AP Practice 4.10.6 AP Practice: Iteration
    75. 4.11 Loop and a Half

    76. Video 4.11.1 Loop and a Half
    77. Check for Understanding 4.11.2 Loop and a Half Quiz
    78. Example 4.11.3 Adding Up Numbers
    79. Exercise 4.11.4 Snake Eyes
    80. Exercise 4.11.5 Better Password Prompt
    81. Badge 4.11.6 Looper Badge
    82. 4.12 Python Control Structures Quiz

    83. Unit Quiz 4.12.1 Python 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 1 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 minVal
    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 Exceptions

    39. Video 5.7.1 Exceptions
    40. Quiz 5.7.2 Exceptions Quiz
    41. Example 5.7.3 Enter a Number
    42. Example 5.7.4 Enter Name and Age
    43. Exercise 5.7.5 Temperature Converter
    44. Exercise 5.7.6 Temperature Converter, Part 2
    45. 5.8 Python vs Karel

    46. Video 5.8.1 Python vs Karel
    47. Example 5.8.2 Making Karel's World
    48. Example 5.8.3 Making Karel Turn Left
    49. Exercise 5.8.4 Making Karel Turn Right
    50. Exercise 5.8.5 Making Karel Move
    51. Connection 5.8.6 What is an API?
    52. Free Response 5.8.7 Reflection: Is Karel an API?
    53. Badge 5.8.8 Python Exercises Badge
    54. 5.9 Basic Python and Graphics Challenges

    55. Challenge 5.9.1 Ghosts
    56. Challenge 5.9.2 Guessing Game
    57. Challenge 5.9.3 Draw Something
    58. Badge 5.9.4 Python Challenges Badge
    59. 5.10 Functions and Parameters Quiz

    60. Unit Quiz 5.10.1 Functions and Parameters Quiz
  6. Practice PT: Tell a Story

    1. 6.1 Practice PT: 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 Tuples

    2. Video 7.1.1 Tuples
    3. Check for Understanding 7.1.2 Tuples
    4. Example 7.1.3 A Tuple Is a Sequence
    5. Example 7.1.4 A Tuple is Heterogeneous
    6. Example 7.1.5 Tuples With a Single Element
    7. Example 7.1.6 Concatenating Tuples
    8. Exercise 7.1.7 Fix This Tuple
    9. Practice 7.1.8 Citation
    10. Practice 7.1.9 Diving Contest
    11. Practice 7.1.10 Coordinate Pairs
    12. 7.2 Lists

    13. Video 7.2.1 Lists
    14. Check for Understanding 7.2.2 Lists
    15. Example 7.2.3 A List Is Like a Mutable Tuple
    16. Example 7.2.4 List of Tuples, Tuples of Lists
    17. Example 7.2.5 String <--> List
    18. Practice 7.2.6 Spell It Out
    19. Example 7.2.7 Splitting a String
    20. Practice 7.2.8 Listed Greeting
    21. Exercise 7.2.9 Top Movies
    22. AP Practice 7.2.10 AP Practice: Lists
    23. 7.3 For Loops and Lists

    24. Video 7.3.1 For Loops and Lists
    25. Check for Understanding 7.3.2 For Loops and Lists
    26. Example 7.3.3 Sum List
    27. Example 7.3.4 For Loops and Lists
    28. Example 7.3.5 For Loops and Lists, Part 2
    29. Practice 7.3.6 Max In List
    30. Practice 7.3.7 Owls
    31. Practice 7.3.8 Exclamat!on Po!nts
    32. Challenge 7.3.9 Word Ladder
    33. Example 7.3.10 Algorithm Efficiency
    34. 7.4 List Methods

    35. Video 7.4.1 List Methods
    36. Check for Understanding 7.4.2 List Methods
    37. Example 7.4.3 Append and Extend
    38. Exercise 7.4.4 How Many Names?
    39. Exercise 7.4.5 Five Numbers
    40. Example 7.4.6 Sort
    41. Exercise 7.4.7 Librarian
    42. Free Response 7.4.8 Reflection: World Without List!
    43. Example 7.4.9 Reverse
    44. Example 7.4.10 Count
    45. Example 7.4.11 Remove
    46. Exercise 7.4.12 Empty List (Append and Remove)
    47. Practice 7.4.13 Take a Thing Out, Sort It and Reverse It
    48. Challenge 7.4.14 Librarian, Part 2
    49. Challenge 7.4.15 Owls, Part 2
    50. AP Practice 7.4.16 AP Practice: List Procedures
    51. Badge 7.4.17 Lists Badge
    52. 7.5 Simulation

    53. Video 7.5.1 Simulation
    54. Example 7.5.2 Gravity Simulation
    55. Example 7.5.3 Conway's Game of Life
    56. Exercise 7.5.4 Simulating a Coin Flip
    57. Connection 7.5.5 Wolf Sheep Predation Simulation
    58. Badge 7.5.6 Data Structures Exercises Badge
    59. 7.6 Basic Data Structures Quiz

    60. Unit Quiz 7.6.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 Images
    54. Check for Understanding 8.7.4 Programming with Images 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. Exercise 8.7.8 Invert Filter
    59. Exercise 8.7.9 Blue Filter
    60. Exercise 8.7.10 Darken Filter
    61. Badge 8.7.11 Image Manipulation Badge
    62. 8.8 Data Compression

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

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

    78. Video 8.10.1 Cryptography
    79. Check for Understanding 8.10.2 Cryptography Quiz
    80. Video 8.10.3 Implementing Caesar's Cipher
    81. Check for Understanding 8.10.4 Implementing Caesar's Cipher Quiz
    82. Example 8.10.5 Encrypting with a Caesar Cipher
    83. Example 8.10.6 Cracking a Caesar Cipher
    84. Free Response 8.10.7 Reflection: Caesar Cipher
    85. Exercise 8.10.8 Guess the Passcode
    86. 8.11 Digital Information Quiz

    87. Unit Quiz 8.11.1 Digital Information Quiz
    88. Badge 8.11.2 Digital Information Badge
  9. Practice PT: Steganography

    1. 9.1 Practice PT: Steganography

    2. Demo 9.1.1 Secret Message Steganography
    3. Demo 9.1.2 Secret Image Steganography Demo
    4. Connection 9.1.3 Create PT Scoring Guidelines
    5. Challenge 9.1.4 Secret Image Steganography
    6. Free Response 9.1.5 Reflection
  10. Practice PT: Create an Image Filter!

    1. 10.1 Practice PT: Create an Image Filter!

    2. Connection 10.1.1 Create PT Scoring Guidelines
    3. Challenge 10.1.2 Practice PT: Create an Image Filter!
    4. Free Response 10.1.3 Reflection
  11. The Internet

    1. 11.1 Welcome to the Internet

    2. Video 11.1.1 Welcome to the Internet
    3. Check for Understanding 11.1.2 Welcome to the Internet Quiz
    4. Free Response 11.1.3 Reflection: The Internet and You
    5. 11.2 Internet Hardware

    6. Video 11.2.1 Devices and Networks
    7. Video 11.2.2 Hardware of the Internet
    8. Check for Understanding 11.2.3 Internet Hardware Quiz
    9. Connection 11.2.4 The Internet is in the Ocean
    10. 11.3 Internet Addresses

    11. Video 11.3.1 Internet Addresses
    12. Check for Understanding 11.3.2 Internet Addresses Quiz
    13. Free Response 11.3.3 Free Response: The Need for Addresses
    14. Check for Understanding 11.3.4 4-bit Addresses
    15. Free Response 11.3.5 Free Response: IPv4 vs IPv6
    16. 11.4 Viewing Websites

    17. Video 11.4.1 Viewing Websites
    18. Check for Understanding 11.4.2 Viewing Websites Quiz
    19. Free Response 11.4.3 Free Response: Explaining a URL
    20. 11.5 DNS

    21. Video 11.5.1 DNS
    22. Check for Understanding 11.5.2 DNS Quiz
    23. Video 11.5.3 DNS Activity: CodeHS IP Address
    24. 11.6 Routing

    25. Video 11.6.1 Routing
    26. Check for Understanding 11.6.2 Routing Quiz
    27. Free Response 11.6.3 Free Response: Redundancy
    28. 11.7 Packets and Protocols

    29. Video 11.7.1 Packets and Protocols
    30. Check for Understanding 11.7.2 Packets and Protocols Quiz
    31. Resource 11.7.3 Passing Notes
    32. Connection 11.7.4 How the Internet Works
    33. Free Response 11.7.5 The Story of the Internet
    34. 11.8 Sequential, Parallel & Distributed Computing

    35. Video 11.8.1 Computer Processing Operations
    36. Check for Understanding 11.8.2 Computer Processing Operations Quiz
    37. Resource 11.8.3 Sequential vs. Parallel Activity
    38. Free Response 11.8.4 Free Response: Sequential vs. Parallel
    39. 11.9 Cybersecurity

    40. Video 11.9.1 Cybersecurity
    41. Check for Understanding 11.9.2 Cybersecurity Quiz
    42. Example 11.9.3 You Can Be Tracked!
    43. Connection 11.9.4 Website Cookies
    44. Connection 11.9.5 Password Strength
    45. Free Response 11.9.6 Reflection: Password Strength
    46. Example 11.9.7 Multifactor Authentication
    47. Free Response 11.9.8 Reflection: PII
    48. Example 11.9.9 Phishing Simulator
    49. Connection 11.9.10 Rogue Access Points
    50. Survey 11.9.11 Mindsets
    51. 11.10 The Impact of the Internet

    52. Video 11.10.1 The Impact of the Internet
    53. Check for Understanding 11.10.2 The Impact of the Internet Quiz
    54. Free Response 11.10.3 Reflection: Internet Impact
    55. Connection 11.10.4 Crucial Steps to Close the Digital Divide
    56. Free Response 11.10.5 Reflection: Closing the Digital Divide
    57. Connection 11.10.6 Pokemon Go: Unintended Effects
    58. Free Response 11.10.7 Reflection: Unintended Effects
    59. 11.11 Creative Credit & Copyright

    60. Video 11.11.1 Creative Credit and Copyright
    61. Check for Understanding 11.11.2 Creative Credit and Copyright
    62. Free Response 11.11.3 Reflection: Cite!
    63. Connection 11.11.4 Exploring Creative Commons
    64. Free Response 11.11.5 Respond: Creative Commons
    65. Free Response 11.11.6 Task: Finding Images
    66. Free Response 11.11.7 Reflection: Why is Copyright Important?
    67. 11.12 The Internet Quiz

    68. Unit Quiz 11.12.1 The Internet Quiz
    69. Badge 11.12.2 The Internet Badge
  12. Project: The Effects of the Internet

    1. 12.1 The Effects of the Internet

    2. Free Response 12.1.1 Topic Brainstorm
    3. Free Response 12.1.2 Gathering Resources
    4. Presentation 12.1.3 Make Your Artifact
    5. Free Response 12.1.4 Written Responses
  13. Data

    1. 13.1 Getting Started with Data

    2. Video 13.1.1 Getting Started with Data
    3. Check for Understanding 13.1.2 Getting Started with Data Quiz
    4. Connection 13.1.3 What Do We Do With Data?
    5. Free Response 13.1.4 Reflection: Continuously Collecting Data
    6. 13.2 Visualizing and Interpreting Data

    7. Video 13.2.1 Visualizing Data
    8. Check for Understanding 13.2.2 Visualizing Data Quiz
    9. Notes 13.2.3 Exploring Data Visualizations
    10. Free Response 13.2.4 Respond: Visualizations
    11. Free Response 13.2.5 Free Response: Choosing a Visualization
    12. Check for Understanding 13.2.6 Visualizing & Interpreting Data Quiz
    13. 13.3 Data Collection & Limitations

    14. Video 13.3.1 Collecting Data
    15. Check for Understanding 13.3.2 Collecting Data Quiz
    16. Free Response 13.3.3 Reflection: Design a Survey
    17. Free Response 13.3.4 Reflection: Self-Driving Cars
    18. Check for Understanding 13.3.5 Data Collection Quiz
    19. Video 13.3.6 Data Limitations
    20. Check for Understanding 13.3.7 Interpreting Data Quiz
    21. Example 13.3.8 Line Graph
    22. Example 13.3.9 Bar Graph
    23. Example 13.3.10 Pie Chart
    24. Free Response 13.3.11 Reflection: Importance of Metadata
    25. 13.4 Data Quiz

    26. Unit Quiz 13.4.1 Data Quiz
  14. Project: Present a Data-Driven Insight

    1. 14.1 Present a Data-Driven Insight

    2. Free Response 14.1.1 Topic Brainstorm
    3. Free Response 14.1.2 Gathering Resources
    4. Presentation 14.1.3 Make a Visualization
    5. Free Response 14.1.4 Written Responses
    6. Free Response 14.1.5 Share Your Findings
  15. Project: The Impact of Computing

    1. 15.1 The Impacts of Computing

    2. Free Response 15.1.1 Artifact Creation
    3. Free Response 15.1.2 Selecting Computing Innovations
    4. Free Response 15.1.3 Data as an Input and an Output
    5. Free Response 15.1.4 Data Privacy and Security
  16. Create Performance Task

    1. 16.1 Create Performance Task: Overview

    2. Notes 16.1.1 Create Performance Task: Overview
    3. Article 16.1.2 What is the Create Performance Task?
    4. Notes 16.1.3 Task Verbs Definitions
    5. Article 16.1.4 Component A: Program Code Requirements
    6. Free Response 16.1.5 Reflection: Program Code Requirements
    7. Article 16.1.6 Component B: Video Requirements
    8. Free Response 16.1.7 Reflection: Video Requirements
    9. Article 16.1.8 Component C: Personalized Project Reference Requirements
    10. Free Response 16.1.9 Reflection: Personalized Project Reference Requirements
    11. 16.2 Create Performance Task: Guidelines

    12. Notes 16.2.1 Create Performance Task: Guidelines
    13. Article 16.2.2 Academic Integrity and Plagiarism Policy
    14. Free Response 16.2.3 Reflection: Academic Integrity and Plagiarism Policy
    15. Article 16.2.4 Guidelines: Prior to Starting
    16. Free Response 16.2.5 Reflection: Prior to Starting
    17. Article 16.2.6 Guidelines: Once You Have Started
    18. Free Response 16.2.7 Reflection: Once You Have Started
    19. 16.3 Create Performance Task: Categories and Questions

    20. Notes 16.3.1 Create Performance Task: Categories and Questions
    21. Notes 16.3.2 Category 1: Program Design, Function, and Purpose
    22. Notes 16.3.3 Category 2: Algorithm Development
    23. Notes 16.3.4 Category 3: Errors and Testing
    24. Notes 16.3.5 Category 4: Data and Procedural Abstraction
    25. Article 16.3.6 Sample A CSP Performance Task [Python]
    26. Article 16.3.7 Sample A CSP Performance Task [JavaScript]
    27. Free Response 16.3.8 Reflection: Sample A CSP Performance Task
    28. Article 16.3.9 Sample B CSP Performance Task [Python]
    29. Article 16.3.10 Sample B CSP Performance Task [JavaScript]
    30. Free Response 16.3.11 Reflection: Sample B CSP Performance Task
    31. Article 16.3.12 Sample Roblox CSP Performance Task [Lua]
    32. Free Response 16.3.13 Reflection: Sample Roblox CSP Performance Task [Lua]
    33. 16.4 Planning and Pacing Your Project

    34. Notes 16.4.1 Create Performance Task: Pacing Your Project
    35. Notes 16.4.2 Collaborating on the Create Performance Task
    36. Notes 16.4.3 Generative AI: To Use, or Not To Use
    37. Free Response 16.4.4 Brainstorm Your Project
    38. Free Response 16.4.5 Practice Making a Screen Capture
    39. Free Response 16.4.6 Practice Making a Video Recording
    40. 16.5 Complete the Create Performance Task

    41. Connection 16.5.1 Create Performance Task Scoring Guidelines
    42. Challenge 16.5.2 Component A: Program Code [Python]
    43. Challenge 16.5.3 Component A: Program Code [JavaScript]
    44. Challenge 16.5.4 Component A: Program Code [Lua]
    45. Free Response 16.5.5 Component B: Video
    46. Free Response 16.5.6 Component C: Procedure Capture I
    47. Free Response 16.5.7 Component C: Procedure Capture II
    48. Free Response 16.5.8 Component C: Procedure List I
    49. Free Response 16.5.9 Component C: Procedure List II
    50. Free Response 16.5.10 Practice Written Responses
    51. Notes 16.5.11 Finalizing and Submitting
  17. AP Exam Review

    1. 17.1 Preparation

    2. Resource 17.1.1 AP Exam Reference Sheet
    3. 17.2 Practice AP Exam

    4. AP Practice 17.2.1 Practice AP Exam
  18. Creative Development

    1. 18.1 Intro to Design Thinking

    2. Video 18.1.1 Intro to Design Thinking
    3. Check for Understanding 18.1.2 Intro to Design Thinking
    4. Free Response 18.1.3 User Interface Scavenger Hunt
    5. Article 18.1.4 Case Study: Helping People 'See'
    6. Free Response 18.1.5 Case Study Responses
    7. Demo 18.1.6 Tell a Story Demo
    8. Free Response 18.1.7 Brainstorming Project Ideas
    9. 18.2 Prototype

    10. Video 18.2.1 Prototype
    11. Check for Understanding 18.2.2 Prototype Quiz
    12. Connection 18.2.3 Wizard of Oz Prototyping
    13. Connection 18.2.4 Example Wizard of Oz Paper Prototype
    14. Free Response 18.2.5 Make Your Paper Prototypes!
    15. 18.3 Test

    16. Video 18.3.1 Test
    17. Check for Understanding 18.3.2 Testing Quiz
    18. Connection 18.3.3 Testing with Users
    19. Video 18.3.4 Example: How to User Test
    20. Free Response 18.3.5 How to User Test Responses
    21. Resource 18.3.6 How to Make Accessible Programs
    22. Free Response 18.3.7 Test Prototype 1
    23. Free Response 18.3.8 Test Prototype 2
    24. Free Response 18.3.9 Improve Your Prototype
    25. 18.4 Project Prep and Development

    26. Free Response 18.4.1 Online Collaboration Tools
    27. Free Response 18.4.2 Pseudocode
    28. Challenge 18.4.3 Write the Code!
    29. Presentation 18.4.4 Present your Project
    30. Survey 18.4.5 Mindsets
  19. Final

    1. 19.1 Final

    2. Final 19.1.1 Final Pt 1: Multiple Choice
  20. Computer Science Principles Pretest

    1. 20.1 Computer Science Principles Pretest

    2. Notes 20.1.1 About the Pretest
    3. Survey 20.1.2 Mindsets
    4. Quiz 20.1.3 Knowledge & Skills: Computer Science Principles
  21. Midterm

    1. 21.1 Midterm

    2. Midterm 21.1.1 Midterm: Multiple Choice
  22. Computer Science Principles Posttest

    1. 22.1 Computer Science Principles Posttest

    2. Notes 22.1.1 About the Posttest
    3. Survey 22.1.2 Mindsets
    4. Quiz 22.1.3 Computer Science Principles Knowledge & Skills
  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. Check for Understanding 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. Classes and Objects

    1. 27.1 Classes and Objects

    2. Video 27.1.1 Classes and Objects
    3. Check for Understanding 27.1.2 Classes and Objects
    4. Example 27.1.3 The Point Class
    5. Exercise 27.1.4 The Rectangle Class, Part 1
    6. Example 27.1.5 The Point Class, Part 2
    7. Exercise 27.1.6 The Rectangle Class, Part 2
    8. 27.2 Methods

    9. Video 27.2.1 Methods
    10. Check for Understanding 27.2.2 Methods
    11. Example 27.2.3 The Point Class, Part 3
    12. Example 27.2.4 The Point Class, Part 4
    13. Exercise 27.2.5 The Rectangle Class, Part 3
    14. Exercise 27.2.6 The Rectangle Class, Part 4
    15. 27.3 Built-In Methods

    16. Video 27.3.1 Built-In Methods
    17. Check for Understanding 27.3.2 Built-In Methods
    18. Example 27.3.3 The __repr__ method
    19. Example 27.3.4 The __eq__ method
    20. Example 27.3.5 The Point Class, Part 5
    21. Exercise 27.3.6 The Rectangle Class, Part 5
    22. Exercise 27.3.7 The Rectangle Class, Part 6
    23. Example 27.3.8 Sheet Music
    24. Challenge 27.3.9 Names In a Hat
    25. 27.4 Operator Overloading

    26. Video 27.4.1 Operator Overloading
    27. Check for Understanding 27.4.2 Operator Overloading
    28. Example 27.4.3 The __add__ method
    29. Example 27.4.4 The Point Class, Part 6
    30. Exercise 27.4.5 The Rectangle Class, Part 7
    31. Exercise 27.4.6 The Rectangle Class, Part 8
    32. Exercise 27.4.7 Contact Merge
    33. 27.5 Class Variables vs. Instance Variables

    34. Video 27.5.1 Class Variables vs. Instance Variables
    35. Check for Understanding 27.5.2 Class Variables vs. Instance Variables
    36. Example 27.5.3 The Point Class, Part 7
    37. Exercise 27.5.4 The Rectangle Class, Part 9
    38. Example 27.5.5 Cars
    39. Exercise 27.5.6 Cars, Part 2
    40. Example 27.5.7 Cars, Part 3
    41. 27.6 Inheritance

    42. Video 27.6.1 Inheritance
    43. Check for Understanding 27.6.2 Inheritance
    44. Example 27.6.3 Animals
    45. Exercise 27.6.4 Food, Part 1
    46. Example 27.6.5 Animals with Lists
    47. Exercise 27.6.6 Food , Part 2
    48. 27.7 Hidden Attributes

    49. Video 27.7.1 Hidden Attributes
    50. Check for Understanding 27.7.2 Hidden Attributes
    51. Example 27.7.3 Secret Instance Variable
    52. Exercise 27.7.4 Only Even Rectangles Counted
    53. Example 27.7.5 Level Up
    54. Exercise 27.7.6 Triple and Halve
    55. 27.8 Namespaces

    56. Video 27.8.1 Namespaces
    57. Check for Understanding 27.8.2 Namespaces
    58. Example 27.8.3 Classes
    59. Example 27.8.4 Subclasses
    60. Exercise 27.8.5 Food, Part 3
    61. 27.9 Modules

    62. Video 27.9.1 Modules
    63. Check for Understanding 27.9.2 Modules
    64. Example 27.9.3 Importing Entire Module
    65. Example 27.9.4 Importing Individual Components
    66. Free Response 27.9.5 Benefits of Individual Importing
    67. Exercise 27.9.6 Using the Math Module
    68. 27.10 Classes and Objects Quiz

    69. Unit Quiz 27.10.1 Classes and Objects Unit Test
    70. Badge 27.10.2 Classes and Objects Badge
  28. Additional Topics

    1. 28.1 Short Circuit Evaluation

    2. Video 28.1.1 Short Circuit Evaluation
    3. Check for Understanding 28.1.2 Short Circuit Evaluation
    4. Example 28.1.3 Road Trip
    5. Exercise 28.1.4 Divisibility
    6. Badge 28.1.5 Short Circuit Badge
    7. 28.2 De Morgan's Laws

    8. Video 28.2.1 De Morgan's Laws
    9. Check for Understanding 28.2.2 De Morgan's Laws
    10. Example 28.2.3 De Morgan's Law for AND
    11. Example 28.2.4 De Morgan's Law for OR
    12. Exercise 28.2.5 Amusement Park
  29. Project: Who Said It?

    1. 29.1 Project: Who Said It?

    2. Video 29.1.1 File I/O
    3. Check for Understanding 29.1.2 File I/O
    4. Demo 29.1.3 Who Said It? Demo
    5. Notes 29.1.4 String Operations
    6. Exercise 29.1.5 Who Said It? - Part 1
    7. Exercise 29.1.6 Who Said It? - Part 2
    8. Exercise 29.1.7 Who Said It? - Part 3
    9. Exercise 29.1.8 Who Said It? - Part 4
    10. Badge 29.1.9 Who Said It? Badge
  30. Project: Mastermind

    1. 30.1 Let's Build Mastermind

    2. Connection 30.1.1 How to Play Mastermind
    3. Demo 30.1.2 Mastermind: Demo
    4. Exercise 30.1.3 Generate Number List
    5. Exercise 30.1.4 Get User Guess
    6. Exercise 30.1.5 Compare User Guess to List
    7. Exercise 30.1.6 Check if User has Won
    8. Exercise 30.1.7 Finish the Game!
  31. Practice PT: Testing 1, 2, 3 ...

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

    2. Notes 31.1.1 Introduction
    3. Connection 31.1.2 Create Scoring Guidelines
    4. Notes 31.1.3 String Operations
    5. Exercise 31.1.4 Practice PT: Testing 1, 2, 3 ...
    6. Free Response 31.1.5 Reflection
  32. Practice PT: The Shopping List

    1. 32.1 Practice PT: The Shopping List

    2. Connection 32.1.1 Create PT Scoring Guidelines
    3. Notes 32.1.2 String Operations
    4. Challenge 32.1.3 Practice PT: The Shopping List
    5. Free Response 32.1.4 Reflection
  33. Strings

    1. 33.1 Indexing

    2. Video 33.1.1 Indexing
    3. Check for Understanding 33.1.2 Indexing
    4. Example 33.1.3 Characters in a String
    5. Video 33.1.4 Unit Tests
    6. Practice 33.1.5 Initials
    7. Practice 33.1.6 Sandwich Sandwiches
    8. 33.2 Slicing

    9. Video 33.2.1 Slicing
    10. Check for Understanding 33.2.2 Slicing
    11. Example 33.2.3 Groups of Characters
    12. Example 33.2.4 String Collage
    13. Example 33.2.5 Room Names
    14. Practice 33.2.6 If You're Not First, You're Last
    15. Practice 33.2.7 Part 1, Replace a Letter
    16. Practice 33.2.8 Part 2, Replace a Letter
    17. Badge 33.2.9 Slicing Badge
    18. 33.3 Immutability

    19. Video 33.3.1 Immutability
    20. Check for Understanding 33.3.2 Immutability
    21. Example 33.3.3 String Immutability
    22. Exercise 33.3.4 Find the Error
    23. 33.4 Strings and For Loops

    24. Video 33.4.1 Strings and For Loops
    25. Check for Understanding 33.4.2 Strings and For Loops
    26. Example 33.4.3 The len Function
    27. Practice 33.4.4 Length of User's Name
    28. Example 33.4.5 String For Loop with Indices
    29. Example 33.4.6 String For Loop with Characters
    30. Exercise 33.4.7 Spelling Bee
    31. Practice 33.4.8 Keeping Count
    32. 33.5 The in Keyword

    33. Video 33.5.1 The in Keyword
    34. Check for Understanding 33.5.2 The in Keyword
    35. Example 33.5.3 Contains a Letter
    36. Example 33.5.4 Contains a Substring
    37. Practice 33.5.5 Contains a Vowel
    38. 33.6 String Methods

    39. Video 33.6.1 String Methods
    40. Check for Understanding 33.6.2 String Methods
    41. Example 33.6.3 upper and lower
    42. Practice 33.6.4 ENTHUSIASM!
    43. Example 33.6.5 swapcase
    44. Example 33.6.6 strip
    45. Example 33.6.7 find
    46. Practice 33.6.8 What's in a Name?
    47. Practice 33.6.9 Part 1, Remove All From String
    48. Exercise 33.6.10 Part 2, Remove All From String
    49. Survey 33.6.11 Mindset Survey 3
    50. 33.7 Strings Quiz

    51. Unit Quiz 33.7.1 Strings Quiz
    52. Badge 33.7.2 Strings Badge
  34. Extending Data Structures

    1. 34.1 2d Lists

    2. Video 34.1.1 2d Lists
    3. Check for Understanding 34.1.2 2d Lists
    4. Example 34.1.3 A List of Lists
    5. Example 34.1.4 Grid
    6. Example 34.1.5 2d Lists and Slices
    7. Exercise 34.1.6 Checkerboard, v1
    8. Exercise 34.1.7 Checkerboard, v2
    9. Exercise 34.1.8 Checkerboard, v3
    10. Challenge 34.1.9 Tic Tac Toe
    11. 34.2 List Comprehensions

    12. Video 34.2.1 List Comprehensions
    13. Check for Understanding 34.2.2 List Comprehensions
    14. Example 34.2.3 List of Consecutive Numbers
    15. Example 34.2.4 List of Squares
    16. Exercise 34.2.5 Divisible by 3
    17. Example 34.2.6 Digits of Pi
    18. Example 34.2.7 List of Booleans
    19. Exercise 34.2.8 Last Names
    20. Exercise 34.2.9 Strings To Integers
    21. Survey 34.2.10 Mindset Survey 4
    22. 34.3 Packing and Unpacking

    23. Video 34.3.1 Packing and Unpacking
    24. Check for Understanding 34.3.2 Packing and Unpacking
    25. Example 34.3.3 Packing
    26. Example 34.3.4 Unpacking
    27. Example 34.3.5 Unpacking Parameters
    28. Exercise 34.3.6 Coordinate Pair
    29. Exercise 34.3.7 Slopes
    30. Example 34.3.8 Swapping
    31. Exercise 34.3.9 Full Name & Citation
    32. Badge 34.3.10 Packing Badge
    33. 34.4 Dictionaries

    34. Video 34.4.1 Dictionaries
    35. Check for Understanding 34.4.2 Dictionaries
    36. Example 34.4.3 Keys and Values
    37. Example 34.4.4 The in Keyword
    38. Exercise 34.4.5 Phone Book
    39. Exercise 34.4.6 Word Counts
    40. 34.5 Equivalence vs. Identity

    41. Video 34.5.1 Equivalence vs. Identity
    42. Check for Understanding 34.5.2 Equivalence vs. Identity
    43. Example 34.5.3 Equivalence vs. Identity - Mutables
    44. Example 34.5.4 Equivalence vs. Identity - Immutables
    45. Example 34.5.5 Identity and Parameters
    46. Exercise 34.5.6 Swapping
    47. Exercise 34.5.7 Word Counts, Part 2
    48. 34.6 Extending Data Structures Quiz

    49. Unit Quiz 34.6.1 Extending Data Structures Quiz
    50. Badge 34.6.2 Data Structures Badge
  35. Unit Tests

    1. 35.1 Unit Tests

    2. Video 35.1.1 Unit Tests
    3. Article 35.1.2 Unit Tests
  36. Removed Items 2024

    1. 36.1 Practice PT: Pair-Programming Paint!

    2. Free Response 36.1.1 Reflection
    3. 36.2 Practice PT: Tell a Story

    4. Free Response 36.2.1 Reflection
    5. 36.3 Practice PT: Create an Image Filter!

    6. Free Response 36.3.1 Reflection
    7. 36.4 Practice PT: The Shopping List

    8. Free Response 36.4.1 Reflection
    9. 36.5 Practice PT: Testing 1, 2, 3...

    10. Free Response 36.5.1 Reflection
    11. 36.6 Create Performance Task

    12. Connection 36.6.1 Create PT Scoring Guidelines
    13. Challenge 36.6.2 Create Performance Task
    14. 36.7 Uses of Programs

    15. Connection 36.7.1 Why Should You Learn to Program?
    16. Free Response 36.7.2 Reflection: Learning to Program
    17. 36.8 DNS

    18. Connection 36.8.1 How Does DNS Work?
    19. Free Response 36.8.2 Respond: How Does DNS Work?
    20. Badge 36.8.3 DNS Badge
    21. 36.9 Intro to Design Thinking

    22. Connection 36.9.1 Case Study: Helping Blind People See
    23. Free Response 36.9.2 Case Study Responses
    24. 36.10 Test

    25. Connection 36.10.1 Example: How to User Test
    26. Connection 36.10.2 Example: How NOT to User Test
    27. Free Response 36.10.3 How NOT to User Test Responses
    28. 36.11 Visualizing and Interpreting Data

    29. Notes 36.11.1 Exploring Data Visualizations
    30. Connection 36.11.2 US Recorded Music Revenue
    31. Connection 36.11.3 National Parks
    32. Connection 36.11.4 March Madness
    33. Connection 36.11.5 Captain Marvel