Please enable JavaScript to use CodeHS


AP Computer Science Principles in Python

Lessons

  1. Introduction to Programming

    1. 1.1 Welcome to AP CSP

    2. Description
    3. Objective
    4. 1.2 Introduction to Programming With Karel

    5. Description
    6. Objective
    7. 1.3 More Basic Karel

    8. Description
    9. Objective
    10. 1.4 Karel Can't Turn Right

    11. Description
    12. Objective
    13. 1.5 Functions in Karel

    14. Description
    15. Objective
    16. 1.6 Top Down Design and Decomposition in Karel

    17. Description
    18. Objective
    19. 1.7 Commenting Your Code

    20. Description
    21. Objective
    22. 1.8 Abstraction

    23. Description
    24. Objective
    25. 1.9 Super Karel

    26. Description
    27. Objective
    28. 1.10 For Loops

    29. Description
    30. Objective
    31. 1.11 If Statements

    32. Description
    33. Objective
    34. 1.12 If/Else Statements

    35. Description
    36. Objective
    37. 1.13 While Loops in Karel

    38. Description
    39. Objective
    40. 1.14 Control Structures Example

    41. Description
    42. Objective
    43. 1.15 Debugging Strategies

    44. Description
    45. Objective
    46. 1.16 Algorithms

    47. Description
    48. Objective
    49. 1.17 Ultra Karel

    50. Description
    51. Objective
    52. 1.18 Karel Challenges

    53. Description
    54. Objective
    55. 1.19 Introduction to Programming Quiz

    56. Description
    57. Objective
  2. Practice PT: Pair-Programming Paint!

    1. 2.1 Practice PT: Pair-Programming Paint!

    2. Description
    3. Objective
  3. Programming with Python

    1. 3.1 What is Code

    2. Description
    3. Objective
    4. 3.2 Uses of Programs

    5. Description
    6. Objective
    7. 3.3 Hello World

    8. Description
    9. Objective
    10. 3.4 Variables

    11. Description
    12. Objective
    13. 3.5 User Input

    14. Description
    15. Objective
    16. 3.6 Basic Math in Python

    17. Description
    18. Objective
    19. 3.7 Using Graphics in Python

    20. Description
    21. Objective
    22. 3.8 Mouse Events: Mouse Clicked

    23. Description
    24. Objective
    25. 3.9 Programming with Python Quiz

    26. Description
    27. Objective
  4. Python Control Structures

    1. 4.1 Booleans

    2. Description
    3. Objective
    4. 4.2 Logical Operators

    5. Description
    6. Objective
    7. 4.3 Comparison Operators

    8. Description
    9. Objective
    10. 4.4 If Statements

    11. Description
    12. Objective
    13. 4.5 Key Events

    14. Description
    15. Objective
    16. 4.6 For Loops in Python

    17. Description
    18. Objective
    19. 4.7 General For Loops

    20. Description
    21. Objective
    22. 4.8 For Loop Practice

    23. Description
    24. Objective
    25. 4.9 Random Numbers

    26. Description
    27. Objective
    28. 4.10 While Loops

    29. Description
    30. Objective
    31. 4.11 Loop and a Half

    32. Description
    33. Objective
    34. 4.12 Python Control Structures Quiz

    35. Description
    36. Objective
  5. Functions and Parameters

    1. 5.1 Functions and Parameters 1

    2. Description
    3. Objective
    4. 5.2 Functions and Parameters 2

    5. Description
    6. Objective
    7. 5.3 Functions and Parameters 3

    8. Description
    9. Objective
    10. 5.4 Functions and Return Values 1

    11. Description
    12. Objective
    13. 5.5 Functions and Return Values 2

    14. Description
    15. Objective
    16. 5.6 Local Variables and Scope

    17. Description
    18. Objective
    19. 5.7 Exceptions

    20. Description
    21. Objective
    22. 5.8 Python vs Karel

    23. Description
    24. Objective
    25. 5.9 Basic Python and Graphics Challenges

    26. Description
    27. Objective
    28. 5.10 Functions and Parameters Quiz

    29. Description
    30. Objective
  6. Practice PT: Tell a Story

    1. 6.1 Practice PT: Tell a Story

    2. Description
    3. Objective
  7. Basic Data Structures

    1. 7.1 Tuples

    2. Description
    3. Objective
    4. 7.2 Lists

    5. Description
    6. Objective
    7. 7.3 For Loops and Lists

    8. Description
    9. Objective
    10. 7.4 List Methods

    11. Description
    12. Objective
    13. 7.5 Simulation

    14. Description
    15. Objective
    16. 7.6 Basic Data Structures Quiz

    17. Description
    18. Objective
  8. Digital Information

    1. 8.1 Intro to Digital Information

    2. Description
    3. Objective
    4. 8.2 Number Systems

    5. Description
    6. Objective
    7. 8.3 Encoding Text with Binary

    8. Description
    9. Objective
    10. 8.4 Pixel Images

    11. Description
    12. Objective
    13. 8.5 Hexadecimal

    14. Description
    15. Objective
    16. 8.6 Pixel Colors!

    17. Description
    18. Objective
    19. 8.7 Image Manipulation

    20. Description
    21. Objective
    22. 8.8 Data Compression

    23. Description
    24. Objective
    25. 8.9 Lossy Compression

    26. Description
    27. Objective
    28. 8.10 Cryptography

    29. Description
    30. Objective
    31. 8.11 Digital Information Quiz

    32. Description
    33. Objective
  9. Practice PT: Steganography

    1. 9.1 Practice PT: Steganography

    2. Description
    3. Objective
  10. Practice PT: Create an Image Filter!

    1. 10.1 Practice PT: Create an Image Filter!

    2. Description
    3. Objective
  11. The Internet

    1. 11.1 Welcome to the Internet

    2. Description
    3. Objective
    4. 11.2 Internet Hardware

    5. Description
    6. Objective
    7. 11.3 Internet Addresses

    8. Description
    9. Objective
    10. 11.4 Viewing Websites

    11. Description
    12. Objective
    13. 11.5 DNS

    14. Description
    15. Objective
    16. 11.6 Routing

    17. Description
    18. Objective
    19. 11.7 Packets and Protocols

    20. Description
    21. Objective
    22. 11.8 Sequential, Parallel & Distributed Computing

    23. Description
    24. Objective
    25. 11.9 Cybersecurity

    26. Description
    27. Objective
    28. 11.10 The Impact of the Internet

    29. Description
    30. Objective
    31. 11.11 Creative Credit & Copyright

    32. Description
    33. Objective
    34. 11.12 The Internet Quiz

    35. Description
    36. Objective
  12. Project: The Effects of the Internet

    1. 12.1 The Effects of the Internet

    2. Description
    3. Objective
  13. Data

    1. 13.1 Getting Started with Data

    2. Description
    3. Objective
    4. 13.2 Visualizing and Interpreting Data

    5. Description
    6. Objective
    7. 13.3 Data Collection & Limitations

    8. Description
    9. Objective
    10. 13.4 Data Quiz

    11. Description
    12. Objective
  14. Project: Present a Data-Driven Insight

    1. 14.1 Present a Data-Driven Insight

    2. Description
    3. Objective
  15. Project: The Impact of Computing

    1. 15.1 The Impacts of Computing

    2. Description
    3. Objective
  16. Create Performance Task

    1. 16.1 Create Performance Task: Overview

    2. Description
    3. Objective
    4. 16.2 Create Performance Task: Guidelines

    5. Description
    6. Objective
    7. 16.3 Create Performance Task: Categories and Questions

    8. Description
    9. Objective
    10. 16.4 Planning and Pacing Your Project

    11. Description
    12. Objective
    13. 16.5 Complete the Create Performance Task

    14. Description
    15. Objective
  17. AP Exam Review

    1. 17.1 Preparation

    2. Description
    3. Objective
    4. 17.2 Practice AP Exam

    5. Description
    6. Objective
  18. Creative Development

    1. 18.1 Intro to Design Thinking

    2. Description
    3. Objective
    4. 18.2 Prototype

    5. Description
    6. Objective
    7. 18.3 Test

    8. Description
    9. Objective
    10. 18.4 Project Prep and Development

    11. Description
    12. Objective
  19. Final

    1. 19.1 Final

    2. Description
    3. Objective
  20. Computer Science Principles Pretest

    1. 20.1 Computer Science Principles Pretest

    2. Description
    3. Objective
  21. Midterm

    1. 21.1 Midterm

    2. Description
    3. Objective
  22. Computer Science Principles Posttest

    1. 22.1 Computer Science Principles Posttest

    2. Description
    3. Objective
  23. Extra Karel Practice

    1. 23.1 Extra Karel Practice

    2. Description
    3. Objective
  24. Extra Karel Puzzles

    1. 24.1 Extra Karel Puzzles

    2. Description
    3. Objective
  25. Karel Challenges

    1. 25.1 Challenge Problems

    2. Description
    3. Objective
  26. Web Development

    1. 26.1 Introduction to HTML

    2. Description
    3. Objective
    4. 26.2 Structure of an HTML Page

    5. Description
    6. Objective
    7. 26.3 Formatting Text

    8. Description
    9. Objective
    10. 26.4 Links

    11. Description
    12. Objective
    13. 26.5 Images

    14. Description
    15. Objective
    16. 26.6 HTML Lists

    17. Description
    18. Objective
    19. 26.7 HTML Tables

    20. Description
    21. Objective
    22. 26.8 HTML Styling

    23. Description
    24. Objective
    25. 26.9 Introduction to CSS

    26. Description
    27. Objective
    28. 26.10 CSS Select by Tag

    29. Description
    30. Objective
    31. 26.11 CSS Select by Class

    32. Description
    33. Objective
    34. 26.12 CSS Select by ID

    35. Description
    36. Objective
    37. 26.13 Web Development Quiz

    38. Description
    39. Objective
    40. 26.14 Practice PT: Your First Website

    41. Description
    42. Objective
  27. Classes and Objects

    1. 27.1 Classes and Objects

    2. Description
    3. Objective
    4. 27.2 Methods

    5. Description
    6. Objective
    7. 27.3 Built-In Methods

    8. Description
    9. Objective
    10. 27.4 Operator Overloading

    11. Description
    12. Objective
    13. 27.5 Class Variables vs. Instance Variables

    14. Description
    15. Objective
    16. 27.6 Inheritance

    17. Description
    18. Objective
    19. 27.7 Hidden Attributes

    20. Description
    21. Objective
    22. 27.8 Namespaces

    23. Description
    24. Objective
    25. 27.9 Modules

    26. Description
    27. Objective
    28. 27.10 Classes and Objects Quiz

    29. Description
    30. Objective
  28. Additional Topics

    1. 28.1 Short Circuit Evaluation

    2. Description
    3. Objective
    4. 28.2 De Morgan's Laws

    5. Description
    6. Objective
  29. Project: Who Said It?

    1. 29.1 Project: Who Said It?

    2. Description
    3. Objective
  30. Project: Mastermind

    1. 30.1 Let's Build Mastermind

    2. Description
    3. Objective
  31. Practice PT: Testing 1, 2, 3 ...

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

    2. Description
    3. Objective
  32. Practice PT: The Shopping List

    1. 32.1 Practice PT: The Shopping List

    2. Description
    3. Objective
  33. Strings

    1. 33.1 Indexing

    2. Description
    3. Objective
    4. 33.2 Slicing

    5. Description
    6. Objective
    7. 33.3 Immutability

    8. Description
    9. Objective
    10. 33.4 Strings and For Loops

    11. Description
    12. Objective
    13. 33.5 The in Keyword

    14. Description
    15. Objective
    16. 33.6 String Methods

    17. Description
    18. Objective
    19. 33.7 Strings Quiz

    20. Description
    21. Objective
  34. Extending Data Structures

    1. 34.1 2d Lists

    2. Description
    3. Objective
    4. 34.2 List Comprehensions

    5. Description
    6. Objective
    7. 34.3 Packing and Unpacking

    8. Description
    9. Objective
    10. 34.4 Dictionaries

    11. Description
    12. Objective
    13. 34.5 Equivalence vs. Identity

    14. Description
    15. Objective
    16. 34.6 Extending Data Structures Quiz

    17. Description
    18. Objective
  35. Unit Tests

    1. 35.1 Unit Tests

    2. Description
    3. Objective
  36. Removed Items 2024

    1. 36.1 Practice PT: Pair-Programming Paint!

    2. Description
    3. Objective
    4. 36.2 Practice PT: Tell a Story

    5. Description
    6. Objective
    7. 36.3 Practice PT: Create an Image Filter!

    8. Description
    9. Objective
    10. 36.4 Practice PT: The Shopping List

    11. Description
    12. Objective
    13. 36.5 Practice PT: Testing 1, 2, 3...

    14. Description
    15. Objective
    16. 36.6 Create Performance Task

    17. Description
    18. Objective
    19. 36.7 Uses of Programs

    20. Description
    21. Objective
    22. 36.8 DNS

    23. Description
    24. Objective
    25. 36.9 Intro to Design Thinking

    26. Description
    27. Objective
    28. 36.10 Test

    29. Description
    30. Objective
    31. 36.11 Visualizing and Interpreting Data

    32. Description
    33. Objective