Im Folgenden sind Foliensätze verlinkt, die für verschiedene Lehrveranstaltungen genommen werden können.
Die Foliensätze sind modularisiert, um sich an die jeweiligen Anforderungen der Vorlesungen anpassen zu lassen.
Im Folgenden sind Vorschläge für einige sinnvolle Kombinationen zu finden.
Die grundlegende Idee hinter der folgenden Reihenfolge ist, dass die Studierenden zuerst die Grundlagen der Programmierung in Java lernen und sich dann (kurz) mit der objekt-orientierten Modellierung realer Systeme beschäftigen, bevor dann mit der objekt-orientierten Programmierung in Java begonnen wird.
Aufgrund der Entwicklungen im Bereich Generative AI (z. B. Copilot, Claude, etc.) ist es sinnvoll auch auf diesen Bereich einzugehen, damit die Studierenden grundlegende Kompetenzen im Bereich Prompting erwerben.
Einführung in die Programmierung (prog-einfuehrung/folien.de.rst.html)
Grundlagen der Programmierung in Java (prog-java-basics/folien.de.rst.html)
Verwendung von Arrays in Java (prog-java-arrays/folien.de.rst.html)
Modularisierung von einfachen Java Programming (prog-java-modularisierung-101/folien.de.rst.html)
Es wird lediglich diskutiert, wie Methoden in Klassen organisiert werden können und wie man diese aus anderen Klassen heraus aufrufen kann.
Einführung in die Modellierung mit UML (prog-modellierung_mit_uml/folien.de.rst.html)
Objekt-orientierte Programmierung in Java - Einführung (prog-java-oo/folien.de.rst.html)
Objekt-orientierte Programmierung in Java - Vererbung und Polymorphie (prog-java-oo-inheritance/folien.de.rst.html)
Objekt-orientierte Programmierung in Java - Domain Modeling, Java Records und Java Enums (prog-adv-java-domain-modeling/folien.de.rst.html)
Objekt-orientierte Programmierung in Java - Generics (prog-adv-java-generics/folien.de.rst.html)
Compiler und Interpreter (prog-interpreter-vms-und-compiler/folien.de.rst.html)
Softwareprojekte bauen, testen und vermessen (se-build-test-measure/folien.de.rst.html)
Java Projekte mit Maven aufsetzen (prog-adv-java-projects/folien.de.rst.html)
Versionsverwaltung mit GIT (se-versionskontrolle/folien.de.rst.html)
Objekt-orientierte Programmierung in Java - Funktionale Programmierung (prog-adv-java-funktionale-programmierung/folien.de.rst.html)
Objekt-orientierte Programmierung in Java - Ein-/Ausgabe (prog-adv-java-ea/folien.de.rst.html)
Ergänzend:
Generative AI und Programmierung (se-using-llms/folien.de.rst.html)
Einführung in die Komplexität von Algorithmen (theo-algo-komplexitaet/folien.de.rst.html)
Suchen auf Arrays (theo-algo-suchen_auf_arrays/folien.de.rst.html)
Genetische Algorithmen (theo-algo-genetic_algorithms/folien.de.rst.html)
Lineare und Mixed-Integer Programmierung (theo-algo-mixed_integer_programming/folien.de.rst.html)
Hashing und Hashmaps (theo-algo-hashing/folien.de.rst.html)
Formale Sprachen (theo-algo-formale_sprachen/folien.de.rst.html)
Einführung in verteilte Systeme (ds-einfuehrung/folien.de.rst.html)
Introduction to Distributed Systems (ds-introduction/folien.en.rst.html)
HTTP und Sockets in Java (ds-http-and-sockets-java/folien.de.rst.html)
HTTP and Sockets in Java (ds-http-and-sockets-java/folien.en.rst.html)
Alternativ:
HTTP und Sockets in Python (ds-http-and-sockets-python/folien.de.rst.html)
Nebenläufigkeit und Synchronisation (in Java) (ds-nebenlaeufigkeit-java/folien.de.rst.html)
Concurrency and Synchronization (in Java) (ds-concurrency-in-java/folien.en.rst.html)
Alternativ:
Nebenläufigkeit und Synchronisation (in Java) (ds-nebenlaeufigkeit-python/folien.de.rst.html)
Grundlegende Konzepte (ds-grundlegende-konzepte/folien.de.rst.html)
Basic Concepts (ds-basic-concepts/folien.en.rst.html)
Einführung in Middleware (ds-middleware/folien.de.rst.html)
Introduction to Middleware (ds-introduction-to-middleware/folien.en.rst.html)
Architekturen von verteilten Systemen (ds-architekturen/folien.de.rst.html)
Architectures of Distributed Systems (ds-architectures/folien.en.rst.html)
Ergänzend bzw. Vertiefend
Virtualisierung und Container (ds-containers/folien.de.rst.html)
Zusammenspiel von agilen Methoden und Entwurf verteilter Systeme (ds-se-agile/folien.de.rst.html)
Entwurfsprinzipien für verteilte Systeme (ds-se-entwurfsprinzipien/folien.de.rst.html)
RESTful Web Services (ds-restful/folien.de.rst.html)
Introduction to RESTful Web Services (ds-introduction_to_rest/folien.en.rst.html)
XML und XPath (ds-xml/folien.de.rst.html)
Zusammenspiel von agilen Methoden und Entwurf verteilter Systeme (ds-se-agile/folien.de.rst.html)
Entwurfsprinzipien für verteilte Systeme (ds-se-entwurfsprinzipien/folien.de.rst.html)
Projekt bauen, testen und vermessen (se-build-test-measure/folien.de.rst.html)
Projektmanagement (se-projektmanagement/folien.de.rst.html)
Versionskontrolle (se-versionskontrolle/folien.de.rst.html)
HTML (web-html/folien.de.rst.html)
XML und XPath (ds-xml/folien.de.rst.html)
JavaScript (web-javascript/folien.de.rst.html)
Ergänzend
Vortragsthemen, die sich gut in die Vorlesung einfügen (web-vortragsthemen/folien.de.rst.html)
[Optional] Cybersecurity (sec-cybersecurity/folien.de.rst.html)
[Optional] Klassische Sicherheitsprinzipien (sec-klassische-sicherheitsprinzipien/folien.de.rst.html)
Einführung in die Zahlentheorie (sec-einfuehrung-in-die-zahlentheorie/folien.de.rst.html)
Klassische Verschlüsselungsverfahren (sec-klassische-verschluesselungsverfahren/folien.de.rst.html)
Blockchiffre (sec-blockchiffre/folien.de.rst.html)
Endliche Körper (sec-endliche-koerper/folien.de.rst.html)
Betriebsmodi von Blockchiffren (sec-blockchiffre-operationsmodi/folien.de.rst.html)
Stromchiffren (sec-stromchiffre/folien.de.rst.html)
Public-Key-Kryptographie (sec-public-key-kryptographie/folien.de.rst.html)
Hashfunktionen (sec-hashfunktionen/folien.de.rst.html)
Authentifizierte Verschlüsselung (sec-authentifizierte-verschluesselung/folien.de.rst.html)
Passwortsicherheit (sec-passwortsicherheit/folien.de.rst.html)
Nutzerauthentifizierung (sec-nutzerauthentifizierung/folien.de.rst.html)
Passwortwiederherstellung (sec-passwortwiederherstellung/folien.de.rst.html)
TCP SSH Firewalls (sec-tcp-ssh-firewalls/folien.de.rst.html)
CVSS-CVE-VEP (sec-cvss-cve-vep/folien.de.rst.html)
CWE-OWASP (sec-cwe-owasp/folien.de.rst.html)
Einführung in das Dokumentenmanagement (dm-einfuehrung/folien.de.rst.html)
Erfassung und Indizierung von Dokumenten (dm-erfassung-und-indizierung/folien.de.rst.html)
Dokumentenmanagement und rechtliche Aspekte (dm-rechtliche-aspekte/folien.de.rst.html)
Reguläre Ausdrücke (lab-regexp/folien.de.rst.html)
Die Linux Shell (lab-shell/folien.de.rst.html)
Kurze Darstellung ausgewählter Aspekte des Softwareprojektmanagements (se-softwareprojektmanagement/folien.de.rst.html)
Bei Vorträgen zu beachten (allg-vortraege/folien.de.rst.html)
Bei Ausarbeitungen zu beachten (allg-ausarbeitungen/folien.de.rst.html)