Please enable JavaScript to use CodeHS


Introduction to Python Programming

Lessons

  1. Welcome

    1. 1.1 Welcome

    2. Description
    3. Objective
  2. Karel in Python

    1. 2.1 Introduction to Programming With Karel

    2. Description
    3. Objective
    4. 2.2 More Basic Karel

    5. Description
    6. Objective
    7. 2.3 Karel Can't Turn Right

    8. Description
    9. Objective
    10. 2.4 Functions in Karel

    11. Description
    12. Objective
    13. 2.5 Top Down Design and Decomposition in Karel

    14. Description
    15. Objective
    16. 2.6 Commenting Your Code

    17. Description
    18. Objective
    19. 2.7 Abstraction

    20. Description
    21. Objective
    22. 2.8 Super Karel

    23. Description
    24. Objective
    25. 2.9 For Loops

    26. Description
    27. Objective
    28. 2.10 If Statements

    29. Description
    30. Objective
    31. 2.11 If/Else Statements

    32. Description
    33. Objective
    34. 2.12 While Loops in Karel

    35. Description
    36. Objective
    37. 2.13 Control Structures Example

    38. Description
    39. Objective
    40. 2.14 Debugging Strategies

    41. Description
    42. Objective
    43. 2.15 Algorithms

    44. Description
    45. Objective
    46. 2.16 Ultra Karel

    47. Description
    48. Objective
    49. 2.17 Karel Challenges

    50. Description
    51. Objective
    52. 2.18 Introduction to Programming Quiz

    53. Description
    54. 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 Programming Languages

    20. Description
    21. Objective
    22. 3.8 Basic Python and Console Interaction Quiz

    23. Description
    24. Objective
  4. Project: Mad Libs

    1. 4.1 Project: Mad Libs

    2. Description
    3. Objective
  5. Conditionals

    1. 5.1 Booleans

    2. Description
    3. Objective
    4. 5.2 If Statements

    5. Description
    6. Objective
    7. 5.3 Comparison Operators

    8. Description
    9. Objective
    10. 5.4 Logical Operators

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

    14. Description
    15. Objective
    16. 5.6 Conditionals Quiz

    17. Description
    18. Objective
  6. Project: Quiz Game

    1. 6.1 Project: Quiz Game

    2. Description
    3. Objective
  7. Looping

    1. 7.1 While Loops

    2. Description
    3. Objective
    4. 7.2 For Loops

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

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

    11. Description
    12. Objective
    13. 7.5 Looping Quiz

    14. Description
    15. Objective
  8. Project: Password Authenticator

    1. 8.1 Project: Password Authenticator

    2. Description
    3. Objective
  9. Functions and Exceptions

    1. 9.1 Functions

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

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

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

    11. Description
    12. Objective
    13. 9.5 Exceptions

    14. Description
    15. Objective
    16. 9.6 Functions Quiz

    17. Description
    18. Objective
  10. Strings

    1. 10.1 Indexing

    2. Description
    3. Objective
    4. 10.2 Slicing

    5. Description
    6. Objective
    7. 10.3 Immutability

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

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

    14. Description
    15. Objective
    16. 10.6 String Methods

    17. Description
    18. Objective
    19. 10.7 Strings Quiz

    20. Description
    21. Objective
  11. Project: The Game of Pig

    1. 11.1 Project: The Game of Pig

    2. Description
    3. Objective
  12. Creating and Altering Data Structures

    1. 12.1 Tuples

    2. Description
    3. Objective
    4. 12.2 Lists

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

    8. Description
    9. Objective
    10. 12.4 List Methods

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

    14. Description
    15. Objective
  13. Extending Data Structures

    1. 13.1 2d Lists

    2. Description
    3. Objective
    4. 13.2 List Comprehensions

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

    8. Description
    9. Objective
    10. 13.4 Dictionaries

    11. Description
    12. Objective
    13. 13.5 Extending Data Structures Quiz

    14. Description
    15. Objective
  14. Project: Guess the Word

    1. 14.1 Project: Guess the Word

    2. Description
    3. Objective
  15. File I/O

    1. 15.1 What is File I/O

    2. Description
    3. Objective
    4. 15.2 Reading Character from File

    5. Description
    6. Objective
    7. 15.3 Reading Line from File

    8. Description
    9. Objective
    10. 15.4 Reading All Lines from File

    11. Description
    12. Objective
    13. 15.5 Writing to File

    14. Description
    15. Objective
    16. 15.6 Move File Pointer Position

    17. Description
    18. Objective
    19. 15.7 File I/O Quiz

    20. Description
    21. Objective
  16. Roles in a Software Development Team

    1. 16.1 Software Engineer

    2. Description
    3. Objective
    4. 16.2 QA Engineer

    5. Description
    6. Objective
    7. 16.3 Designer

    8. Description
    9. Objective
    10. 16.4 Project Manager

    11. Description
    12. Objective
  17. Extra Karel Puzzles

    1. 17.1 Extra Karel Puzzles

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

    1. 18.1 Creating Text & Lines

    2. Description
    3. Objective
    4. 18.2 Creating Shapes

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

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

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

    14. Description
    15. Objective
    16. 18.6 Graphics Challenges

    17. Description
    18. Objective
  19. Python Graphics (Tkinter)

    1. 19.1 Creating the Canvas

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

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

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

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

    14. Description
    15. Objective
    16. 19.6 Graphics Challenges

    17. Description
    18. Objective
  20. Project: Who Said It?

    1. 20.1 Project: Who Said It?

    2. Description
    3. Objective
  21. Project: Mastermind

    1. 21.1 Let's Build Mastermind

    2. Description
    3. Objective
  22. Classes and Objects

    1. 22.1 Classes and Objects

    2. Description
    3. Objective
    4. 22.2 Methods

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

    8. Description
    9. Objective
    10. 22.4 Operator Overloading

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

    14. Description
    15. Objective
    16. 22.6 Inheritance

    17. Description
    18. Objective
    19. 22.7 Hidden Attributes

    20. Description
    21. Objective
    22. 22.8 Namespaces

    23. Description
    24. Objective
    25. 22.9 Modules

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

    29. Description
    30. Objective
  23. Additional Topics

    1. 23.1 Short Circuit Evaluation

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

    5. Description
    6. 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
  25. Intro to Python with Turtle Graphics

    1. 25.1 Meet Tracy the Turtle

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

    5. Description
    6. Objective
    7. 25.3 Turning Tracy

    8. Description
    9. Objective
    10. 25.4 For Loops

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

    14. Description
    15. Objective
    16. 25.6 Comments

    17. Description
    18. Objective
    19. 25.7 Functions

    20. Description
    21. Objective
    22. 25.8 Artistic Effects

    23. Description
    24. Objective
    25. 25.9 Adding Text

    26. Description
    27. Objective
    28. 25.10 Variables

    29. Description
    30. Objective
    31. 25.11 Strings

    32. Description
    33. Objective
    34. 25.12 String Methods

    35. Description
    36. Objective
    37. 25.13 User Input

    38. Description
    39. Objective
    40. 25.14 Parameters

    41. Description
    42. Objective
    43. 25.15 Clickable Interaction

    44. Description
    45. Objective
    46. 25.16 Using i in For Loops

    47. Description
    48. Objective
    49. 25.17 Extended Loop Control

    50. Description
    51. Objective
    52. 25.18 If Statements

    53. Description
    54. Objective
    55. 25.19 If/Else Statements

    56. Description
    57. Objective
    58. 25.20 While Loops

    59. Description
    60. Objective
    61. 25.21 Putting Together Control Structures

    62. Description
    63. Objective
    64. 25.22 Putting It All Together Quiz

    65. Description
    66. Objective
  26. Assessment 1

    1. 26.1 Assessment 1

    2. Description
    3. Objective
  27. Assessment 2

    1. 27.1 Assessment 2

    2. Description
    3. Objective