Informacje o szkoleniu

Główna korzyść: usprawnienie wykorzystania Pythona w Twojej firmie, dzięki czemu developerzy pracują szybciej i tworzą lepszy kod, tzn. taki, który będzie łatwiej, szybciej i taniej utrzymać w przyszłości.

Czas trwania: 3 dni po 7 godzin zegarowych brutto (tzn. razem z przerwami) + indywidualne konsultacje po każdym dniu
Forma szkolenia: warsztatowa (70% ćwiczenia / 30% wykład)
Logistyka: online lub w siedzibie klienta lub innym wyznaczonym przez niego miejscu, w Polsce lub za granicą w obrębie Europy
Zapisy: szkolenie zamknięte – indywidualne zamówienie i dopasowanie dla grupy
Wielkość grupy: max 10 uczestników
Język szkolenia: język polski lub angielski lub oba naraz w ramach jednego zlecenia
Grupa docelowa: developerzy Pythona, team leaderzy, architekci, analitycy, DevOpsi, R&D, testerzy
Wymagania dla uczestników: znajomość Pythona na poziomie minimum średniozaawansowanym

Plan szkolenia

  1. Intermediate Object Oriented Programming
    1. __str__ vs __repr__
    2. __str__ Method vs str() Function
    3. Classes Imitating Functions with __call__ Special Method
    4. Encapsulation – Interface vs Implementation
    5. Protected Attributes
    6. Private Attributes
    7. Read-Only @property
    8. Read-and-Write @property
    9. Introducing Encapsulation to an Existing Class without Breaking the Interface with @property
    10. Variable Annotations
    11. Dataclasses: Usage, Default Values, Default Values Trap, Default Value Factory, Fields Customisation, __post_init__
    12. Introduction to Single Inheritance
    13. Attribute Lookup Mechanism
    14. Code Reusage with Inheritance
    15. Method Overloading
    16. super()
  2. Advanced Object Oriented Programming
    1. Special Methods Recap
    2. object Class
    3. defaultdict Data Structure
    4. Inheriting from Builtin Classes, i.e. Data Structures
    5. @classmethod
    6. Alternative Constructors with @classmethod
    7. @staticmethod
    8. Descriptors
    9. Bound vs Unbound Method
    10. Slots
    11. Including __dict__ in Slots
    12. Abstract Base Classes
    13. Multiple Inheritance: Fundamentals, MRO (Method Resolution Order), Diamond Problem, super() Behaviour
    14. Mixin Classes
    15. Metaclasses: type Metaclass, Writing Your Own Function-based and Class-based Metaclasses, Use Cases, Simpler Approaches
  3. SOLID Principles – We discuss SOLID principles that makes code easier to read and maintain. This part is supplemented with exercises showing how to apply (and how not to do this) SOLID in Python. This will be helpful in the second step of each iteration in TDD (as well as BDD), that is writing production code.
  4. Introduction do Design Patterns
    1. Classification
    2. Design Patterns Objectives
  5. Creational Patterns
    1. Singleton
    2. Factory Method
    3. Abstract Factory
    4. Prototype
    5. Builder
  6. Structural Patterns
    1. Adapter
    2. Decorator
    3. Composite
    4. Proxy
    5. Facade
    6. Flyweight
    7. Bridge
  7. Behavioral Patterns
    1. Template Method
    2. Strategy
    3. State
    4. Chain of Responsibility
    5. Command
    6. Memento
    7. Observer
    8. Visitor
    9. Mediator
    10. Iterator

Korzyści dla zamawiającego

Jako zamawiający szkolenie otrzymasz:

  1. Analizę potrzeb i wsparcie w doborze szkolenia w postaci rozmowy telefonicznej ze sponsorem szkolenia, HRem, team leadem lub/i uczestnikami szkolenia. Dodatkowo, analiza potrzeb uczestników na samym początku szkolenia pozwala na jeszcze lepsze wykorzystanie czasu.
  2. Możliwość i wsparcie w dostosowaniu szkolenia pod Twoje potrzeby.
  3. Gwarancję poprowadzenia szkolenia przez eksperta, który pracował m.in. z Google.
  4. Ewaluację szkolenia przez uczestników w postaci elektronicznej ankiety pod koniec ostatniego dnia szkolenia. Wyniki są przesyłane zainteresowanym osobom (najczęściej sponsor + HR).
  5. Prostą komunikację – masz bezpośredni dostęp telefoniczny i mailowy do trenera.
  6. Prosty proces zakupowy – wystarczy jeden telefon lub mail, abyś otrzymał(a) ofertę i aby zarezerwować dla Ciebie termin. Terminy są na wyłączność, nie praktykujemy overbookingu. Wysłanie Purchase Order potwierdza zamówienie.

Klienci, po zobaczeniu efektów tego szkolenia, bardzo często decydują się na inne szkolenia, także dedykowane szkolenia, przygotowywane specjalnie dla nich.

Korzyści dla uczestników

Dodatkowo, w ramach szkolenia uczestnicy otrzymają:

  1. Siedem godzin zegarowych szkolenia każdego dnia brutto, tzn. w tym przerwy.
  2. Konsultacje i doradztwo dla uczestników po każdym dniu szkoleniowym. Nie rozwiązujemy indywidualnych problemów w trakcie szkolenia, skoro rozwiązaniem zainteresowana jest tylko ta jedna osoba. Nie mówimy, że robimy 8 godzin szkolenia, tylko po to aby potem w trakcie szkolenia przeprowadzać indywidualne konsultacje.
  3. Wsparcie poszkoleniowe dla uczestników i sponsora szkolenia, mailowe i telefoniczne.
  4. Instrukcję przygotowania laptopów dla uczestników i, w razie potrzeby, wsparcie telefoniczne, mailowe i Skypowe (chociaż jeszcze nigdy nie było takiej potrzeby). Dzięki temu oszczędzamy czas na początku szkolenia i ruszamy od razu z nauką.
  5. Materiały szkoleniowe zawierające fragmenty kodu, komentarze, ćwiczenia i ich wzorcowe rozwiązania. Materiały są w formie pojedynczej strony internetowej, dzięki czemu uczestnikom jest bardzo łatwo wyszukać interesujący ich fragment. Materiały są dostępne także po szkoleniu. Uczestnicy mogą je także pobrać, aby mieć do nich dostęp offline. Forma materiałów pozwala na dostosowywanie materiałów na bieżąco do potrzeb uczestników, w przeciwieństwie do materiałów drukowanych, które nie pozwalają na np. dodanie komentarzy zasugerowanych przez uczestników.
  6. Środowisko gotowe do wykorzystania po szkoleniu. Nie używamy wirtualnych maszyn, instalujemy wszystko na laptopach uczestników.

Opinie o trenerze

Very inspiring training. I really appreciate the way Chris managed to walk us through the complex world of machine learning using Python. Good course materials updated real time. Highly recommend.

Krzysztof Gębal
Finance Director at DNB Bank Polska S.A.

Well prepared training and reasonably passed knowledge, thanks to which we develop better services.

Arkadiusz Baraniecki
Infrastructure Team Manager at allegro.pl

Chris recently taught a four day class on Machine Learning with Python four our team. The class was very good with the right balance of theory and practice. I cannot think of a better way to give a four day class about such an extensive topic.

Nicolas Leveroni
Head of Krakow Product Control Analytics at HSBC

Więcej referencji znajdziesz tutaj.