Course Info
Main advantage | Better Python usage in your company, so that developers work faster and write better code, that is easier, faster, and more cost-effective to maintain. |
Duration | a) half-days: 10 days x 3 hours 30 minutes (including breaks) b) full-days: 5 days x 7 hours (including breaks) |
Format | workshop (70% workshop / 30% lecture) |
Venue | a) online or b) client’s office or other place chosen by the client, in Europe |
Enrollment | in-house course for a group of people within one company |
Group size | up to 10 delegates |
Course language | English, Polish or both during the same training |
Course Syllabus
- Intermediate Object Oriented Programming
- __str__ vs __repr__
- __str__ Method vs str() Function
- Classes Imitating Functions with __call__ Special Method
- Encapsulation – Interface vs Implementation
- Protected Attributes
- Private Attributes
- Read-Only @property
- Read-and-Write @property
- Introducing Encapsulation to an Existing Class without Breaking the Interface with @property
- Variable Annotations
- Dataclasses: Usage, Default Values, Default Values Trap, Default Value Factory, Fields Customisation, __post_init__
- Introduction to Single Inheritance
- Attribute Lookup Mechanism
- Code Reusage with Inheritance
- Method Overloading
- super()
- Advanced Object Oriented Programming
- Special Methods Recap
- object Class
- defaultdict Data Structure
- Inheriting from Builtin Classes, i.e. Data Structures
- @classmethod
- Alternative Constructors with @classmethod
- @staticmethod
- Descriptors
- Bound vs Unbound Method
- Slots
- Including __dict__ in Slots
- Abstract Base Classes
- Multiple Inheritance: Fundamentals, MRO (Method Resolution Order), Diamond Problem, super() Behaviour
- Mixin Classes
- Metaclasses: type Metaclass, Writing Your Own Function-based and Class-based Metaclasses, Use Cases, Simpler Approaches
- SOLID Principles – We discuss SOLID principles that make 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.
- Introduction to Design Patterns
- Classification
- Design Patterns Objectives
- Creational Patterns
- Singleton
- Factory Method
- Abstract Factory
- Prototype
- Builder
- Structural Patterns
- Adapter
- Decorator
- Composite
- Proxy
- Facade
- Flyweight
- Bridge
- Behavioral Patterns
- Template Method
- Strategy
- State
- Chain of Responsibility
- Command
- Memento
- Observer
- Visitor
- Mediator
- Iterator
Collaboration Process
- Form. You fill out the form at the bottom of the page.
- Free Consultation. We arrange a free, non-binding online meeting that should last no longer than 50 minutes. From the first contact, full confidentiality is observed, and if necessary, we can start by signing an NDA. The purpose of this conversation is to thoroughly discuss your situation and needs, so we can prepare a solution for you in the next step.
- Solution Proposal + Follow-up Consultation. After the consultation, we analyze your situation and prepare a tailored solution proposal (training and/or consulting). We discuss this proposal during another free consultation.
- Formalities. Signing the contract and making the payment (prepayment). The training date is reserved upon payment.
- Training Sample. If needed, we can precede the main training with a 60-minute training sample to ensure that it is worth your while to cooperate with us.
- Training and/or Consulting Activities.
- Post-training Support – tailored individually to your needs.
References
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