Das Seminar bietet Ihnen einen fundierten Zugang zur Softwareentwicklung. Sie setzen sich sowohl mit den zentralen Strukturen von Java auseinander als auch mit deren Umsetzung in Python - beginnend bei der Syntax über objektorientierte Ansätze bis hin zur Nutzung von Frameworks für die Datenverarbeitung. Dadurch gewinnen Sie ein klares Verständnis für die Gemeinsamkeiten und Unterschiede beider Sprachen im direkten Vergleich.

Zusätzlich zu Kontrollstrukturen, Collections und Multithreading beschäftigen Sie sich auch mit Themen wie dem Design grafischer Benutzeroberflächen, automatisierten Tests, der Anbindung von Datenbanken sowie der Netzwerkkommunikation. Das Angebot richtet sich an Sie, wenn Sie Anwendungen sowohl im klassischen Java-Umfeld als auch in Form flexibler Python-Skripte entwickeln möchten.

o Grundlagen in Java und Python: Syntax, Tools, Ökosystem
o Programmierung: Parser, Compiler, Interpreter, Laufzeitumgebungen
o Grundstrukturen: Variablen, Datentypen, Ein-/Ausgabe, Arithmetik, Zahlensysteme
o Kontrollfluss: if, while, do, for, switch, break, continue, return
o Java-spezifische Konzepte: Deklaration, Zuweisung, Enum, Definitive Assignment
o Collections & Datenstrukturen: Arrays, Listen, Stack, Queue, Hash-Tabellen
o Algorithmen: Rekursion, Such- und Sortierverfahren, Komplexität
o Objektorientierung (OOP): Sichtbarkeit, Vererbung, Polymorphie, Konstruktoren, Interfaces
o Multithreading: Threadsicherheit, Synchronisation, Immutability
o GUI-Entwicklung: Entwurfsmuster, Grafikbibliotheken
o Diagramme & Modellierung: UML, Ablaufdiagramme
o Ausdrücke: Reguläre Ausdrücke (RegEx), Lambda-Ausdrücke
o Datenzugriff: Dateien, Streams, Datenbanken
o Fehlerbehandlung & Analyse: Ausnahmen, Debugging
o Dokumentation: Javadoc
o Distribution & Packaging: JAR, JPackage, JLink, JDeps
o Build & Dependency Management: Maven, Gradle
o Testing: JUnit
o Fortgeschrittene Themen: Einsatz von JNA, Arbeit mit Git, Netzwerkthemen