GEDOPLAN

Workshop: Performance Tuning Secrets

Tipps und Tricks zum Einsatz der richtigen Algorithmen und Datenstrukturen mit Python (und Java)

Ihr Programm läuft nicht so schnell wie gewünscht? Lernen Sie typische Performance-Bremsen im Bereich von Algorithmen und Datenstrukturen kennen und wie man diese beseitigt.

Beschreibung

Im Rahmen dieses Workshops möchten wir in die Kunst der Optimierung einsteigen und lernen, wie Aufgabenstellungen durch den Einsatz cleverer Techniken und geeigneter Datenstrukturen effizienter und leistungsfähiger gelöst werden können. Dabei werden grundlegende theoretische aber vor allem auch praktische Aspekte vermittelt, sodass die Teilnehmer:innen nach dem Workshop in der Lage sind, geeignete Algorithmen und Datenstrukturen mit Python (oder Java) clever und gewinnbringend umzusetzen und ihre Programme noch schneller und speichereffizienter zu machen.

Agenda

In diesem interaktiven Workshop behandeln wir mehrere Schlüsseltechniken der Optimierung von Algorithmen und zeigen, wie diese in Python (oder Java) umgesetzt werden können.

Einstieg und Big-O
Wir lernen ein paar theoretische Grundlagen zu Optimierungen kennen und insbesondere auch den Einfluss der Menge zu verarbeitenden Daten.

Berechnungen Pair Sum
Am Beispiel einfacher Berechnungen, die oftmals quadratische Laufzeit besitzen, lernen wir, die Optimierungen «Two-Pointers», «HashMap» und «Sortierung» kennen.

Prefix-Summen
Die Prefixsummen-Technik ermöglicht extrem schnelle Berechnungen auf kumulierten Werten in Arrays bzw. Listen. Dies ist eine essenzielle Methode, um Probleme wie das Berechnen von Teilsummen oder das Lösen von Bereichsproblemen effizient zu lösen.

Rekursion und Memoization
Rekursion erlaubt es, Probleme elegant zu lösen. Zum Einstieg lernen wir den Vorteil durch Sortierung kennen und implementieren die klassische Binärsuche, einmal rekursiv und iterativ. Als Schmankerl schauen wir uns die Varianten «Lower und Upper Binary Search» zum Finden des ersten und letzten Werts bei mehreren gleichen Werten an. Die Eleganz von Rekursion kommt allerdings in der Praxis oftmals mit dem unschönen Nebeneffekt einer langen Laufzeit, etwa bei der Berechnung von Fibonacci-Zahlen. Als Abhilfe lernen wir Memoization als Technik kennen, die Zwischenergebnisse speichert, um wiederholte Berechnungen zu vermeiden. Damit lassen sich dramatische Performance-Verbesserungen erzielen.

Sortieralgorithmen
Eine sorgfältige Auswahl des richtigen Sortieralgorithmus kann einen signifikanten Einfluss auf die Performance haben. Wir schauen uns einführend Selection und Insertion Sort an, um dann QuickSort und MergeSort zu verstehen. Aber es geht mit BucketSort nochmals schneller, nämlich in linearer Zeit.

Clevere Datenstrukturen: Tries — Build your own Auto-Completion
Wollten Sie schon immer einmal wissen, wie man eine Auto Completion implementiert und dies zudem extrem schnell und gut macht? Hier erhalten Sie eine Einführung in Tries als unbekannte Datenstruktur und lernen grundlegende Aktionen damit kennen. Danach implementieren wie eine rasend schnell arbeitende Auto Completion.

Theorie trifft Praxis
Theorie ist wichtig, doch entscheidend für den Lernerfolg sind praxisorientierte Übungen, bei denen die Teilnehmer:innen aktiv an der Optimierung von Algorithmen arbeiten. In diesem Workshop haben Sie die Möglichkeit, die vorgestellten Techniken direkt anzuwenden, eigene Lösungen zu entwickeln und von den Feedbacks des Trainers zu profitieren.

Teilnehmerkreis und Voraussetzungen

Der Workshop richtet sich an erfahrene Softwareentwickler:innen und -Architekt:innen mit soliden Python- oder Java-Kenntnissen, die ein tieferes Verständnis für Optimierungen in Allgemeinen und insbesondere konkrete praktische Ansätze kennenlernen möchten, um Programme noch schneller und speichereffizienter zu machen.

Technische Voraussetzungen
• Aktuelle IDE (Pycharm 2025.1 oder neuer) // Java: IntelliJ    oder Eclipse
• Aktuelles Python 3.13 oder neuer // Java 17, 21 oder neuer
• Notebook mit der Möglichkeit, Sourcen und Beispiele aus dem Netz von GitHub herunterzuladen

Mindestanzahl Teilnehmende: 3 Personen

 

Schulungstermine

24.07.–25.07.2025

Online
2 Tage
Rabatt ab 2 Personen
Plätze frei

1.580,00 €
Details

14.08.–15.08.2025

Online
2 Tage
Rabatt ab 2 Personen
Plätze frei

1.580,00 €
Details

16.10.–17.10.2025

Online
2 Tage
Rabatt ab 2 Personen
Plätze frei

1.580,00 €
Details

Diese Schulung bieten wir auch als maßgeschneiderte Firmenschulung an

GEDOPLAN erstellt für Sie auf Ihre Unternehmensziele zugeschnittene Firmenschulung.
Durch unser modulares Schulungssystem sind wir in der Lage, anhand Ihrer Angaben eine individuelle Schulung zu gestalten. Denn die optimale Weiterbildung Ihrer Mitarbeiter nach Ihren Vorgaben und Anforderungen stehen bei uns im Mittelpunkt.
Bei Interesse nehmen Sie bitte Kontakt, wir führen dann gerne mit Ihnen ein unverbindliches Gespräch

GEDOPLAN - Telefonkontakt

030 / 20 89 82 63 0

GEDOPLAN - E-Mail Kontakt

Tim.Neumann@GEDOPLAN.de

Weitere Schulungen

Vorträge & News zum Thema

News aus Schulung, Beratung & Softwareentwicklung

News aus Schulung, Beratung & Softwareentwicklung

News aus Schulung, Beratung & Softwareentwicklung

Das sagen Kursteilnehmer

Das sagen Kursteilnehmer

Das sagen Kursteilnehmer

Unsere Trainer

Unsere Trainer

Unsere Trainer

Kontakt

Brauchen Sie eine individuelle IT-Schulung, eine fundierte Beratung oder eine individuelle Softwareentwicklung? Dann sind Sie hier genau richtig!

Tim Neumann

Geschäftsleitung

GEDOPLAN GmbH
Stieghorster Straße 60
33605 Bielefeld

GEDOPLAN GmbH
Kantstraße 164
10623 Berlin

    Kontakt

    Tim Neumann

    Geschäftsleitung

    GEDOPLAN GmbH
    Stieghorster Straße 60
    33605 Bielefeld

    GEDOPLAN GmbH
    Kantstraße 164
    10623 Berlin

    Brauchen Sie eine individuelle IT-Schulung, eine fundierte Beratung oder eine individuelle Softwareentwicklung? Dann sind Sie hier genau richtig!