Course Info

Main advantage: fast Python implementation in your company without your developers learning basics at the cost of your company. An opportunity to quickly verify Python usefulness in your team, especially important for R&D

Duration: 3 days

More information:

  • Duration: 7 hours each day brutto (i.e. including breaks) + consultations after every course day
  • Format: workshop (70% workshop / 30% lecture)
  • Venue: online or client’s office or other place chosen by the client, in Europe
  • Enrollment: in-house on-site course for a group of people within one company
  • Group size: max 10 delegates
  • Course language: English or Polish or both during the same training

Course Syllabus

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

Benefits for the Sponsor

As the course sponsor or HR you get:

  1. Analysis of the needs and my help to choose or design a great course during a phone call with the sponsor, HR, team leader or/and course delegates. On top of that, we ask delegates on the very first day what their needs are, to make even better usage of the course time.
  2. Course customisation to your needs.
  3. Guarantee that the course is conducted by an expert that worked for Google.
  4. Course evaluation as an electronic form at the end of the last course day. The evaluation results are sent to interested people (most of often they’re course sponsor and HR).
  5. Simple communication – you can contact the trainer directly by phone or email.
  6. Easy buying procedure – one call or email is enough to get offer and to book a date. I don’t do overbooking. The course is confirmed once you send the Purchase Order.
  7. Friendly business partner – as a rule, I treat all my clients like friends. I don’t build walls, I’m not pretending to be a huge training company and I write in first person.

Clients very often decide to order other training (including dedicated courses) after observing positive results of this course.

Benefits for Delegates

Delegates will benefit because of:

  1. Seven hours course every day (including breaks)
  2. Consultations after every course day.
  3. Support after the course, via email and phone.
  4. Setup instruction before the course to save time at the beginning of the course. I’m happy to help you via email, phone or Skype, zoom.us etc. in case of any questions or issues.
  5. Course materials consisting of code snippets, comments, exercises and solutions. The entire courseware is a single web page which make it very easy to lookup something there. Courseware is available online during and after the training. Delegates can download it to use it offline. Courseware can be updated during the course in real time, so that we can include comments or entire new sections suggested by delegates.
  6. Environment ready to use after the course – we don’t use virtual machines. Instead, we install everything on delegates machines, so that they can reuse the same setup after the course.

References

Below you can find some 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

You can read more references here.