Course Info
Main advantage | Fast Python implementation in your company without the need for developers to learn the basics on the company’s expense. An efficient way to quickly leverage Python’s usefulness for your team, especially crucial for R&D. |
Duration | a) half-days: 5 days x 4 hours (including breaks) b) full-days: 3 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
- Python Fundamentals
- Lists
- Nested Lists
- Mutability
- References
- Strings
- String Formatting
- Unpacking
- String Splitting and Joining
- Numbers (int, float, Decimal, float limitations)
- Type conversions
- File Streams
- Proper Resource Handling with Context Managers
- Command Line Scripts
- Primitives and Collections
- Types Overview (Primitives vs Collections vs Others)
- Built-in Collections
- Tuples
- Dictionaries
- List Comprehension
- Conditions in List Comprehensions
- Complex Comprehension Expressions
- Nested Comprehension Expressions
- Dictionary Comprehension
- Generator Comprehension
- Sets and Frozensets
- Control Flow
- Conditional Instructions
- Two Alternatives to Switch Statement
- Truthy and Falsy Values
- For Loops
- While Loops
- Else in For and While Loops
- Break & Continue Instructions
- Error Handling (try-except, try-finally)
- Advanced Error Handling (try-except-else-finally)
- Context Managers Usage
- Context Managers Protocol
- Creating Your Own Context Managers
- @contextmanager Decorator
- Introduction to Decorators
- Tooling
- Python Installation
- Checking Python Version
- Command Prompt vs Power Shell
- Executing Python Scripts in Command Prompt / Terminal
- Using Visual Studio Code: Program Layout, Installing Python Plugin, Accessing Terminal, Changing Default Terminal, Turning On Auto-Save etc.
- pip Package Manager and PyPi Repository
- Anaconda Distribution
- conda Package Manager and Anaconda Repository
- Python Documentation
- PEPs
- Functions
- Definition and Function Call
- Parameters vs Arguments
- Positional and Named Arguments
- Returning Multiple Values
- Default Values
- Default Value Trap
- Global and Local Scope
- Global Keyword
- Object Oriented Programming Fundamentals
- Idea of Classes
- Classes vs Instances
- Polymorphism
- self Argument
- Methods vs Functions
- Class & Object Attributes
- Special Methods
- Intermediate Object Oriented Programming (only in 5 days long version and only if the group is advanced enough).
- __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()
- Code Organisation (only in 5 days long version)
- Modules
- Three Import Styles
- Renaming in Imports
- Import vs Execution and __name__ Variable
- Module Search Order, sys.path List and PYTHONPATH Environment Variable
- Packages and __init__ Files
- Accessing REST APIs (only in 5 days long version)
- JSON Format
- JSON Data Types
- Loading and Dumping JSON with Builtin json Module
- Processing Complex Nested JSONs with Comprehension Expressions
- HTTP Protocol: Methods and Return Codes
- Using Postman for Accessing REST APIs
- Accessing REST APIs with requests Third-party Library
- Miscellaneous (only in 5 days long version)
- Persistence with Pickle
- Working with Files and Directories
- Launching and Controlling Subprocesses in a Blocking Way
- Launching and Controlling Subprocesses in a non-blocking Way
- Reading and Writing CSV Files with builtin csv Module
- Reading and Writing CSV and Excel Files with pandas
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