Java

  • Zur ausführlichen Kursbeschreibung

    Diese Schulung vermittelt den Teilnehmern einen kompakten Einstieg in die Grundlagen der professionellen Programmierung mit Java SE 21.

    Die Teilnehmer lernen die notwendigen technischen Grundlagen der Programmausführung in der Java Virtual Machine (JVM) kennen und erhalten einen fundierten Überblick über die Merkmale der Programmiersprache Java in der Version 21, die im Herbst 2023 herauskam und nach den Versionen 8, 11 und 17 wieder Long Term Support genießt.

    Sie lernen die grundlegenden Klassen für Standardaufgaben aus dem Alltag der Softwareentwicklung kennen. Über die Sprache hinaus wird auch das Umfeld vorgestellt und einbezogen, wie Java heutzutage in Projekten entwickelt wird, z.B. um daraus Container für ein Cloud-Deployment zu erzeugen.

  • Zur ausführlichen Kursbeschreibung

    Diese Schulung vermittelt die Neuerungen, die in Java nach der LTS Version 11 dazugekommen sind, bis hin zur Version 21, die im September 2023 released wurde und die ebenfalls Long Term Support genießt. Daneben wird auch das moderne Umfeld kurz vorgestellt, wie Java heutzutage z.B. nativ kompiliert und in Containern in der Cloud ausgeführt werden kann.
    Der Kurs wird standardmäßig mit IntelliJ durchgeführt, nach Absprache kann eine andere IDE (Eclipse, Visual Studio Code) verwendet werden.

  • Zur ausführlichen Kursbeschreibung

    Diese Schulung vermittelt den Teilnehmern weiterführende Konzepte und Arbeitstechniken für die Oberflächengestaltung mit JavaFX, dem Nachfolger von Java Swing. Anhand eines schulungsbegleitenden größeren Beispiel-Projekts sowie vieler kleiner Beispiele werden typische Fragestellungen aus der Entwicklung von realen Geschäftsanwendungen geklärt, insbesondere die komplexeren Teile wie etwa eigene Darstellungen und Editoren in Tabellen und Bäumen (sowie bei der TreeTable), die Einsatzmöglichkeiten der gebräuchlichsten Diagrammtypen sowie eine Skizzierung der Entwicklung eigener Komponenten.
    Es wird eine jeweils aktuelle Version von JavaFX verwendet.

  • Zur ausführlichen Kursbeschreibung

    Die neueste Version der Jakarta Enterprise Edition wird hier ausführlich vorgestellt, wobei die Unterschiede zu früheren Versionen und ein Vergleich zu anderen Enterprise Architekturen dargestellt werden.

    Bei den zahlreichen Einzeltechniken werden die moderenen wie CDI und JAX-RS, die auch im Zeitalter von Cloud Native weiter aktuell und Bestandteile des Eclipse Microprofile sind, detaillierter behandelt. Aber auch die älteren Teile wie EJB oder JSF, die Bestandteile vieler Produktivsysteme sind, werden erklärt und praktisch realisiert.

    Der Kurs wird standardmäßig mit dem Wildfly Applikationsserver durchgeführt, nach Vereinbarung ist ein anderer Server möglich.

Kotlin

  • Zur ausführlichen Kursbeschreibung

    Kotlin ist eine statisch typisierte, von Java abgeleitete Sprache, die zunächst v.a. im Kontext der Android-Entwicklung verwendet wurde. Inzwischen nimmt sie auch die Rolle von Java als Universalsprache ein und wird z.B. mit Spring Boot, für API-Entwicklung oder für GUIs verwendet. Sie enthält zahlreiche pragmatische Erweiterungen/Vereinfachungen gegenüber Java.

  • Zur ausführlichen Kursbeschreibung

    Kotlin setzt sich als Universalsprache in vielfältigen Anwendungsbereichen durch, entweder mit etablierten Java-Frameworks oder mit eigenen Bibliotheken und Frameworks. Neben vielen kleineren Praxisbeispielen wird hier auch eine durchgängige Anwendung mit einem serverseitigem Restful Service (Ktor) sowie einer Desktop-GUI (Compose Desktop) entwickelt.

  • Zur ausführlichen Kursbeschreibung

    Das Framework Ktor basiert auf Coroutinen und erlaubt es, asynchrone Server und Clients zu erstellen. Hier werden die typischen Einsatzgebiete vorgestellt: Dynamische Website bzw. Web Applikation, Restful Backend (API) und chatartige Anwendungen mit WebSockets.
    Die Serverseite steht im Mittelpunkt dieses Kurses, doch wird auch die Gegenseite entwickelt, sowohl mit der Ktor eigenen Clientbibliothek als auch über andere Optionen wie den Netzwerkclient ab Java 11 (von Kotlin aus nutzbar).

Python / Deep Learning
(in Vorbereitung)

  • Zur ausführlichen Kursbeschreibung

    Python wird hier von Grund auf vorgestellt, doch strebt der Kurs schnell anspruchsvolle Konzepte an, sodass er nicht als allgemeiner Einstiegskurs in die Programmierung geeignet ist.

    Insbesondere konzentrieren sich die Themen auf Einsatzmöglichkeiten bei Deep Learning und blenden vieles aus, was dort üblicherweise nicht verwendet wird, wie z.B. GUI mit Tkinter oder Web.

    In den letzten Jahren sind die Anwendungsmöglichkeiten von KI deutlich umfangreicher geworden, besonders stark hat sich das im Bereich Deep Learnung gezeigt, der durch Transformer wie ChatGPT sogar in den Mainstream-Medien auftaucht. Meist wird als Programmiersprache Python verwendet, und bei den Frameworks führen Pytorch und Tensorflow, wobei sich Pytorch mehr an den Python-Konventionen orientiert und vieles ähnlich wie bei Numpy funktioniert.

    Der Kurs vermittelt Intuition für die Konzepte aus Mathematik und Statistik, implementiert einige einfachere Anwendungen von Grund auf und zeigt am Ende den Einstieg in Pytorch mit dem Multilayer Perzeptron, das die Grundlage für neuronale Netze darstellt. Nach dem Kurs sind die Teilnehmer in der Lage, in die verschiedenen Kategorien von Deep Learning wie CNN, RNN einzusteigen.

  • Zur ausführlichen Kursbeschreibung

    Der Kurs führt über lineare und logistische Regression hin zu Multilayer Perceptrons, den grundlegenden Schichten von Deep Learning. Hierbei werden viele Basisbausteine in Pytorch detailliert vorgestellt, einige zum besseren Verständnis auch mit Numpy von Grund auf implementiert. Danach werden CNNs behandelt, die in vielen Anwendungsbereichen v.a. bei Bilddaten im Einsatz sind.
    Im Laufe des Kurses werden auch vollständige Beispiele mit Trainingsschleife, Testläufen, Ausgabe der Losswerte und Visualisierungen durchgeführt.

  • Zur ausführlichen Kursbeschreibung

    Der Kurs bietet einen Überblick über mehrere fortgeschrittene Themenbereiche innerhalb Deep Learning, die neue Anwendungstypen ermöglichen und inzwischen oft schon Teil des Alltags geworden sind.

    Zu jedem Haupttyp (GAN, RNN, Transformer) wird mindestens ein Beispiel ausführlich durchgeführt, teilweise als Jupyter Notebook, teilweise in einer IDE wie Visual Studio Code. Zusätzlich werden Beispiele mit vorgegebenem Code ausgeführt und untersucht sowie einige moderne Netzwerke in ihren Grundideen vorgestellt wie z.B. BERT und GPT Varianten.

    Der Kurs gibt darüber hinaus mathematische Hintergrundinformationen sowie Tipps für die praktische Realisierung als Softwareprojekt