Advanced Python programming

course image

Advanced Python programming

Master advanced Python concepts such as collections, generators, mocking, advanced testing, multiprocessing, combining Python with C++, and more.


This course teaches advanced topics in Python programming. Start with advanced topics in object-oriented programming in Python and an overview of the Python collections module. Continue working with generators, iterators, and decorators, as well as advanced testing and mocking. Get introduced to the Python multiprocessing module, with details on how to create and work with processes. Furthermore, learn how to combine Python and C/C++ applications, build C/C++ applications using Python programs and create virtual environments. Finish off the course by creating releases and libraries from the Python code.


Course topics:

  • Orientation
  • Advanced object-oriented programming in Python: Inheritance; static methods; special objects and methods; metaclasses; PEP8 style guide
  • Advanced data collections, generators, iterators, decorators
  • Advanced testing and mocking in Python
  • Multiprocessing: Python multiprocessing module. Distinguishing multiprocessing from multithreading; how to create processes using multiprocessing module and work with them
  • C/C++ and Python: How to combine Python and C/C++ applications. Building C/C++ applications using Python programs
  • Virtual environments: Introduction to virtual environments and pip tool. How to create and work with different virtual environments
  • Making Python libraries and creating releases from Python code
  • Project


Software: Python IDE ( e.g Visual Studio Code with Python extension).

Hardware: Computer with an Internet connection, working speakers, and microphone.

Prior knowledge: Course attendees should also have knowledge and experience in writing basic object-oriented programs in Python, lambda and regular expressions and the basic unit tests. It is recommended that Python Programming course is already taken.