Built around your vision.

Object-oriented software development in Python

Approximate length: 3.5 hours

Popularity of Python has grown rapidly over the last decade. Python can be a very powerful language that gets your team prototyping quickly, and at the same time enables developers to create large codebases with many features, user interfaces, 3rd-party libraries, etc. Yet as a coding project grows, architectures that worked for quick prototypes and library exploration exercises become obsolete because they do not scale well. Many larger Python projects often suffer from poor maintainability and a lack of clear structure, making adding more features exponentially more costly.

Object-oriented software design is a very popular framework for structuring code. Functionality that logically belongs together is kept in separate "classes", and class inheritance and composition is used when functionality needs to be extended. However, switching to an Object-Oriented (OO) architecture in Python can be overwhelming, simply because Python is different from more traditional OO languages such as Java or C++. This course covers the specifics of OO development in Python and demonstrate to your team how to design and write OO software. The course also introduces useful Design Patterns - proved and well-documented ways of thinking about OO architecture that have empowered developers to create sustainable and scalable code for decades.

Take your team's Python programming to the next level by signing up for this course today!


  • Principles of object-oriented software development
  • Python-specific topics in OO programming
  • Class diagrams
  • Useful Design Patterns
  • Hands-on OO architecture design
  • Programming exercises

Get in touch