Please enable JavaScript to use CodeHS

Alternate Exercises: Intro to CS 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. Basic Python and Console Interaction

    1. 2.1 Printing in Python

    2. Exercise 2.1.1 Introduce Yourself
    3. Debugging 2.1.2 Fix This Program!
    4. Debugging 2.1.3 Fix This Program!
    5. Exercise 2.1.4 Vertical name
    6. 2.2 Variables and Types

    7. Exercise 2.2.1 Make Some Variables!
    8. Debugging 2.2.2 Undefined Variables
    9. Debugging 2.2.3 Undefined Variables
    10. 2.3 User Input

    11. Exercise 2.3.1 Hello <name>
    12. Exercise 2.3.2 Hello <name>
    13. Exercise 2.3.3 Age
    14. 2.4 Mathematical Operators

    15. Exercise 2.4.1 Add Parentheses
    16. Exercise 2.4.2 Add Parentheses
    17. Exercise 2.4.3 Rectangle
    18. 2.5 String Operators

    19. Debugging 2.5.1 Fix This Program
    20. Debugging 2.5.2 Fix This Program
    21. Exercise 2.5.3 Introduce Yourself, Part 2
    22. Exercise 2.5.4 Rectangle, Part 2
    23. Exercise 2.5.5 Rectangle, Part 3
    24. Challenge 2.5.6 Recipe
    25. 2.6 Comments

    26. Exercise 2.6.1 Add Comments!
    27. Exercise 2.6.2 Add Comments!
    28. 2.7 Basic Python and Console Interaction Quiz

    29. Unit Quiz 2.7.1 Basic Python and Console Interaction Quiz
    30. Badge 2.7.2 Basic Python and Console Interaction Badge
  3. Conditionals

    1. 3.1 Booleans

    2. Video 3.1.1 Booleans
    3. Check for Understanding 3.1.2 Booleans
    4. Example 3.1.3 Boolean Variables
    5. Debugging 3.1.4 Fix This Program
    6. Exercise 3.1.5 Plants - original
    7. Exercise 3.1.6 Plants
    8. Exercise 3.1.7 Plants
    9. 3.2 If Statements

    10. Video 3.2.1 If Statements
    11. Check for Understanding 3.2.2 If Statements
    12. Example 3.2.3 Your First If Statement
    13. Example 3.2.4 If/Else Statement
    14. Debugging 3.2.5 Fix This Program
    15. Exercise 3.2.6 Is It Raining? - original
    16. Exercise 3.2.7 Is It Raining?
    17. Exercise 3.2.8 Is It Raining?
    18. Badge 3.2.9 Conditional Badge
    19. 3.3 Comparison Operators

    20. Video 3.3.1 Comparison Operators
    21. Check for Understanding 3.3.2 Comparison Operators
    22. Example 3.3.3 Comparison Operators
    23. Example 3.3.4 High Jump
    24. Example 3.3.5 Roller Coaster
    25. Exercise 3.3.6 Old Enough to Vote? - original
    26. Exercise 3.3.7 Old Enough to Vote?
    27. Exercise 3.3.8 Old Enough to Vote?
    28. Exercise 3.3.9 Positive, Zero, or Negative?
    29. Example 3.3.10 Age Group
    30. Exercise 3.3.11 Table Reservation
    31. Challenge 3.3.12 Transaction
    32. 3.4 Logical Operators

    33. Video 3.4.1 Logical Operators
    34. Check for Understanding 3.4.2 Logical Operators
    35. Example 3.4.3 Logical Operators
    36. Exercise 3.4.4 Administrators, Teachers, and Students - original
    37. Exercise 3.4.5 Administrators, Teachers, and Students
    38. Exercise 3.4.6 Administrators, Teachers, and Students
    39. Exercise 3.4.7 Presidential Eligibility
    40. Challenge 3.4.8 Presidential Eligibility- Extended
    41. 3.5 Floating Point Numbers and Rounding

    42. Video 3.5.1 Floating Point Numbers and Rounding
    43. Check for Understanding 3.5.2 Floating Point Numbers and Rounding
    44. Example 3.5.3 Rounding Error
    45. Exercise 3.5.4 Correct Portion - original
    46. Exercise 3.5.5 Correct Portion
    47. Exercise 3.5.6 Correct Portion
    48. 3.6 Conditionals Quiz

    49. Unit Quiz 3.6.1 Conditionals Quiz
  4. Looping

    1. 4.1 While Loops

    2. Exercise 4.1.1 2 Through 20 Even
    3. Exercise 4.1.2 2 Through 20 Even
    4. Exercise 4.1.3 Divisibility
    5. 4.2 For Loops

    6. Exercise 4.2.1 Counting 10 to 100 by Tens
    7. Exercise 4.2.2 Counting 10 to 100 by Tens
    8. Exercise 4.2.3 Average Test Score
    9. Exercise 4.2.4 How Many Names?
    10. 4.3 Break and Continue

    11. Exercise 4.3.1 Higher/ Lower
    12. Challenge 4.3.2 Higher / Lower 2.0
    13. 4.4 Nested Control Structures

    14. Exercise 4.4.1 Rolling Dice
    15. Exercise 4.4.2 Rolling Dice
    16. Exercise 4.4.3 Categories
    17. 4.5 Looping Quiz

    18. Unit Quiz 4.5.1 Looping Unit Test
  5. Functions and Exceptions

    1. 5.1 Functions

    2. Video 5.1.1 Functions
    3. Check for Understanding 5.1.2 Functions
    4. Example 5.1.3 Greeting
    5. Example 5.1.4 Extended Greeting
    6. Exercise 5.1.5 Weather - original
    7. Exercise 5.1.6 Weather
    8. Exercise 5.1.7 Weather
    9. 5.2 Functions and Parameters

    10. Video 5.2.1 Functions and Parameters
    11. Check for Understanding 5.2.2 Functions and Parameters
    12. Example 5.2.3 Print a Value
    13. Example 5.2.4 Name and Age
    14. Exercise 5.2.5 Print Product - original
    15. Exercise 5.2.6 Print Product
    16. Exercise 5.2.7 Print Product
    17. Exercise 5.2.8 Print Multiple Times
    18. Example 5.2.9 Default Parameter Values
    19. Exercise 5.2.10 Area of a Square with Default Parameters
    20. 5.3 Namespaces in Functions

    21. Video 5.3.1 Namespaces in Functions
    22. Check for Understanding 5.3.2 Namespaces in Functions
    23. Example 5.3.3 Functions and Variables
    24. Example 5.3.4 Functions and Variables, Part 2
    25. Debugging 5.3.5 Fix This Program!
    26. Exercise 5.3.6 Adding to a Value - original
    27. Exercise 5.3.7 Adding to a Value
    28. Exercise 5.3.8 Adding to a Value
    29. Exercise 5.3.9 Add, Subtract, or Multiply
    30. 5.4 Functions and Return Values

    31. Video 5.4.1 Functions and Return Values
    32. Check for Understanding 5.4.2 Functions and Return Values
    33. Example 5.4.3 Return 10
    34. Exercise 5.4.4 Add One
    35. Example 5.4.5 Negate
    36. Example 5.4.6 Functions Calling Functions
    37. Example 5.4.7 Function Calls As Parameters
    38. Exercise 5.4.8 Sum Two Numbers - original
    39. Exercise 5.4.9 Sum Two Numbers
    40. Exercise 5.4.10 Sum Two Numbers
    41. Exercise 5.4.11 Temperature Converter
    42. Badge 5.4.12 Functions Badge
    43. 5.5 Exceptions

    44. Video 5.5.1 Exceptions
    45. Check for Understanding 5.5.2 Exceptions
    46. Example 5.5.3 Enter a Number
    47. Example 5.5.4 Enter Name and Age
    48. Exercise 5.5.5 Temperature Converter, Part 2
    49. Exercise 5.5.6 Enter a Positive Number - original
    50. Exercise 5.5.7 Enter a Positive Number
    51. Exercise 5.5.8 Enter a Positive Number
    52. 5.6 Functions & Exceptions Quiz

    53. Unit Quiz 5.6.1 Functions and Exceptions Quiz
    54. Badge 5.6.2 Control Flow Badge
  6. Strings

    1. 6.1 Indexing

    2. Practice 6.1.1 Initials
    3. Practice 6.1.2 Initials
    4. Practice 6.1.3 Sandwich Sandwiches
    5. 6.2 Slicing

    6. Practice 6.2.1 If You're Not First, You're Last
    7. Practice 6.2.2 If You're Not First, You're Last
    8. Practice 6.2.3 Part 1, Replace a Letter
    9. Practice 6.2.4 Part 2, Replace a Letter
    10. 6.3 Immutability

    11. Exercise 6.3.1 Find the Error
    12. Exercise 6.3.2 Find the Error
    13. 6.4 Strings and For Loops

    14. Practice 6.4.1 Length of User's Name
    15. Exercise 6.4.2 Spelling Bee
    16. Exercise 6.4.3 Spelling Bee
    17. Practice 6.4.4 Keeping Count
    18. 6.5 The in Keyword

    19. Practice 6.5.1 Contains a Vowel
    20. Practice 6.5.2 Contains a Vowel
    21. 6.6 String Methods

    22. Practice 6.6.1 ENTHUSIASM!
    23. Practice 6.6.2 What's in a Name?
    24. Practice 6.6.3 Part 1, Remove All From String
    25. Exercise 6.6.4 Part 2, Remove All From String
    26. 6.7 Strings Quiz

    27. Unit Quiz 6.7.1 Strings Quiz
    28. Badge 6.7.2 Strings Badge
  7. Creating and Altering Data Structures

    1. 7.1 Tuples

    2. Exercise 7.1.1 Fix This Tuple
    3. Practice 7.1.2 Citation
    4. Practice 7.1.3 Diving Contest
    5. Practice 7.1.4 Coordinate Pairs
    6. Exercise 7.1.5 Fix This Tuple
    7. Exercise 7.1.6 Fix This Tuple
    8. 7.2 Lists

    9. Practice 7.2.1 Spell It Out
    10. Practice 7.2.2 Listed Greeting
    11. Practice 7.2.3 Listed Greeting
    12. Practice 7.2.4 Listed Greeting
    13. 7.3 For Loops and Lists

    14. Practice 7.3.1 Max In List
    15. Practice 7.3.2 Max In List
    16. Practice 7.3.3 Max In List
    17. Practice 7.3.4 Owls
    18. Practice 7.3.5 Exclamat!on Po!nts
    19. Challenge 7.3.6 Word Ladder
    20. Challenge 7.3.7 Owls, Part 2
    21. 7.4 List Methods

    22. Exercise 7.4.1 How Many Names?
    23. Exercise 7.4.2 Five Numbers
    24. Exercise 7.4.3 Librarian
    25. Practice 7.4.4 Take a Thing Out, Sort It and Reverse It
    26. Practice 7.4.5 Take a Thing Out, Sort It and Reverse It
    27. Practice 7.4.6 Take a Thing Out, Sort It and Reverse It
    28. Challenge 7.4.7 Librarian, Part 2
    29. 7.5 Creating and Altering Data Structures Quiz

    30. Unit Quiz 7.5.1 Creating and Altering Data Structures Quiz
  8. Extending Data Structures

    1. 8.1 2d Lists

    2. Exercise 8.1.1 Checkerboard, v1
    3. Exercise 8.1.2 Checkerboard, v2
    4. Exercise 8.1.3 Checkerboard, v3
    5. 8.2 List Comprehensions

    6. Exercise 8.2.1 Divisible by 3
    7. Exercise 8.2.2 Last Names
    8. Exercise 8.2.3 Last Names
    9. Exercise 8.2.4 Strings To Integers
    10. 8.3 Packing and Unpacking

    11. Exercise 8.3.1 Coordinate Pair
    12. Exercise 8.3.2 Coordinate Pair
    13. Exercise 8.3.3 Slopes
    14. Exercise 8.3.4 Full Name & Citation
    15. 8.4 Dictionaries

    16. Exercise 8.4.1 Phone Book
    17. Exercise 8.4.2 Word Counts
    18. Exercise 8.4.3 Word Counts
    19. 8.5 Equivalence vs. Identity

    20. Exercise 8.5.1 Swapping
    21. Exercise 8.5.2 Word Counts, Part 2
    22. Exercise 8.5.3 Word Counts, Part 2
    23. 8.6 Extending Data Structures Quiz

    24. Unit Quiz 8.6.1 Extending Data Structures Quiz
    25. Badge 8.6.2 Data Structures Badge
  9. Project: Guess the Word

    1. 9.1 Project: Guess the Word

    2. Demo 9.1.1 Guess the Word Demo
    3. Exercise 9.1.2 Guess the Word, Part 1
    4. Exercise 9.1.3 Guess the Word, Part 2
    5. Exercise 9.1.4 Guess the Word, Part 3
    6. Exercise 9.1.5 Guess the Word, Part 4
    7. Badge 9.1.6 Guess the Word Badge
    8. 9.2 Intro to Computer Science in Python Completed

    9. Badge 9.2.1 Intro to Computer Science in Python Badge
  10. Final Exam

    1. 10.1 Final Exam

    2. Midterm 10.1.1 Final Exam Pt 1: Multiple Choice
  11. Classes and Objects

    1. 11.1 Classes and Objects

    2. Video 11.1.1 Classes and Objects
    3. Check for Understanding 11.1.2 Classes and Objects
    4. Example 11.1.3 The Point Class
    5. Exercise 11.1.4 The Rectangle Class, Part 1
    6. Example 11.1.5 The Point Class, Part 2
    7. Exercise 11.1.6 The Rectangle Class, Part 2
    8. 11.2 Methods

    9. Video 11.2.1 Methods
    10. Check for Understanding 11.2.2 Methods
    11. Example 11.2.3 The Point Class, Part 3
    12. Example 11.2.4 The Point Class, Part 4
    13. Exercise 11.2.5 The Rectangle Class, Part 3
    14. Exercise 11.2.6 The Rectangle Class, Part 4
    15. 11.3 Built-In Methods

    16. Video 11.3.1 Built-In Methods
    17. Check for Understanding 11.3.2 Built-In Methods
    18. Example 11.3.3 The __repr__ method
    19. Example 11.3.4 The __eq__ method
    20. Example 11.3.5 The Point Class, Part 5
    21. Exercise 11.3.6 The Rectangle Class, Part 5
    22. Exercise 11.3.7 The Rectangle Class, Part 6
    23. Example 11.3.8 Sheet Music
    24. Challenge 11.3.9 Names In a Hat
    25. 11.4 Operator Overloading

    26. Video 11.4.1 Operator Overloading
    27. Check for Understanding 11.4.2 Operator Overloading
    28. Example 11.4.3 The __add__ method
    29. Example 11.4.4 The Point Class, Part 6
    30. Exercise 11.4.5 The Rectangle Class, Part 7
    31. Exercise 11.4.6 The Rectangle Class, Part 8
    32. Exercise 11.4.7 Contact Merge
    33. 11.5 Class Variables vs. Instance Variables

    34. Video 11.5.1 Class Variables vs. Instance Variables
    35. Check for Understanding 11.5.2 Class Variables vs. Instance Variables
    36. Example 11.5.3 The Point Class, Part 7
    37. Exercise 11.5.4 The Rectangle Class, Part 9
    38. Example 11.5.5 Cars
    39. Exercise 11.5.6 Cars, Part 2
    40. Example 11.5.7 Cars, Part 3
    41. 11.6 Inheritance

    42. Video 11.6.1 Inheritance
    43. Check for Understanding 11.6.2 Inheritance
    44. Example 11.6.3 Animals
    45. Exercise 11.6.4 Food, Part 1
    46. Example 11.6.5 Animals with Lists
    47. Exercise 11.6.6 Food , Part 2
    48. 11.7 Hidden Attributes

    49. Video 11.7.1 Hidden Attributes
    50. Check for Understanding 11.7.2 Hidden Attributes
    51. Example 11.7.3 Secret Instance Variable
    52. Exercise 11.7.4 Only Even Rectangles Counted
    53. Example 11.7.5 Level Up
    54. Exercise 11.7.6 Triple and Halve
    55. 11.8 Namespaces

    56. Video 11.8.1 Namespaces
    57. Check for Understanding 11.8.2 Namespaces
    58. Example 11.8.3 Classes
    59. Example 11.8.4 Subclasses
    60. Exercise 11.8.5 Food, Part 3
    61. 11.9 Modules

    62. Video 11.9.1 Modules
    63. Check for Understanding 11.9.2 Modules
    64. Example 11.9.3 Importing Entire Module
    65. Example 11.9.4 Importing Individual Components
    66. Free Response 11.9.5 Benefits of Individual Importing
    67. Exercise 11.9.6 Using the Math Module
    68. 11.10 Unit Quiz

    69. Unit Quiz 11.10.1 Classes and Objects Unit Test
    70. Badge 11.10.2 Classes and Objects Badge
  12. Advanced Tracy Challenges

    1. 12.1 Advanced Challenges with Tracy

    2. Challenge 12.1.1 Half Pyramid
    3. Challenge 12.1.2 Pizza
    4. Challenge 12.1.3 Block Pyramid 2.0
  13. Midterm

    1. 13.1 Midterm

    2. Final 13.1.1 Intro to Python Midterm Pt. 1- Multiple Choice
  14. Additional Topics

    1. 14.1 Short Circuit Evaluation

    2. Video 14.1.1 Short Circuit Evaluation
    3. Check for Understanding 14.1.2 Short Circuit Evaluation
    4. Example 14.1.3 Road Trip
    5. Exercise 14.1.4 Divisibility
    6. Badge 14.1.5 Short Circuit Badge
    7. 14.2 De Morgan's Laws

    8. Video 14.2.1 De Morgan's Laws
    9. Check for Understanding 14.2.2 De Morgan's Laws
    10. Example 14.2.3 De Morgan's Law for AND
    11. Example 14.2.4 De Morgan's Law for OR
    12. Exercise 14.2.5 Amusement Park
    13. 14.3 Abstraction

    14. Video 14.3.1 Abstraction
    15. Check for Understanding 14.3.2 Abstraction
    16. Example 14.3.3 Abstracting Away draw_square()
    17. Free Response 14.3.4 Abstracting Your Day
    18. Free Response 14.3.5 Reflection: Abstraction
    19. Free Response 14.3.6 Abstraction in Tracy
    20. 14.4 Adding Text

    21. Video 14.4.1 Adding Text
    22. Quiz 14.4.2 Adding Text
    23. Example 14.4.3 Concentric Circles with Labels
    24. Exercise 14.4.4 Name your Colorful Caterpillar!
    25. Exercise 14.4.5 Baseball Diagram
  15. Project: Who Said It?

    1. 15.1 Project: Who Said It?

    2. Video 15.1.1 File I/O
    3. Check for Understanding 15.1.2 File I/O
    4. Demo 15.1.3 Who Said It? Demo
    5. Exercise 15.1.4 Who Said It? - Part 1
    6. Exercise 15.1.5 Who Said It? - Part 2
    7. Exercise 15.1.6 Who Said It? - Part 3
    8. Exercise 15.1.7 Who Said It? - Part 4
    9. Badge 15.1.8 Who Said It? Badge
  16. Python Graphics (Tkinter)

    1. 16.1 Creating the Canvas

    2. Video 16.1.1 Creating the Canvas
    3. Check for Understanding 16.1.2 Creating the Canvas
    4. Example 16.1.3 Create the Canvas
    5. Example 16.1.4 X Marks the Spot
    6. Exercise 16.1.5 Tic Tac Toe Board
    7. Exercise 16.1.6 Bubble Letter
    8. 16.2 Shapes and Attributes

    9. Video 16.2.1 Shapes and Attributes
    10. Check for Understanding 16.2.2 Shapes and Attributes
    11. Example 16.2.3 Flag of Japan
    12. Exercise 16.2.4 Flag of Poland
    13. Exercise 16.2.5 Flag of [your choice!]
    14. 16.3 Creating Graphics Using Variables

    15. Video 16.3.1 Creating Graphics Using Variables
    16. Check for Understanding 16.3.2 Creating Graphics Using Variables
    17. Example 16.3.3 Flag of Japan Using Variables
    18. Example 16.3.4 Creating Shapes
    19. Exercise 16.3.5 Snowman
    20. Challenge 16.3.6 Ghost
    21. 16.4 Using Functions in Graphics

    22. Video 16.4.1 Using Functions in Graphics
    23. Check for Understanding 16.4.2 Using Functions in Graphics
    24. Example 16.4.3 Balloons
    25. Exercise 16.4.4 Vertical Lines
    26. Exercise 16.4.5 Stoplight
    27. Challenge 16.4.6 Ghost Invasion
    28. 16.5 Using Loops in Graphics

    29. Video 16.5.1 Using Loops in Graphics
    30. Check for Understanding 16.5.2 Using Loops in Graphics
    31. Example 16.5.3 Phone Signal
    32. Exercise 16.5.4 The Worm
    33. Exercise 16.5.5 Growing Circles
    34. Challenge 16.5.6 Sidewalk
    35. 16.6 Graphics Challenges

    36. Challenge 16.6.1 Block Tower
  17. Project: Mastermind

    1. 17.1 Let's Build Mastermind

    2. Connection 17.1.1 How to Play Mastermind
    3. Demo 17.1.2 Mastermind: Demo
    4. Exercise 17.1.3 Generate Number List
    5. Exercise 17.1.4 Get User Guess
    6. Exercise 17.1.5 Compare User Guess to List
    7. Exercise 17.1.6 Check if User has Won
    8. Exercise 17.1.7 Finish the Game!
  18. Categorizing Triangles

    1. 18.1 Calculating Area

    2. Video 18.1.1 Calculating Area
    3. Check for Understanding 18.1.2 Calculating Area
    4. Example 18.1.3 Drawing a Custom Triangle
    5. Exercise 18.1.4 Calculate the Area
    6. 18.2 Categorizing Triangles with a Static Base Value

    7. Video 18.2.1 Categorizing Triangles with a Static Base Value
    8. Check for Understanding 18.2.2 Categorizing Triangles with a Static Base Value
    9. Example 18.2.3 Categorizing Obtuse Triangles
    10. Exercise 18.2.4 Putting Triangles into Categories
    11. 18.3 Categorizing Triangles with a Varied Base Value

    12. Video 18.3.1 Categorizing Triangles with a Varied Base Value
    13. Check for Understanding 18.3.2 Categorizing Triangles with a Varied Base Value
    14. Example 18.3.3 Categorizing Obtuse Triangles using Variables
    15. Exercise 18.3.4 Using Variables to Calculate Area
    16. Exercise 18.3.5 Putting Triangles into Categories using Variables
  19. Extra Resources

    1. 19.1 Extra Resources

  20. Using and Storing Data

    1. 20.1 Using Requests

    2. Exercise 20.1.1 Create a Dictionary
    3. Exercise 20.1.2 Create a Dictionary with Requests
    4. Example 20.1.3 Amazon Best Sellers List
  21. Python Graphics (Brython)

    1. 21.1 Creating Text & Lines

    2. Video 21.1.1 Creating Text & Lines
    3. Quiz 21.1.2 Creating Text & Lines
    4. Example 21.1.3 Hello World
    5. Example 21.1.4 "Tracy"
    6. Exercise 21.1.5 Tic Tac Toe Board
    7. Exercise 21.1.6 Underlined Name
    8. Challenge 21.1.7 Bubble Letter
    9. 21.2 Creating Shapes

    10. Video 21.2.1 Creating Shapes
    11. Quiz 21.2.2 Shapes and Attributes
    12. Example 21.2.3 Flag of Switzerland
    13. Exercise 21.2.4 Flag of Ukraine
    14. Exercise 21.2.5 Flag of [your choice!]
    15. 21.3 Creating Graphics Using Variables

    16. Video 21.3.1 Creating Graphics Using Variables
    17. Quiz 21.3.2 Creating Graphics Using Variables
    18. Example 21.3.3 Flag of Switzerland Using Variables
    19. Exercise 21.3.4 Flag of Ukraine Using Variables
    20. Exercise 21.3.5 Snowman
    21. Challenge 21.3.6 Ghost
    22. 21.4 Using Functions in Graphics

    23. Video 21.4.1 Using Functions in Graphics
    24. Quiz 21.4.2 Using Functions in Graphics
    25. Example 21.4.3 Forest
    26. Exercise 21.4.4 Vertical Lines
    27. Exercise 21.4.5 Stoplight
    28. Challenge 21.4.6 Ghost Invasion
    29. 21.5 Using Loops in Graphics

    30. Video 21.5.1 Using Loops in Graphics
    31. Quiz 21.5.2 Using Loops in Graphics
    32. Example 21.5.3 Diagonal Checkerboard
    33. Exercise 21.5.4 The Worm
    34. Exercise 21.5.5 Dartboard
    35. Challenge 21.5.6 Sidewalk
    36. 21.6 Graphics Challenges

    37. Challenge 21.6.1 Pyramid
    38. Challenge 21.6.2 Extended Forest
  22. Intro to CS: Python Pretest

    1. 22.1 Intro to CS: Python 3 Pretest

    2. Notes 22.1.1 About the Pretest
    3. Survey 22.1.2 Mindsets
    4. Quiz 22.1.3 Knowledge & Skills: Python
  23. Intro to CS: Python Posttest

    1. 23.1 Intro to CS: Python Posttest

    2. Notes 23.1.1 About the Posttest
  24. Karel in Python

    1. 24.1 Welcome to AP CSP

    2. Video 24.1.1 Welcome to AP CSP
    3. Free Response 24.1.2 Why AP CSP?
    4. 24.2 Introduction to Programming With Karel

    5. Video 24.2.1 Introduction to Programming With Karel
    6. Check for Understanding 24.2.2 Quiz: Karel Commands
    7. Example 24.2.3 Our First Karel Program
    8. Exercise 24.2.4 Your First Karel Program
    9. Exercise 24.2.5 Short Stack
    10. Debugging 24.2.6 Dancing Karel
    11. 24.3 More Basic Karel

    12. Video 24.3.1 More Basic Karel
    13. Check for Understanding 24.3.2 More Basic Karel Quiz
    14. Example 24.3.3 Tennis Ball Square
    15. Exercise 24.3.4 Make a Tower
    16. Exercise 24.3.5 Pyramid of Karel
    17. Debugging 24.3.6 Go Through the Door
    18. 24.4 Karel Can't Turn Right

    19. Video 24.4.1 Karel Can't Turn Right
    20. Check for Understanding 24.4.2 Karel Can't Turn Right Quiz
    21. Example 24.4.3 Tower and Turn Right
    22. Exercise 24.4.4 Fireman Karel
    23. Exercise 24.4.5 Slide Karel
    24. Free Response 24.4.6 Reflection: Teaching Karel New Commands
    25. Badge 24.4.7 Right Turn Karel Badge
    26. 24.5 Functions in Karel

    27. Video 24.5.1 Functions in Karel
    28. Check for Understanding 24.5.2 Functions in Karel Quiz
    29. Example 24.5.3 Turn Around
    30. Exercise 24.5.4 Pancakes
    31. Exercise 24.5.5 Backflip
    32. Exercise 24.5.6 Digging Karel
    33. Debugging 24.5.7 Build a Shelter
    34. 24.6 Top Down Design and Decomposition in Karel

    35. Video 24.6.1 Top Down Design and Decomposition in Karel
    36. Check for Understanding 24.6.2 Top Down Design and Decomposition Quiz
    37. Example 24.6.3 Hurdle Karel
    38. Exercise 24.6.4 The Two Towers
    39. Debugging 24.6.5 Make a 'Z'
    40. Free Response 24.6.6 Reflection: Top Down Design
    41. 24.7 Commenting Your Code

    42. Video 24.7.1 Commenting Your Code
    43. Check for Understanding 24.7.2 Commenting Your Code Quiz
    44. Example 24.7.3 Hurdle Karel
    45. Exercise 24.7.4 The Two Towers + Comments
    46. Free Response 24.7.5 Reflection: Commenting
    47. 24.8 Abstraction

    48. Video 24.8.1 Abstraction
    49. Check for Understanding 24.8.2 Abstraction Quiz
    50. Example 24.8.3 Abstracting Away build_tower
    51. Free Response 24.8.4 Abstracting Your Day
    52. Free Response 24.8.5 Reflection: Abstraction
    53. Free Response 24.8.6 Reflection: Abstraction in Karel
    54. 24.9 Super Karel

    55. Video 24.9.1 Super Karel
    56. Check for Understanding 24.9.2 Super Karel Quiz
    57. Example 24.9.3 Hurdle Karel (with SuperKarel)
    58. Exercise 24.9.4 The Two Towers + SuperKarel
    59. Badge 24.9.5 Super Karel Badge
    60. 24.10 For Loops

    61. Video 24.10.1 For Loops
    62. Check for Understanding 24.10.2 For Loops Quiz
    63. Example 24.10.3 Repeated Move
    64. Example 24.10.4 Put Down Tennis Balls
    65. Exercise 24.10.5 Take 'em All
    66. Exercise 24.10.6 Dizzy Karel
    67. Exercise 24.10.7 For Loop Square
    68. Exercise 24.10.8 Lots of Hurdles
    69. 24.11 If Statements

    70. Video 24.11.1 If Statements
    71. Check for Understanding 24.11.2 If Statements Quiz
    72. Example 24.11.3 If Statements
    73. Example 24.11.4 Safe Take Ball
    74. Exercise 24.11.5 Is There a Ball?
    75. Survey 24.11.6 Mindsets
    76. 24.12 If/Else Statements

    77. Video 24.12.1 If/Else Statements
    78. Check for Understanding 24.12.2 If/Else Statements Quiz
    79. Example 24.12.3 If/Else Statements
    80. Example 24.12.4 One Ball in Each Spot
    81. Exercise 24.12.5 Right Side Up
    82. Badge 24.12.6 Conditional Karel Badge
    83. 24.13 While Loops in Karel

    84. Video 24.13.1 While Loops in Karel
    85. Check for Understanding 24.13.2 While Loops in Karel Quiz
    86. Example 24.13.3 Move to Wall
    87. Exercise 24.13.4 Follow The Yellow Ball Road
    88. Exercise 24.13.5 Lay Row of Tennis Balls
    89. Exercise 24.13.6 Big Tower
    90. 24.14 Control Structures Example

    91. Video 24.14.1 Control Structures Example
    92. Check for Understanding 24.14.2 Control Structures Example Quiz
    93. Example 24.14.3 Cleanup Karel
    94. Exercise 24.14.4 Random Hurdles
    95. 24.15 Debugging Strategies

    96. Video 24.15.1 Debugging Basics
    97. Check for Understanding 24.15.2 Debugging Basics
    98. Debugging 24.15.3 Debug: The Two Towers
    99. Debugging 24.15.4 Debug: Lots of Hurdles
    100. Video 24.15.5 Debugging From Error Messages
    101. Check for Understanding 24.15.6 Debugging with Error Messages
    102. Debugging 24.15.7 Debug: Big Tower
    103. Debugging 24.15.8 Debug: Random Hurdles
    104. 24.16 Algorithms

    105. Video 24.16.1 Karel Algorithms
    106. Check for Understanding 24.16.2 Quiz: Which Control Structure?
    107. Video 24.16.3 Algorithms Example: Move Stack
    108. Example 24.16.4 Move Tennis Ball Stack
    109. Example 24.16.5 Climbing Karel
    110. Exercise 24.16.6 Decorate the Fence
    111. 24.17 Ultra Karel

    112. Video 24.17.1 Ultra Karel
    113. Check for Understanding 24.17.2 Ultra Karel Quiz
    114. Example 24.17.3 Red Frame
    115. Example 24.17.4 Slip 'n Slide
    116. Exercise 24.17.5 Invert Colors
    117. Exercise 24.17.6 Checkerboard Karel
    118. Badge 24.17.7 Karel Exercises Badge
    119. 24.18 Karel Challenges

    120. Challenge 24.18.1 Fetch
    121. Challenge 24.18.2 Racing Karel
    122. Challenge 24.18.3 Tower Builder
    123. Challenge 24.18.4 Super Cleanup Karel
    124. Challenge 24.18.5 Double Tennis Balls
    125. Badge 24.18.6 Programming with Karel Bootcamp Badge
    126. 24.19 Introduction to Programming Quiz

    127. Unit Quiz 24.19.1 Introduction to Programming Quiz