Python Practical courses

Schleuniger Messe Muenchen Lotto de

Customized Python Training

Does your team regularly work with the Python programming language? If so, we have just the thing for you! Customized training for Python users and programmers. Get the most out of your projects. Thanks to individual modules, your development team can receive personalized training.

We will certainly find the optimal combination for your team's needs. Bring all your questions. We are happy to take the time to advise you individually.

All courses live

In the Academy or online

Your Team Benefits at a Glance

  • Customized Topics

  • Flexible Dates and Training Formats

  • Experienced Trainers

  • Certificate for Active Participation

  • Learning Material

  • Practice-oriented, Compact and Lively

PYTHON TOPICS AND MODULES

Just a quick note: Each subject area can be deepened upon request. Your needs are prioritized. You decide what your team needs. We create the concept. If your team only wants an overview, then you can select relatively many topics. However, it may then be relatively difficult for the team to apply what they have learned in practice.

So, if you want to work seriously and earnestly with Python, then our experience suggests it's better to select fewer topics and discuss them in depth in the training, while conducting plenty of practice workshops. Here, indeed, "less is more!". We can best identify which topics are purposeful for your team and your projects in a consultation.

We don't preach theory, we solve problems! Get the maximum knowledge for your team. Compile the topics according to your previous knowledge and needs, depending on the project. Because individual learning brings the desired success!

Python Basics

These topics form the foundation of Python. Anyone working with Python must master the content of these modules, whether creating simple scripts or complex programs.

The Python Basics module includes the following focus areas:

  • Python development environments
  • Data types and operations
  • Functions and control flow
  • Basic data structures in Python: List, Tuple, Dictionary, Set

Programming with Python

If a team wants to write more complex software, such as application programs or libraries used outside the team, then the topics in this module are particularly interesting. Here, the focus is on how to write robust programs, organize source code sensibly, and create installable packages that can be given to other developers or users.

The Programming with Python module includes the following focus areas:

  • Introduction to Object Orientation in Python
  • Exception handling (error handling)
  • Organizing projects into modules, packages
  • Installable packages with setup tools

Python as a scripting language

In many teams, Python is used as a language for automating workflows or technical processes. Here, the focus is often not on creating large and complex software solutions but on interacting with external processes, accessing hardware APIs, or integrating C/C++ libraries into Python.

The Python as a scripting language module includes the following focus areas:

  • Automating routine tasks with Python
  • Processing text files and JSON with Python
  • Interacting with external processes e.g., starting, stopping, and controlling hardware tests
  • Including C/C++ libraries in Python programs
  • Implementing hardware APIs: smart home networking

Clean Code / Clean Unit Test in Python

The modules in this topic do not deal primarily with individual language features of Python but with the question: How do I use the features of Python to write program code that has as few errors as possible and is easy to understand, change and extend. The modules in this section are mainly limited to relatively "local" program components like single functions and classes.


Of course, we also go into how to use the relevant language constructs well in the modules that introduce them; the modules in this section delve further into the techniques and also cover aspects that there is no time for in a typical basic or advanced Python course.

Agile Programming: Agile techniques help keep "technical debt" low and keep the software flexible enough to allow the incorporation of new features throughout the life of the project.

The Clean Code / Clean Unit Test in Python module includes the following focus areas:

  • Code Styles in Python: PEP-8 and Extensions
  • Tools for improving code quality (Linter, Type-Checker)
  • Clean Code: Names, comments, functions
  • Effective code and best practice in Python
  • Testing with Pytest
  • Test-first development techniques
  • Test Driven Development (TDD)
  • Executable specifications (cucumber/behave)
  • Refactoring Patterns and refactoring techniques in Python
  • Behavior Driven Development (BDD)

Agile programming

Agile techniques help to keep "technical debt" low and to keep the software flexible enough to allow the incorporation of new features throughout the life of the project.


The Agile programming module includes the following focus areas:

  • Testing with Pytest
  • Refactoring
  • Test-first Development techniques
  • Test Driven Development (TDD)
  • Behavior Driven Development (BDD)
  • Executable specifications (cucumber/behave)

Object orientation, design and architecture

These modules cover the full spectrum of object-oriented programming and show how your team can use a variety of techniques and patterns to better structure programs. Both the basics of object orientation, which are independent of any particular programming language, and many of the unique features of Python, which often go far beyond what other programming languages offer, are discussed here.

The Object orientation, design and architecture module includes the following focus areas:

  • Basic concepts of object orientation
  • User-defined data types
  • The Python data model (Magic Methods)
  • Inheritance, abstract classes and interfaces
  • Protocols
  • Multiple inheritance
  • Practice-relevant software architecture
  • Design patterns in Python
  • Designing, structuring, and implementing large projects:
  • SOLID
  • GRASP
  • Architecture styles, hexagonal architecture

Working with data

One of Python's strengths is the many libraries that make it easy to work with all kinds of data, regardless of what format they are in and what sources they come from.

The Working with data module includes the following focus areas:

  • Files and file system
  • Structured data (JSON, CSV, XML, ...)
  • Self-validating data types with Pydantic
  • Storing Python objects in files (pickle, shelf)
  • Tabular data and time series
  • Working with Office documents
  • Word (python-docx)
  • Excel (openpyxl, pandas)
  • PDF (PyPDF2)
  • SQL and NoSQL databases

Python for server and business applications

Whether web applications, micro services or business applications with graphical user interfaces, Python offers excellent libraries for all these areas. Especially the use and creation of web services is so easy with Python that these techniques can often be used profitably even by smaller teams.

The Python for server and business applications module includes the following focus areas:

  • Concurrent, asynchronous, and parallel programming
  • High-Performance Python
  • Web services/microservices (requests/fastapi)
  • Web Frameworks
  • Django
  • Flask
  • Graphical user interfaces
  • TkInter
  • PySide2/PyQt

Working with legacy code

Every programmer likes to work on modern, well-structured code that is thoroughly documented and tested. Unfortunately, the practice is often different. If you or your team need to maintain a codebase that has structural problems, insufficient documentation, and no or poor testing, then unfortunately we can't promise you that one of our courses will solve the problem overnight. But in these modules you will learn many proven techniques that you can use step by step to get your code into a shape that makes it fun to work with again.

The Working with legacy code module includes the following focus areas:

  • Protection tests
  • Incremental improvement of code and tests
  • Seams and their peculiarities in Python
  • Refactoring patterns for legacy code

Python for Engineers and Data Science

The following list shows some Python libraries that are suitable for processing tasks from the fields of engineering, data science, and visualization.

The Python for Engineers and Data Science module includes the following focus areas:

  • Mathematics/linear algebra: NumPy
  • Tabular Data: Pandas
  • Visualization (matplotlib, seaborn)
  • SciPy (for statistics and scientific computing)
  • Statsmodels (for statistics and forecasting)
  • Pmdarima (time series analysis)
  • Dashboards
  • Streamlit
  • Dash

Python for Machine Learning

We offer many modules from areas such as Natural Language Processing, Image Processing, Recommender Systems and Semantic Search. Here is just a small selection of Python libraries covered.

More information can be found on the Machine Learning page. Contact us if you have a need for training in this area!

The Python for Machine Learning module includes the following focus areas:

  • Scikit-Learn (for data preparation and machine learning)
  • XGBoost: (for Machine Learning with Gradient Boosted Trees)
  • LightGBM: (similar to XGBoost, but more efficient for some applications)
  • Deep Learning/GPU Computing
  • TensorFlow
  • PyTorch
  • Pretrained Models (Huggingface)
  • Haystack

Working effectively as a team

These modules cover techniques that help make teamwork more productive and improve the quality of the resulting software.

The Working effectively as a team module includes the following focus areas:

  • Version control (Git)
  • Docker
  • Continuous Integration (CI)
  • Workflows: Issue Tracking, Pull/Merge Requests
  • Example: working with a local GitLab instance in Docker
  • Kubernetes
  • Elasticsearch/Kibana (OpenSearch/Dashboards)

Examples: Customized Python Courses

These examples illustrate how some courses can be structured for typical customer requirements.

Example 1: Python as a Scripting Language. (2-4 days)

Your team performs hardware tests in the automotive sector and would now like to automate the previously manually controlled tests in Python. So far your team has no, or only little knowledge in Python. Then the following modules would be the right ones:

  • Basics (all of them!)
  • Working with files and structured data (JSON, to read in test specifications)
  • Interacting with external processes and/or including C/C++ libraries in Python programs

Example 2: Object orientation in Python

Your team is working on a Python project. You are all experienced Python developers, but so far you have used Python mainly as a scripting language. Now you want to know what object orientation can do for your project. Then a training for your team could look like this:

  • Basic concepts of object orientation
  • User defined data types
  • The Python data model (Magic Methods)
  • Inheritance, abstract classes and interfaces
  • Protocols
  • Selected Design Patterns

Example 3: Software architecture in Python

You are a team of experienced developers for whom neither Python itself nor the basics of object orientation are new territory. But you want to better structure the large software project you are currently working on and prepare it for future requirements. Then the following modules might be right for you:

  • Practical Software Architecture
  • Design Patterns in Python
  • Designing, structuring and implementing large projects:
  • SOLID
  • GRASP
  • Architecture styles, hexagonal architecture

Your trainers

Dr. Matthias Hölzl
Dr. Matthias Hölzl

Expert: Python, C++, Clean Code, Unit Test, Clean Design

Dr. Stefan Behnel
Dr. Stefan Behnel

Expert: Python, Pytest, Clean Code, Fast Python, Cython

Prof. Dr. Peer Kröger
Prof. Dr. Peer Kröger

Expert: Artificial Intelligence, Data Science, Python, Java

Prof. Dr. Gefei Zhang
Prof. Dr. Gefei Zhang

Expert: Data Mining, Machine Learning, Java, Python

Dr. Matthias Ludwig
Dr. Matthias Ludwig

Expert: Optimize processes, Agile Methods, Java, Python

Allaithy Raed
Allaithy Raed

Expert: Java, Python, Clean Code, Unit Test, Clean Design

Questions and Answers about Python Training

What course formats are available?

3-day on-site course at the Coding Academy

The course takes place in our modern and top-equipped training rooms. We provide each participant with a modern laptop during the training. Drinks are provided by the Coding Academy. You will receive access to the materials no later than the first day of the course.

3-day in-house training on-site at your location

Our trainers are also happy to come to you if this is expressly desired by you and you have a good training room and the necessary infrastructure for the training.

3-day online course

The course takes place online. All you need is a computer with internet access; however, for some courses, it may be necessary to install the software used; this is indicated in the description of the respective course. You will receive access to the materials no later than the first day of the course.

4-Week Training Program

A new and innovative learning concept. You can find more information about the 4-Week Training Programm here.

What is the formal process (ordering, training, invoice)?

  • If you are interested in a training course, it is best to contact us so that we can clarify the technical topics.
  • If you would like to take the training course with us, we will be happy to send you a non-binding offer.
  • If the offer suits you, please accept it (a short confirmation by email is sufficient).
  • If you need an order confirmation, we will be happy to send it to you.
  • Afterwards, we will find a date that fits well for your team.
  • For online training, we will provide you with the link: MS-Teams, BBBServer, or Zoom.
  • A few days after the training, you will receive an invoice with a payment term of two weeks.
  • Upon active participation in the training, participants will receive their certificates by email afterwards.

What distinguishes courses at the Coding Academy?

  • Individual: We specifically address your needs and take into account your previous knowledge, desired topics, and focus areas.
  • Developed by experts using the RAED teaching method®
  • Compact, lively, and entertaining
  • Structured and easy to understand
  • A lot of practice: You can immediately apply the knowledge learned in the course.
  • Theory optimized to the essentials
  • Many examples and tasks, the difficulty of which increases linearly
  • Small groups: max. 8 participants in the 3-day course; max. 15 participants in online coaching
  • Highly qualified trainers with up to 30 years of experience in industry and teaching at German universities and colleges
  • For on-site trainings, we provide modern laptops to the participants at no additional cost.

Do graduates of the Python courses receive a certificate?

Of course, as a participant in a Python course, you will receive a certificate. The prerequisite for this is full participation in all course units and programming tasks, and the successful programming of a small final project. However, after an intensive Python course, this will certainly bring you more joy than stress.

Customer Testimonials

We thank our customers for their trust.

Astrid Elbe 02 lrg web

My joint projects with the Coding Academy have been very successful and absolutely reliable. The course catalog includes the programming languages that are currently most relevant in companies. The courses on improving software quality and productivi...

Show full testimonial

Dr. Astrid Elbe,
Vice President Aviat Networks und ehemalige Managing Director Intel Labs Europe

Our team participated in a 5-week online program (Python Basic Course for Machine Learning) from the Coding Academy at the end of 2022. The training not only fully convinced us in terms of content, but the format also contributed to the success. The ...

Show full testimonial

Dr. Katharina Hirsch,
HUK-COBURG

We have taken as a team a three-day training on "Python Clean Code Architecture" . I can absolutely recommend the courses at this academy....

Show full testimonial

Benjamin Breuell,
Kinexon GmbH

From April 11 to 13, 2022, two of my colleagues and I participated in the Python course for beginners of the Coding Academy Munich online. Although we were a heterogeneous group (I had no previous programming experience, the other two had taught them...

Show full testimonial

Frau Dr. Frei,
Fraunhofer Institut

NO QUESTION REMAINS UNANSWERED HERE!

We are very happy to take time for you. Use our contact form for a written contact. Our team will respond quickly and within 24 hours at the latest. In case of technical questions and to clarify the focal points, which are target-oriented for your team, please use the possibility of a non-binding consultation appointment.