Prerequisite knowledge

Comfortable with functions and at least one data structure (lists or dictionaries).

Lessons

  1. Objects and classes~25 min
  2. Interfaces and public behavior~20 min
  3. Encapsulation~20 min
  4. Composition~20 min
  5. Inheritance~20 min
  6. Polymorphism~20 min
  7. Class relationships and simple diagrams~15 min
  8. When OOP helps โ€” and when it does not~20 min

Can I skip this module?

If you can confidently answer "yes" to the questions below, you may be able to move faster through this module or skip to practice.

  • Can you explain the difference between a class and an object without an example in front of you?
  • Do you already know when composition is a better choice than inheritance?

Capstone

Finish this module by attempting its integrative project on the projects page. Projects are scenario-based: you decide the implementation, and acceptance checks tell you when you're done.