Please enable JavaScript to use CodeHS

Introduction to Computer Science in Python - Outline

  1. Welcome

    1. 1.1 Welcome

    2. Video 1.1.1 Welcome
    3. Free Response 1.1.2 Welcome
    4. Video 1.1.3 Course Content Overview
  2. Introduction to Programming with Turtle Graphics

    1. 2.1 Intro to Python with Tracy the Turtle

    2. Video 2.1.1 Intro to Tracy
    3. Check for Understanding 2.1.2 Intro to Tracy
    4. Example 2.1.3 Slinky
    5. Exercise 2.1.4 Stretched Slinky
    6. 2.2 Tracy's Grid World

    7. Video 2.2.1 Tracy's Grid World
    8. Check for Understanding 2.2.2 Tracy's Grid World
    9. Example 2.2.3 Dashed Line
    10. Exercise 2.2.4 Shorter Dashed Line
    11. Exercise 2.2.5 Caterpillar
    12. Badge 2.2.6 Grid World Badge
    13. 2.3 Turning Tracy

    14. Video 2.3.1 Turning Tracy
    15. Check for Understanding 2.3.2 Turning Tracy
    16. Example 2.3.3 Square
    17. Example 2.3.4 X and Y Axes
    18. Exercise 2.3.5 Rectangle
    19. Exercise 2.3.6 4 Columns
    20. 2.4 For Loops

    21. Video 2.4.1 For Loops
    22. Check for Understanding 2.4.2 For Loops
    23. Example 2.4.3 Square Using Loops
    24. Example 2.4.4 Dotted Line
    25. Exercise 2.4.5 Row of Circles
    26. Exercise 2.4.6 4 Columns 2.0
    27. Badge 2.4.7 Looping Badge
    28. 2.5 Turning Tracy Using Angles

    29. Video 2.5.1 Turning Tracy Using Angles
    30. Check for Understanding 2.5.2 Turning Tracy Using Angles
    31. Example 2.5.3 Asterisk
    32. Example 2.5.4 Four Circles
    33. Exercise 2.5.5 Hexagon
    34. Exercise 2.5.6 'X' Marks the Spot
    35. Exercise 2.5.7 Circle Pyramid
    36. 2.6 Comments

    37. Video 2.6.1 Comments
    38. Check for Understanding 2.6.2 Comments
    39. Example 2.6.3 Four Circles with Comments
    40. Exercise 2.6.4 Circle Pyramid with Comments
    41. 2.7 Naming Guidelines

    42. Video 2.7.1 Naming Guidelines
    43. Check for Understanding 2.7.2 Naming Guidelines
    44. 2.8 Functions

    45. Video 2.8.1 Functions
    46. Check for Understanding 2.8.2 Functions
    47. Example 2.8.3 X and Y Axes with Hash Marks
    48. Exercise 2.8.4 Beaded Bracelet
    49. Exercise 2.8.5 Shape Stack
    50. Badge 2.8.6 Functions Badge
    51. 2.9 Artistic Effects

    52. Video 2.9.1 Artistic Effects
    53. Check for Understanding 2.9.2 Artistic Effects
    54. Example 2.9.3 Rainbow Octagon
    55. Example 2.9.4 Circle Square Triangle
    56. Exercise 2.9.5 Four Colored Triangles
    57. Exercise 2.9.6 Colorful Bracelet
    58. Challenge 2.9.7 Kid's Shapes Toy
    59. 2.10 Top Down Design

    60. Video 2.10.1 Top Down Design
    61. Check for Understanding 2.10.2 Top Down Design
    62. Example 2.10.3 Bubble Wrap
    63. Exercise 2.10.4 Bubble Wrap 2.0
    64. Exercise 2.10.5 Sidewalk
    65. 2.11 Variables

    66. Video 2.11.1 Variables
    67. Check for Understanding 2.11.2 Variables
    68. Example 2.11.3 Increasing Length
    69. Exercise 2.11.4 Dartboard
    70. Exercise 2.11.5 Line of Increasing Blocks
    71. 2.12 User Input

    72. Video 2.12.1 User Input
    73. Check for Understanding 2.12.2 User Input
    74. Example 2.12.3 Color Coded Increasing Length
    75. Exercise 2.12.4 Colored Dartboard
    76. Exercise 2.12.5 Four Corners
    77. Badge 2.12.6 User Input Badge
    78. 2.13 Parameters

    79. Video 2.13.1 Parameters
    80. Check for Understanding 2.13.2 Parameters
    81. Example 2.13.3 Concentric Circles
    82. Exercise 2.13.4 Colorful Caterpillar
    83. Exercise 2.13.5 Circle in a Square
    84. Exercise 2.13.6 Snowman
    85. 2.14 Using i in For Loops

    86. Video 2.14.1 Using i in For Loops
    87. Check for Understanding 2.14.2 Using i in For Loops
    88. Example 2.14.3 Geometry
    89. Exercise 2.14.4 Geometry 2.0
    90. 2.15 Extended Loop Control

    91. Video 2.15.1 Extended Loop Control
    92. Check for Understanding 2.15.2 Extended Loop Control
    93. Example 2.15.3 Square Swirl
    94. Exercise 2.15.4 Dartboard using i
    95. Exercise 2.15.5 Phone Signal
    96. Badge 2.15.6 Master of i Badge
    97. 2.16 If Statements

    98. Video 2.16.1 If Statements
    99. Check for Understanding 2.16.2 If Statements
    100. Example 2.16.3 X and Y Axis with Bolded Marks
    101. Exercise 2.16.4 Happy Face
    102. Exercise 2.16.5 Black and White Squares
    103. 2.17 If/ Else Statements

    104. Video 2.17.1 If/Else Statements
    105. Check for Understanding 2.17.2 If/Else Statements
    106. Example 2.17.3 Positive, Negative, Zero
    107. Exercise 2.17.4 Rating
    108. Exercise 2.17.5 Happy/ Sad Face
    109. 2.18 While Loops

    110. Video 2.18.1 While Loops
    111. Check for Understanding 2.18.2 While Loops
    112. Example 2.18.3 Increasing Circles
    113. Exercise 2.18.4 Increasing Squares
    114. Exercise 2.18.5 Guess a Number
    115. Badge 2.18.6 Conditionals Badge
    116. Survey 2.18.7 Mindset Survey 1
    117. 2.19 Putting Together Control Structures

    118. Video 2.19.1 Putting Together Control Structures
    119. Check for Understanding 2.19.2 Putting Together Control Structures
    120. Example 2.19.3 Block Pyramid
    121. Exercise 2.19.4 Guess a Number 2.0
    122. Exercise 2.19.5 Circle Pyramid 2.0
    123. Challenge 2.19.6 Checkerboard
    124. Badge 2.19.7 Tracy the Turtle Badge
    125. 2.20 Intro to Programming with Turtle Graphics Quiz

    126. Quiz 2.20.1 Putting It All Together Quiz
    127. Badge 2.20.2 Intro to Programming with Turtle Graphics Badge
  3. Basic Python and Console Interaction

    1. 3.1 Printing in Python

    2. Video 3.1.1 Printing in Python
    3. Check for Understanding 3.1.2 Printing in Python
    4. Example 3.1.3 Hello, world!
    5. Example 3.1.4 Printing Multiple Lines
    6. Exercise 3.1.5 Introduce Yourself
    7. Debugging 3.1.6 Fix This Program!
    8. Exercise 3.1.7 Vertical name
    9. 3.2 Variables and Types

    10. Video 3.2.1 Variables and Types
    11. Check for Understanding 3.2.2 Variables and Types
    12. Example 3.2.3 Variables in Action
    13. Example 3.2.4 Variable Types
    14. Example 3.2.5 Variable Naming
    15. Exercise 3.2.6 Make Some Variables!
    16. Debugging 3.2.7 Undefined Variables
    17. Badge 3.2.8 Variables Badge
    18. 3.3 User Input

    19. Video 3.3.1 User Input
    20. Check for Understanding 3.3.2 User Input
    21. Example 3.3.3 Basic User Input
    22. Example 3.3.4 Type Conversion
    23. Example 3.3.5 Type Conversion, Part 2
    24. Exercise 3.3.6 Hello <name>
    25. Exercise 3.3.7 Age
    26. 3.4 Mathematical Operators

    27. Video 3.4.1 Mathematical Operators
    28. Check for Understanding 3.4.2 Mathematical Operators
    29. Example 3.4.3 Operators and Integers
    30. Example 3.4.4 Operator Precedence
    31. Exercise 3.4.5 Add Parentheses
    32. Example 3.4.6 Division in Python
    33. Example 3.4.7 Operators and Floats
    34. Exercise 3.4.8 Rectangle
    35. 3.5 String Operators

    36. Video 3.5.1 String Operators
    37. Check for Understanding 3.5.2 String Operators
    38. Example 3.5.3 Operators and Strings
    39. Debugging 3.5.4 Fix This Program
    40. Example 3.5.5 Team Sizes
    41. Exercise 3.5.6 Introduce Yourself, Part 2
    42. Exercise 3.5.7 Rectangle, Part 2
    43. Exercise 3.5.8 Rectangle, Part 3
    44. Challenge 3.5.9 Recipe
    45. 3.6 Comments

    46. Video 3.6.1 Comments
    47. Check for Understanding 3.6.2 Comments
    48. Example 3.6.3 Commented Program
    49. Example 3.6.4 Trapezoid
    50. Exercise 3.6.5 Add Comments!
    51. 3.7 Basic Python and Console Interaction Quiz

    52. Unit Quiz 3.7.1 Basic Python and Console Interaction Quiz
    53. Badge 3.7.2 Basic Python and Console Interaction Badge
  4. Conditionals

    1. 4.1 Booleans

    2. Video 4.1.1 Booleans
    3. Check for Understanding 4.1.2 Booleans
    4. Example 4.1.3 Boolean Variables
    5. Debugging 4.1.4 Fix This Program
    6. Exercise 4.1.5 Plants
    7. 4.2 If Statements

    8. Video 4.2.1 If Statements
    9. Check for Understanding 4.2.2 If Statements
    10. Example 4.2.3 Your First If Statement
    11. Example 4.2.4 If/Else Statement
    12. Debugging 4.2.5 Fix This Program
    13. Exercise 4.2.6 Is It Raining?
    14. Badge 4.2.7 Conditional Badge
    15. 4.3 Comparison Operators

    16. Video 4.3.1 Comparison Operators
    17. Check for Understanding 4.3.2 Comparison Operators
    18. Example 4.3.3 Comparison Operators
    19. Example 4.3.4 High Jump
    20. Example 4.3.5 Roller Coaster
    21. Exercise 4.3.6 Old Enough to Vote?
    22. Exercise 4.3.7 Positive, Zero, or Negative?
    23. Example 4.3.8 Age Group
    24. Exercise 4.3.9 Table Reservation
    25. Challenge 4.3.10 Transaction
    26. 4.4 Logical Operators

    27. Video 4.4.1 Logical Operators
    28. Check for Understanding 4.4.2 Logical Operators
    29. Example 4.4.3 Logical Operators
    30. Exercise 4.4.4 Administrators, Teachers, and Students
    31. Exercise 4.4.5 Presidential Eligibility
    32. Challenge 4.4.6 Presidential Eligibility- Extended
    33. 4.5 Floating Point Numbers and Rounding

    34. Video 4.5.1 Floating Point Numbers and Rounding
    35. Check for Understanding 4.5.2 Floating Point Numbers and Rounding
    36. Example 4.5.3 Rounding Error
    37. Exercise 4.5.4 Correct Portion
    38. 4.6 Conditionals Quiz

    39. Unit Quiz 4.6.1 Conditionals Quiz
  5. Looping

    1. 5.1 While Loops

    2. Video 5.1.1 While Loops
    3. Check for Understanding 5.1.2 While Loops
    4. Example 5.1.3 Guess My Number
    5. Example 5.1.4 Program Tracing
    6. Example 5.1.5 Program Tracing, Part 2
    7. Exercise 5.1.6 2 Through 20 Even
    8. Exercise 5.1.7 Divisibility
    9. 5.2 For Loops

    10. Video 5.2.1 For Loops
    11. Check for Understanding 5.2.2 For Loops
    12. Example 5.2.3 Print 10 Numbers
    13. Example 5.2.4 1 Through 10, Part 2
    14. Exercise 5.2.5 Counting 10 to 100 by Tens
    15. Example 5.2.6 Running Total
    16. Example 5.2.7 Running Total, Part 2
    17. Exercise 5.2.8 Average Test Score
    18. Exercise 5.2.9 How Many Names?
    19. Badge 5.2.10 Loops Badge
    20. Survey 5.2.11 Mindset Survey 2
    21. 5.3 Break and Continue

    22. Video 5.3.1 Break and Continue
    23. Check for Understanding 5.3.2 Break and Continue
    24. Example 5.3.3 Break
    25. Example 5.3.4 Continue
    26. Example 5.3.5 Bike Frame Size
    27. Example 5.3.6 Loop and a Half
    28. Exercise 5.3.7 Higher/ Lower
    29. Challenge 5.3.8 Higher / Lower 2.0
    30. 5.4 Nested Control Structures

    31. Video 5.4.1 Nested Control Structures
    32. Check for Understanding 5.4.2 Nested Control Structures
    33. Example 5.4.3 Double For Loop
    34. Example 5.4.4 Average Test Score, Part 2
    35. Example 5.4.5 For Loop + While Loop
    36. Exercise 5.4.6 Rolling Dice
    37. Exercise 5.4.7 Categories
    38. 5.5 Looping Quiz

    39. Unit Quiz 5.5.1 Looping Unit Test
  6. Functions and Exceptions

    1. 6.1 Functions

    2. Video 6.1.1 Functions
    3. Check for Understanding 6.1.2 Functions
    4. Example 6.1.3 Greeting
    5. Example 6.1.4 Extended Greeting
    6. Exercise 6.1.5 Weather
    7. 6.2 Functions and Parameters

    8. Video 6.2.1 Functions and Parameters
    9. Check for Understanding 6.2.2 Functions and Parameters
    10. Example 6.2.3 Print a Value
    11. Example 6.2.4 Name and Age
    12. Exercise 6.2.5 Print Product
    13. Exercise 6.2.6 Print Multiple Times
    14. Example 6.2.7 Default Parameter Values
    15. Exercise 6.2.8 Area of a Square with Default Parameters
    16. 6.3 Namespaces in Functions

    17. Video 6.3.1 Namespaces in Functions
    18. Check for Understanding 6.3.2 Namespaces in Functions
    19. Example 6.3.3 Functions and Variables
    20. Example 6.3.4 Functions and Variables, Part 2
    21. Debugging 6.3.5 Fix This Program!
    22. Exercise 6.3.6 Adding to a Value
    23. Exercise 6.3.7 Add, Subtract, or Multiply
    24. 6.4 Functions and Return Values

    25. Video 6.4.1 Functions and Return Values
    26. Check for Understanding 6.4.2 Functions and Return Values
    27. Example 6.4.3 Return 10
    28. Exercise 6.4.4 Add One
    29. Example 6.4.5 Negate
    30. Example 6.4.6 Functions Calling Functions
    31. Example 6.4.7 Function Calls As Parameters
    32. Exercise 6.4.8 Sum Two Numbers
    33. Exercise 6.4.9 Temperature Converter
    34. Badge 6.4.10 Functions Badge
    35. 6.5 Exceptions

    36. Video 6.5.1 Exceptions
    37. Check for Understanding 6.5.2 Exceptions
    38. Example 6.5.3 Enter a Number
    39. Example 6.5.4 Enter Name and Age
    40. Exercise 6.5.5 Temperature Converter, Part 2
    41. Exercise 6.5.6 Enter a Positive Number
    42. 6.6 Functions Quiz

    43. Unit Quiz 6.6.1 Functions and Exceptions Quiz
    44. Badge 6.6.2 Control Flow Badge
  7. Strings

    1. 7.1 Indexing

    2. Video 7.1.1 Indexing
    3. Check for Understanding 7.1.2 Indexing
    4. Example 7.1.3 Characters in a String
    5. Video 7.1.4 Unit Tests
    6. Practice 7.1.5 Initials
    7. Practice 7.1.6 Sandwich Sandwiches
    8. 7.2 Slicing

    9. Video 7.2.1 Slicing
    10. Check for Understanding 7.2.2 Slicing
    11. Example 7.2.3 Groups of Characters
    12. Example 7.2.4 String Collage
    13. Example 7.2.5 Room Names
    14. Practice 7.2.6 If You're Not First, You're Last
    15. Practice 7.2.7 Part 1, Replace a Letter
    16. Practice 7.2.8 Part 2, Replace a Letter
    17. Badge 7.2.9 Slicing Badge
    18. 7.3 Immutability

    19. Video 7.3.1 Immutability
    20. Check for Understanding 7.3.2 Immutability
    21. Example 7.3.3 String Immutability
    22. Exercise 7.3.4 Find the Error
    23. 7.4 Strings and For Loops

    24. Video 7.4.1 Strings and For Loops
    25. Check for Understanding 7.4.2 Strings and For Loops
    26. Example 7.4.3 The len Function
    27. Practice 7.4.4 Length of User's Name
    28. Example 7.4.5 String For Loop with Indices
    29. Example 7.4.6 String For Loop with Characters
    30. Exercise 7.4.7 Spelling Bee
    31. Practice 7.4.8 Keeping Count
    32. 7.5 The in Keyword

    33. Video 7.5.1 The in Keyword
    34. Check for Understanding 7.5.2 The in Keyword
    35. Example 7.5.3 Contains a Letter
    36. Example 7.5.4 Contains a Substring
    37. Practice 7.5.5 Contains a Vowel
    38. 7.6 String Methods

    39. Video 7.6.1 String Methods
    40. Check for Understanding 7.6.2 String Methods
    41. Example 7.6.3 upper and lower
    42. Practice 7.6.4 ENTHUSIASM!
    43. Example 7.6.5 swapcase
    44. Example 7.6.6 strip
    45. Example 7.6.7 find
    46. Practice 7.6.8 What's in a Name?
    47. Practice 7.6.9 Part 1, Remove All From String
    48. Exercise 7.6.10 Part 2, Remove All From String
    49. Survey 7.6.11 Mindset Survey 3
    50. 7.7 Strings Quiz

    51. Unit Quiz 7.7.1 Strings Quiz
    52. Badge 7.7.2 Strings Badge
  8. Creating and Altering Data Structures

    1. 8.1 Tuples

    2. Video 8.1.1 Tuples
    3. Check for Understanding 8.1.2 Tuples
    4. Example 8.1.3 A Tuple Is a Sequence
    5. Example 8.1.4 A Tuple is Heterogenous
    6. Example 8.1.5 Tuples With a Single Element
    7. Example 8.1.6 Concatenating Tuples
    8. Exercise 8.1.7 Fix This Tuple
    9. Practice 8.1.8 Citation
    10. Practice 8.1.9 Diving Contest
    11. Practice 8.1.10 Coordinate Pairs
    12. 8.2 Lists

    13. Video 8.2.1 Lists
    14. Check for Understanding 8.2.2 Lists
    15. Example 8.2.3 A List Is Like a Mutable Tuple
    16. Example 8.2.4 String <--> List
    17. Practice 8.2.5 Spell It Out
    18. Example 8.2.6 Splitting a String
    19. Practice 8.2.7 Listed Greeting
    20. Example 8.2.8 List of Tuples, Tuples of Lists
    21. 8.3 For Loops and Lists

    22. Video 8.3.1 For Loops and Lists
    23. Check for Understanding 8.3.2 For Loops and Lists
    24. Example 8.3.3 For Loops and Lists
    25. Example 8.3.4 For Loops and Lists, Part 2
    26. Practice 8.3.5 Max In List
    27. Practice 8.3.6 Owls
    28. Practice 8.3.7 Exclamat!on Po!nts
    29. Challenge 8.3.8 Word Ladder
    30. Challenge 8.3.9 Owls, Part 2
    31. 8.4 List Methods

    32. Video 8.4.1 List Methods
    33. Check for Understanding 8.4.2 List Methods
    34. Example 8.4.3 append and extend
    35. Exercise 8.4.4 How Many Names?
    36. Exercise 8.4.5 Five Numbers
    37. Example 8.4.6 sort
    38. Exercise 8.4.7 Librarian
    39. Example 8.4.8 reverse
    40. Example 8.4.9 count
    41. Example 8.4.10 remove
    42. Practice 8.4.11 Take a Thing Out, Sort It and Reverse It
    43. Challenge 8.4.12 Librarian, Part 2
    44. Badge 8.4.13 Lists Badge
    45. 8.5 Creating and Altering Data Structures Quiz

    46. Unit Quiz 8.5.1 Creating and Altering Data Structures Quiz
  9. Extending Data Structures

    1. 9.1 2d Lists

    2. Video 9.1.1 2d Lists
    3. Check for Understanding 9.1.2 2d Lists
    4. Example 9.1.3 A List of Lists
    5. Example 9.1.4 Grid
    6. Example 9.1.5 2d Lists and Slices
    7. Exercise 9.1.6 Checkerboard, v1
    8. Exercise 9.1.7 Checkerboard, v2
    9. Exercise 9.1.8 Checkerboard, v3
    10. Challenge 9.1.9 Tic Tac Toe
    11. 9.2 List Comprehensions

    12. Video 9.2.1 List Comprehensions
    13. Check for Understanding 9.2.2 List Comprehensions
    14. Example 9.2.3 List of Consecutive Numbers
    15. Example 9.2.4 List of Squares
    16. Exercise 9.2.5 Divisible by 3
    17. Example 9.2.6 Digits of Pi
    18. Example 9.2.7 List of Booleans
    19. Exercise 9.2.8 Last Names
    20. Exercise 9.2.9 Strings To Integers
    21. Survey 9.2.10 Mindset Survey 4
    22. 9.3 Packing and Unpacking

    23. Video 9.3.1 Packing and Unpacking
    24. Check for Understanding 9.3.2 Packing and Unpacking
    25. Example 9.3.3 Packing
    26. Example 9.3.4 Unpacking
    27. Example 9.3.5 Unpacking Parameters
    28. Exercise 9.3.6 Coordinate Pair
    29. Exercise 9.3.7 Slopes
    30. Example 9.3.8 Swapping
    31. Exercise 9.3.9 Full Name & Citation
    32. Badge 9.3.10 Packing Badge
    33. 9.4 Dictionaries

    34. Video 9.4.1 Dictionaries
    35. Check for Understanding 9.4.2 Dictionaries
    36. Example 9.4.3 Keys and Values
    37. Example 9.4.4 The in Keyword
    38. Exercise 9.4.5 Phone Book
    39. Exercise 9.4.6 Word Counts
    40. 9.5 Equivalence vs. Identity

    41. Video 9.5.1 Equivalence vs. Identity
    42. Check for Understanding 9.5.2 Equivalence vs. Identity
    43. Example 9.5.3 Equivalence vs. Identity - Mutables
    44. Example 9.5.4 Equivalence vs. Identity - Immutables
    45. Example 9.5.5 Identity and Parameters
    46. Exercise 9.5.6 Swapping
    47. Exercise 9.5.7 Word Counts, Part 2
    48. 9.6 Extending Data Structures Quiz

    49. Unit Quiz 9.6.1 Extending Data Structures Quiz
    50. Badge 9.6.2 Data Structures Badge
  10. Project: Guess the Word

    1. 10.1 Project: Guess the Word

    2. Demo 10.1.1 Guess the Word Demo
    3. Exercise 10.1.2 Guess the Word, Part 1
    4. Exercise 10.1.3 Guess the Word, Part 2
    5. Exercise 10.1.4 Guess the Word, Part 3
    6. Exercise 10.1.5 Guess the Word, Part 4
    7. Badge 10.1.6 Guess the Word Badge
    8. 10.2 Intro to Computer Science in Python Completed

    9. Badge 10.2.1 Intro to Computer Science in Python Badge
  11. Final Exam

    1. 11.1 Final Exam

    2. Midterm 11.1.1 Final Exam Pt 1: Multiple Choice
  12. Classes and Objects

    1. 12.1 Classes and Objects

    2. Video 12.1.1 Classes and Objects
    3. Check for Understanding 12.1.2 Classes and Objects
    4. Example 12.1.3 The Point Class
    5. Exercise 12.1.4 The Rectangle Class, Part 1
    6. Example 12.1.5 The Point Class, Part 2
    7. Exercise 12.1.6 The Rectangle Class, Part 2
    8. 12.2 Methods

    9. Video 12.2.1 Methods
    10. Check for Understanding 12.2.2 Methods
    11. Example 12.2.3 The Point Class, Part 3
    12. Example 12.2.4 The Point Class, Part 4
    13. Exercise 12.2.5 The Rectangle Class, Part 3
    14. Exercise 12.2.6 The Rectangle Class, Part 4
    15. 12.3 Built-In Methods

    16. Video 12.3.1 Built-In Methods
    17. Check for Understanding 12.3.2 Built-In Methods
    18. Example 12.3.3 The __repr__ method
    19. Example 12.3.4 The __eq__ method
    20. Example 12.3.5 The Point Class, Part 5
    21. Exercise 12.3.6 The Rectangle Class, Part 5
    22. Exercise 12.3.7 The Rectangle Class, Part 6
    23. Example 12.3.8 Sheet Music
    24. Challenge 12.3.9 Names In a Hat
    25. 12.4 Operator Overloading

    26. Video 12.4.1 Operator Overloading
    27. Check for Understanding 12.4.2 Operator Overloading
    28. Example 12.4.3 The __add__ method
    29. Example 12.4.4 The Point Class, Part 6
    30. Exercise 12.4.5 The Rectangle Class, Part 7
    31. Exercise 12.4.6 The Rectangle Class, Part 8
    32. Exercise 12.4.7 Contact Merge
    33. 12.5 Class Variables vs. Instance Variables

    34. Video 12.5.1 Class Variables vs. Instance Variables
    35. Check for Understanding 12.5.2 Class Variables vs. Instance Variables
    36. Example 12.5.3 The Point Class, Part 7
    37. Exercise 12.5.4 The Rectangle Class, Part 9
    38. Example 12.5.5 Cars
    39. Exercise 12.5.6 Cars, Part 2
    40. Example 12.5.7 Cars, Part 3
    41. 12.6 Inheritance

    42. Video 12.6.1 Inheritance
    43. Check for Understanding 12.6.2 Inheritance
    44. Example 12.6.3 Animals
    45. Exercise 12.6.4 Food, Part 1
    46. Example 12.6.5 Animals with Lists
    47. Exercise 12.6.6 Food , Part 2
    48. 12.7 Hidden Attributes

    49. Video 12.7.1 Hidden Attributes
    50. Check for Understanding 12.7.2 Hidden Attributes
    51. Example 12.7.3 Secret Instance Variable
    52. Exercise 12.7.4 Only Even Rectangles Counted
    53. Example 12.7.5 Level Up
    54. Exercise 12.7.6 Triple and Halve
    55. 12.8 Namespaces

    56. Video 12.8.1 Namespaces
    57. Check for Understanding 12.8.2 Namespaces
    58. Example 12.8.3 Classes
    59. Example 12.8.4 Subclasses
    60. Exercise 12.8.5 Food, Part 3
    61. 12.9 Modules

    62. Video 12.9.1 Modules
    63. Check for Understanding 12.9.2 Modules
    64. Example 12.9.3 Importing Entire Module
    65. Example 12.9.4 Importing Individual Components
    66. Free Response 12.9.5 Benefits of Individual Importing
    67. Exercise 12.9.6 Using the Math Module
    68. 12.10 Classes and Objects Quiz

    69. Unit Quiz 12.10.1 Classes and Objects Unit Test
    70. Badge 12.10.2 Classes and Objects Badge
  13. Advanced Tracy Challenges

    1. 13.1 Advanced Challenges with Tracy

    2. Challenge 13.1.1 Half Pyramid
    3. Challenge 13.1.2 Pizza
    4. Challenge 13.1.3 Block Pyramid 2.0
  14. Midterm

    1. 14.1 Midterm

    2. Final 14.1.1 Intro to Python Midterm Pt. 1- Multiple Choice
  15. Additional Topics

    1. 15.1 Short Circuit Evaluation

    2. Video 15.1.1 Short Circuit Evaluation
    3. Check for Understanding 15.1.2 Short Circuit Evaluation
    4. Example 15.1.3 Road Trip
    5. Exercise 15.1.4 Divisibility
    6. Badge 15.1.5 Short Circuit Badge
    7. 15.2 De Morgan's Laws

    8. Video 15.2.1 De Morgan's Laws
    9. Check for Understanding 15.2.2 De Morgan's Laws
    10. Example 15.2.3 De Morgan's Law for AND
    11. Example 15.2.4 De Morgan's Law for OR
    12. Exercise 15.2.5 Amusement Park
    13. 15.3 Abstraction

    14. Video 15.3.1 Abstraction
    15. Check for Understanding 15.3.2 Abstraction
    16. Example 15.3.3 Abstracting Away draw_square()
    17. Free Response 15.3.4 Abstracting Your Day
    18. Free Response 15.3.5 Reflection: Abstraction
    19. Free Response 15.3.6 Abstraction in Tracy
    20. 15.4 Adding Text

    21. Video 15.4.1 Adding Text
    22. Quiz 15.4.2 Adding Text
    23. Example 15.4.3 Concentric Circles with Labels
    24. Exercise 15.4.4 Name your Colorful Caterpillar!
    25. Exercise 15.4.5 Baseball Diagram
  16. Project: Who Said It?

    1. 16.1 Project: Who Said It?

    2. Video 16.1.1 File I/O
    3. Check for Understanding 16.1.2 File I/O
    4. Demo 16.1.3 Who Said It? Demo
    5. Exercise 16.1.4 Who Said It? - Part 1
    6. Exercise 16.1.5 Who Said It? - Part 2
    7. Exercise 16.1.6 Who Said It? - Part 3
    8. Exercise 16.1.7 Who Said It? - Part 4
    9. Badge 16.1.8 Who Said It? Badge
  17. Python Graphics (Tkinter)

    1. 17.1 Creating the Canvas

    2. Video 17.1.1 Creating the Canvas
    3. Check for Understanding 17.1.2 Creating the Canvas
    4. Example 17.1.3 Create the Canvas
    5. Example 17.1.4 X Marks the Spot
    6. Exercise 17.1.5 Tic Tac Toe Board
    7. Exercise 17.1.6 Bubble Letter
    8. 17.2 Shapes and Attributes

    9. Video 17.2.1 Shapes and Attributes
    10. Check for Understanding 17.2.2 Shapes and Attributes
    11. Example 17.2.3 Flag of Japan
    12. Exercise 17.2.4 Flag of Poland
    13. Exercise 17.2.5 Flag of [your choice!]
    14. 17.3 Creating Graphics Using Variables

    15. Video 17.3.1 Creating Graphics Using Variables
    16. Check for Understanding 17.3.2 Creating Graphics Using Variables
    17. Example 17.3.3 Flag of Japan Using Variables
    18. Example 17.3.4 Creating Shapes
    19. Exercise 17.3.5 Snowman
    20. Challenge 17.3.6 Ghost
    21. 17.4 Using Functions in Graphics

    22. Video 17.4.1 Using Functions in Graphics
    23. Check for Understanding 17.4.2 Using Functions in Graphics
    24. Example 17.4.3 Balloons
    25. Exercise 17.4.4 Vertical Lines
    26. Exercise 17.4.5 Stoplight
    27. Challenge 17.4.6 Ghost Invasion
    28. 17.5 Using Loops in Graphics

    29. Video 17.5.1 Using Loops in Graphics
    30. Check for Understanding 17.5.2 Using Loops in Graphics
    31. Example 17.5.3 Phone Signal
    32. Exercise 17.5.4 The Worm
    33. Exercise 17.5.5 Growing Circles
    34. Challenge 17.5.6 Sidewalk
    35. 17.6 Graphics Challenges

    36. Challenge 17.6.1 Block Tower
  18. Project: Mastermind

    1. 18.1 Let's Build Mastermind

    2. Connection 18.1.1 How to Play Mastermind
    3. Demo 18.1.2 Mastermind: Demo
    4. Exercise 18.1.3 Generate Number List
    5. Exercise 18.1.4 Get User Guess
    6. Exercise 18.1.5 Compare User Guess to List
    7. Exercise 18.1.6 Check if User has Won
    8. Exercise 18.1.7 Finish the Game!
  19. Categorizing Triangles

    1. 19.1 Calculating Area

    2. Video 19.1.1 Calculating Area
    3. Check for Understanding 19.1.2 Calculating Area
    4. Example 19.1.3 Drawing a Custom Triangle
    5. Exercise 19.1.4 Calculate the Area
    6. 19.2 Categorizing Triangles with a Static Base Value

    7. Video 19.2.1 Categorizing Triangles with a Static Base Value
    8. Check for Understanding 19.2.2 Categorizing Triangles with a Static Base Value
    9. Example 19.2.3 Categorizing Obtuse Triangles
    10. Exercise 19.2.4 Putting Triangles into Categories
    11. 19.3 Categorizing Triangles with a Varied Base Value

    12. Video 19.3.1 Categorizing Triangles with a Varied Base Value
    13. Check for Understanding 19.3.2 Categorizing Triangles with a Varied Base Value
    14. Example 19.3.3 Categorizing Obtuse Triangles using Variables
    15. Exercise 19.3.4 Using Variables to Calculate Area
    16. Exercise 19.3.5 Putting Triangles into Categories using Variables
  20. Extra Resources

    1. 20.1 Extra Resources

  21. Using and Storing Data

    1. 21.1 Using Requests

    2. Exercise 21.1.1 Create a Dictionary
    3. Exercise 21.1.2 Create a Dictionary with Requests
    4. Example 21.1.3 Amazon Best Sellers List
  22. Python Graphics (Brython)

    1. 22.1 Creating Text & Lines

    2. Video 22.1.1 Creating Text & Lines
    3. Quiz 22.1.2 Creating Text & Lines
    4. Example 22.1.3 Hello World
    5. Example 22.1.4 "Tracy"
    6. Exercise 22.1.5 Tic Tac Toe Board
    7. Exercise 22.1.6 Underlined Name
    8. Challenge 22.1.7 Bubble Letter
    9. 22.2 Creating Shapes

    10. Video 22.2.1 Creating Shapes
    11. Quiz 22.2.2 Shapes and Attributes
    12. Example 22.2.3 Flag of Switzerland
    13. Exercise 22.2.4 Flag of Ukraine
    14. Exercise 22.2.5 Flag of [your choice!]
    15. 22.3 Creating Graphics Using Variables

    16. Video 22.3.1 Creating Graphics Using Variables
    17. Quiz 22.3.2 Creating Graphics Using Variables
    18. Example 22.3.3 Flag of Switzerland Using Variables
    19. Exercise 22.3.4 Flag of Ukraine Using Variables
    20. Exercise 22.3.5 Snowman
    21. Challenge 22.3.6 Ghost
    22. 22.4 Using Functions in Graphics

    23. Video 22.4.1 Using Functions in Graphics
    24. Quiz 22.4.2 Using Functions in Graphics
    25. Example 22.4.3 Forest
    26. Exercise 22.4.4 Vertical Lines
    27. Exercise 22.4.5 Stoplight
    28. Challenge 22.4.6 Ghost Invasion
    29. 22.5 Using Loops in Graphics

    30. Video 22.5.1 Using Loops in Graphics
    31. Quiz 22.5.2 Using Loops in Graphics
    32. Example 22.5.3 Diagonal Checkerboard
    33. Exercise 22.5.4 The Worm
    34. Exercise 22.5.5 Dartboard
    35. Challenge 22.5.6 Sidewalk
    36. 22.6 Graphics Challenges

    37. Challenge 22.6.1 Pyramid
    38. Challenge 22.6.2 Extended Forest
  23. Karel in Python

    1. 23.1 Welcome to AP CSP

    2. Video 23.1.1 Welcome to AP CSP
    3. Free Response 23.1.2 Why AP CSP?
    4. 23.2 Introduction to Programming With Karel

    5. Video 23.2.1 Introduction to Programming With Karel
    6. Check for Understanding 23.2.2 Quiz: Karel Commands
    7. Example 23.2.3 Our First Karel Program
    8. Exercise 23.2.4 Your First Karel Program
    9. Exercise 23.2.5 Short Stack
    10. Debugging 23.2.6 Dancing Karel
    11. 23.3 More Basic Karel

    12. Video 23.3.1 More Basic Karel
    13. Check for Understanding 23.3.2 More Basic Karel Quiz
    14. Example 23.3.3 Tennis Ball Square
    15. Exercise 23.3.4 Make a Tower
    16. Exercise 23.3.5 Pyramid of Karel
    17. Debugging 23.3.6 Go Through the Door
    18. 23.4 Karel Can't Turn Right

    19. Video 23.4.1 Karel Can't Turn Right
    20. Check for Understanding 23.4.2 Karel Can't Turn Right Quiz
    21. Example 23.4.3 Tower and Turn Right
    22. Exercise 23.4.4 Fireman Karel
    23. Exercise 23.4.5 Slide Karel
    24. Free Response 23.4.6 Reflection: Teaching Karel New Commands
    25. Badge 23.4.7 Right Turn Karel Badge
    26. 23.5 Functions in Karel

    27. Video 23.5.1 Functions in Karel
    28. Check for Understanding 23.5.2 Functions in Karel Quiz
    29. Example 23.5.3 Turn Around
    30. Exercise 23.5.4 Pancakes
    31. Exercise 23.5.5 Backflip
    32. Exercise 23.5.6 Digging Karel
    33. Debugging 23.5.7 Build a Shelter
    34. 23.6 Top Down Design and Decomposition in Karel

    35. Video 23.6.1 Top Down Design and Decomposition in Karel
    36. Check for Understanding 23.6.2 Top Down Design and Decomposition Quiz
    37. Example 23.6.3 Hurdle Karel
    38. Exercise 23.6.4 The Two Towers
    39. Debugging 23.6.5 Make a 'Z'
    40. Free Response 23.6.6 Reflection: Top Down Design
    41. 23.7 Commenting Your Code

    42. Video 23.7.1 Commenting Your Code
    43. Check for Understanding 23.7.2 Commenting Your Code Quiz
    44. Example 23.7.3 Hurdle Karel
    45. Exercise 23.7.4 The Two Towers + Comments
    46. Free Response 23.7.5 Reflection: Commenting
    47. 23.8 Abstraction

    48. Video 23.8.1 Abstraction
    49. Check for Understanding 23.8.2 Abstraction Quiz
    50. Example 23.8.3 Abstracting Away build_tower
    51. Free Response 23.8.4 Abstracting Your Day
    52. Free Response 23.8.5 Reflection: Abstraction
    53. Free Response 23.8.6 Reflection: Abstraction in Karel
    54. 23.9 Super Karel

    55. Video 23.9.1 Super Karel
    56. Check for Understanding 23.9.2 Super Karel Quiz
    57. Example 23.9.3 Hurdle Karel (with SuperKarel)
    58. Exercise 23.9.4 The Two Towers + SuperKarel
    59. Badge 23.9.5 Super Karel Badge
    60. 23.10 For Loops

    61. Video 23.10.1 For Loops
    62. Check for Understanding 23.10.2 For Loops Quiz
    63. Example 23.10.3 Repeated Move
    64. Example 23.10.4 Put Down Tennis Balls
    65. Exercise 23.10.5 Take 'em All
    66. Exercise 23.10.6 Dizzy Karel
    67. Exercise 23.10.7 For Loop Square
    68. Exercise 23.10.8 Lots of Hurdles
    69. 23.11 If Statements

    70. Video 23.11.1 If Statements
    71. Check for Understanding 23.11.2 If Statements Quiz
    72. Example 23.11.3 If Statements
    73. Example 23.11.4 Safe Take Ball
    74. Exercise 23.11.5 Is There a Ball?
    75. Survey 23.11.6 Mindsets
    76. 23.12 If/Else Statements

    77. Video 23.12.1 If/Else Statements
    78. Check for Understanding 23.12.2 If/Else Statements Quiz
    79. Example 23.12.3 If/Else Statements
    80. Example 23.12.4 One Ball in Each Spot
    81. Exercise 23.12.5 Right Side Up
    82. Badge 23.12.6 Conditional Karel Badge
    83. 23.13 While Loops in Karel

    84. Video 23.13.1 While Loops in Karel
    85. Check for Understanding 23.13.2 While Loops in Karel Quiz
    86. Example 23.13.3 Move to Wall
    87. Exercise 23.13.4 Follow The Yellow Ball Road
    88. Exercise 23.13.5 Lay Row of Tennis Balls
    89. Exercise 23.13.6 Big Tower
    90. 23.14 Control Structures Example

    91. Video 23.14.1 Control Structures Example
    92. Check for Understanding 23.14.2 Control Structures Example Quiz
    93. Example 23.14.3 Cleanup Karel
    94. Exercise 23.14.4 Random Hurdles
    95. 23.15 Debugging Strategies

    96. Video 23.15.1 Debugging Basics
    97. Check for Understanding 23.15.2 Debugging Basics
    98. Debugging 23.15.3 Debug: The Two Towers
    99. Debugging 23.15.4 Debug: Lots of Hurdles
    100. Video 23.15.5 Debugging From Error Messages
    101. Check for Understanding 23.15.6 Debugging with Error Messages
    102. Debugging 23.15.7 Debug: Big Tower
    103. Debugging 23.15.8 Debug: Random Hurdles
    104. 23.16 Algorithms

    105. Video 23.16.1 Karel Algorithms
    106. Check for Understanding 23.16.2 Quiz: Which Control Structure?
    107. Video 23.16.3 Algorithms Example: Move Stack
    108. Example 23.16.4 Move Tennis Ball Stack
    109. Example 23.16.5 Climbing Karel
    110. Exercise 23.16.6 Decorate the Fence
    111. 23.17 Ultra Karel

    112. Video 23.17.1 Ultra Karel
    113. Check for Understanding 23.17.2 Ultra Karel Quiz
    114. Example 23.17.3 Red Frame
    115. Example 23.17.4 Slip 'n Slide
    116. Exercise 23.17.5 Invert Colors
    117. Exercise 23.17.6 Checkerboard Karel
    118. Badge 23.17.7 Karel Exercises Badge
    119. 23.18 Karel Challenges

    120. Challenge 23.18.1 Fetch
    121. Challenge 23.18.2 Racing Karel
    122. Challenge 23.18.3 Tower Builder
    123. Challenge 23.18.4 Super Cleanup Karel
    124. Challenge 23.18.5 Double Tennis Balls
    125. Badge 23.18.6 Programming with Karel Bootcamp Badge
    126. 23.19 Introduction to Programming Quiz

    127. Unit Quiz 23.19.1 Introduction to Programming Quiz
  24. Python Level 1 Certification Practice

    1. 24.1 Practice #1: Basic Python and Console Interactions

    2. Quiz 24.1.1 Quiz: Basic Python and Console Interaction
    3. Notes 24.1.2 Practice #1 Reflection
    4. 24.2 Practice #2: Conditionals

    5. Quiz 24.2.1 Quiz: Conditionals
    6. Notes 24.2.2 Practice #2 Reflection
    7. 24.3 Practice #3: Looping

    8. Quiz 24.3.1 Quiz: Looping
    9. Notes 24.3.2 Practice #3 Reflection
    10. 24.4 Practice #4: Strings

    11. Quiz 24.4.1 Quiz: Strings
    12. Notes 24.4.2 Practice #4 Reflection
    13. 24.5 Practice #5: Functions and Exceptions

    14. Quiz 24.5.1 Quiz: Functions and Exceptions
    15. Notes 24.5.2 Practice #5 Reflection
    16. 24.6 Practice #6: Data Structures

    17. Quiz 24.6.1 Quiz: Data Structures
    18. Notes 24.6.2 Practice #6 Reflection