Please enable JavaScript to use CodeHS


Introduction to Computer Science in Python

Lessons

  1. Welcome

    1. 1.1 Welcome

    2. Description
    3. Objective
  2. Introduction to Programming with Turtle Graphics

    1. 2.1 Intro to Python with Tracy the Turtle

    2. Description
    3. Objective
    4. 2.2 Tracy's Grid World

    5. Description
    6. Objective
    7. 2.3 Turning Tracy

    8. Description
    9. Objective
    10. 2.4 For Loops

    11. Description
    12. Objective
    13. 2.5 Turning Tracy Using Angles

    14. Description
    15. Objective
    16. 2.6 Comments

    17. Description
    18. Objective
    19. 2.7 Naming Guidelines

    20. Description
    21. Objective
    22. 2.8 Functions

    23. Description
    24. Objective
    25. 2.9 Artistic Effects

    26. Description
    27. Objective
    28. 2.10 Top Down Design

    29. Description
    30. Objective
    31. 2.11 Variables

    32. Description
    33. Objective
    34. 2.12 User Input

    35. Description
    36. Objective
    37. 2.13 Parameters

    38. Description
    39. Objective
    40. 2.14 Using i in For Loops

    41. Description
    42. Objective
    43. 2.15 Extended Loop Control

    44. Description
    45. Objective
    46. 2.16 If Statements

    47. Description
    48. Objective
    49. 2.17 If/ Else Statements

    50. Description
    51. Objective
    52. 2.18 While Loops

    53. Description
    54. Objective
    55. 2.19 Putting Together Control Structures

    56. Description
    57. Objective
    58. 2.20 Intro to Programming with Turtle Graphics Quiz

    59. Description
    60. Objective
  3. Basic Python and Console Interaction

    1. 3.1 Printing in Python

    2. Description
    3. Objective
    4. 3.2 Variables and Types

    5. Description
    6. Objective
    7. 3.3 User Input

    8. Description
    9. Objective
    10. 3.4 Mathematical Operators

    11. Description
    12. Objective
    13. 3.5 String Operators

    14. Description
    15. Objective
    16. 3.6 Comments

    17. Description
    18. Objective
    19. 3.7 Basic Python and Console Interaction Quiz

    20. Description
    21. Objective
  4. Conditionals

    1. 4.1 Booleans

    2. Description
    3. Objective
    4. 4.2 If Statements

    5. Description
    6. Objective
    7. 4.3 Comparison Operators

    8. Description
    9. Objective
    10. 4.4 Logical Operators

    11. Description
    12. Objective
    13. 4.5 Floating Point Numbers and Rounding

    14. Description
    15. Objective
    16. 4.6 Conditionals Quiz

    17. Description
    18. Objective
  5. Looping

    1. 5.1 While Loops

    2. Description
    3. Objective
    4. 5.2 For Loops

    5. Description
    6. Objective
    7. 5.3 Break and Continue

    8. Description
    9. Objective
    10. 5.4 Nested Control Structures

    11. Description
    12. Objective
    13. 5.5 Looping Quiz

    14. Description
    15. Objective
  6. Functions and Exceptions

    1. 6.1 Functions

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

    5. Description
    6. Objective
    7. 6.3 Namespaces in Functions

    8. Description
    9. Objective
    10. 6.4 Functions and Return Values

    11. Description
    12. Objective
    13. 6.5 Exceptions

    14. Description
    15. Objective
    16. 6.6 Functions Quiz

    17. Description
    18. Objective
  7. Strings

    1. 7.1 Indexing

    2. Description
    3. Objective
    4. 7.2 Slicing

    5. Description
    6. Objective
    7. 7.3 Immutability

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

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

    14. Description
    15. Objective
    16. 7.6 String Methods

    17. Description
    18. Objective
    19. 7.7 Strings Quiz

    20. Description
    21. Objective
  8. Creating and Altering Data Structures

    1. 8.1 Tuples

    2. Description
    3. Objective
    4. 8.2 Lists

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

    8. Description
    9. Objective
    10. 8.4 List Methods

    11. Description
    12. Objective
    13. 8.5 Creating and Altering Data Structures Quiz

    14. Description
    15. Objective
  9. Extending Data Structures

    1. 9.1 2d Lists

    2. Description
    3. Objective
    4. 9.2 List Comprehensions

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

    8. Description
    9. Objective
    10. 9.4 Dictionaries

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

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

    17. Description
    18. Objective
  10. Project: Guess the Word

    1. 10.1 Project: Guess the Word

    2. Description
    3. Objective
    4. 10.2 Intro to Computer Science in Python Completed

    5. Description
    6. Objective
  11. Final Exam

    1. 11.1 Final Exam

    2. Description
    3. Objective
  12. Classes and Objects

    1. 12.1 Classes and Objects

    2. Description
    3. Objective
    4. 12.2 Methods

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

    8. Description
    9. Objective
    10. 12.4 Operator Overloading

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

    14. Description
    15. Objective
    16. 12.6 Inheritance

    17. Description
    18. Objective
    19. 12.7 Hidden Attributes

    20. Description
    21. Objective
    22. 12.8 Namespaces

    23. Description
    24. Objective
    25. 12.9 Modules

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

    29. Description
    30. Objective
  13. Advanced Tracy Challenges

    1. 13.1 Advanced Challenges with Tracy

    2. Description
    3. Objective
  14. Midterm

    1. 14.1 Midterm

    2. Description
    3. Objective
  15. Additional Topics

    1. 15.1 Short Circuit Evaluation

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

    5. Description
    6. Objective
    7. 15.3 Abstraction

    8. Description
    9. Objective
    10. 15.4 Adding Text

    11. Description
    12. Objective
  16. Project: Who Said It?

    1. 16.1 Project: Who Said It?

    2. Description
    3. Objective
  17. Python Graphics (Tkinter)

    1. 17.1 Creating the Canvas

    2. Description
    3. Objective
    4. 17.2 Shapes and Attributes

    5. Description
    6. Objective
    7. 17.3 Creating Graphics Using Variables

    8. Description
    9. Objective
    10. 17.4 Using Functions in Graphics

    11. Description
    12. Objective
    13. 17.5 Using Loops in Graphics

    14. Description
    15. Objective
    16. 17.6 Graphics Challenges

    17. Description
    18. Objective
  18. Project: Mastermind

    1. 18.1 Let's Build Mastermind

    2. Description
    3. Objective
  19. Categorizing Triangles

    1. 19.1 Calculating Area

    2. Description
    3. Objective
    4. 19.2 Categorizing Triangles with a Static Base Value

    5. Description
    6. Objective
    7. 19.3 Categorizing Triangles with a Varied Base Value

    8. Description
    9. Objective
  20. Extra Resources

    1. 20.1 Extra Resources

    2. Description
    3. Objective
  21. Using and Storing Data

    1. 21.1 Using Requests

    2. Description
    3. Objective
  22. Python Graphics (Brython)

    1. 22.1 Creating Text & Lines

    2. Description
    3. Objective
    4. 22.2 Creating Shapes

    5. Description
    6. Objective
    7. 22.3 Creating Graphics Using Variables

    8. Description
    9. Objective
    10. 22.4 Using Functions in Graphics

    11. Description
    12. Objective
    13. 22.5 Using Loops in Graphics

    14. Description
    15. Objective
    16. 22.6 Graphics Challenges

    17. Description
    18. Objective
  23. Karel in Python

    1. 23.1 Welcome to AP CSP

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

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

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

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

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

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

    20. Description
    21. Objective
    22. 23.8 Abstraction

    23. Description
    24. Objective
    25. 23.9 Super Karel

    26. Description
    27. Objective
    28. 23.10 For Loops

    29. Description
    30. Objective
    31. 23.11 If Statements

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

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

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

    41. Description
    42. Objective
    43. 23.15 Debugging Strategies

    44. Description
    45. Objective
    46. 23.16 Algorithms

    47. Description
    48. Objective
    49. 23.17 Ultra Karel

    50. Description
    51. Objective
    52. 23.18 Karel Challenges

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

    56. Description
    57. Objective
  24. Python Level 1 Certification Practice

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

    2. Description
    3. Objective
    4. 24.2 Practice #2: Conditionals

    5. Description
    6. Objective
    7. 24.3 Practice #3: Looping

    8. Description
    9. Objective
    10. 24.4 Practice #4: Strings

    11. Description
    12. Objective
    13. 24.5 Practice #5: Functions and Exceptions

    14. Description
    15. Objective
    16. 24.6 Practice #6: Data Structures

    17. Description
    18. Objective