Vorlesung

Die Folien zur Vorlesung Software-Entwicklung 2. Die Inhalte werden nach und nach freigeschaltet.

01 – Einführung

Grundlagen, Kursorganisation, Arbeitsweise

PDF

02 – Java Recap

Auffrischung zentraler Java-Konzepte

PDF

03 – Versionierung mit Git

Versionierung mit Git

PDF

04 – Modellierung mit UML

Klassendiagramme, grundlegende Entwurfsdiagramme

PDF

05 – Objekte und Klassen

OOP-Grundlagen, Kapselung

PDF

06 – Abstrakte Klassen und Interfaces

Coupling, SOLID, Polymorphie, Interfaces

PDF

07 – Collections und Generics

Listen, Maps, Typsicherheit

PDF

08 – Exception- und Error-Handling

Fehler- und Ausnahmenbehandlung

PDF

09 – Clean Code

Lesbarkeit, Wartbarkeit, Stilregeln

PDF

10 – Testing und Logging

Unit-Tests, Logging-Konzepte

PDF

11 – Threads

Nebenläufigkeit, Synchronisation

PDF

12 – Streams

Funktionale Verarbeitung von Daten

PDF

13 – GUIs und JavaFX

Grundlegende grafische Oberflächen

PDF

14 – Software-Architektur

Strukturierung größerer Systeme

PDF

Projekt

Studierende bearbeiten im Rahmen der Vorlesung ein Softwareprojekt in Gruppen von 2–4 Personen. Neben der praktischen Umsetzung stehen Struktur, nachvollziehbare Entwurfsentscheidungen und Reflexion des eigenen Codes im Vordergrund.

Gruppenübersicht

Link zur Gruppeneinteilung in Moodle

Die Projektaufgabe

Alle Informationen für das eigene Java-Projekt in SE2.

Java-Startup-Projekt

JavaFX-Template für das eigene Java-Projekt.

GIT

Readme-Markdown Beispiel

Beispiel-Markdown für die README.md zur Übersicht der Dokumentation.

Termin-Kalender zur Vorstellung der Nachdenkzettel

Jede Gruppe muss mindestens einmal einen Nachdenkzettel präsentieren.

Nachdenkzettel

Nachdenkzettel sind kurze, gezielte Denk- oder Reflexionsaufgaben, die Studierende dazu bringen sollen, über Konzepte nachzudenken und diese mit dem eigenen Projekt zu verknüpfen. Insgesamt müssen 10 Nachdenkzettel bearbeitet werden. Die 6 Pflicht-Nachdenkzettel müssen alle bearbeitet werden, von den 8 Wahlpflicht-Nachdenkzetteln sind 4 auszuwählen.

Pflicht (6 von 6)

Git

UML

Vererbung

Interfaces

JUnit

Clean Code

Wahlpflicht (4 von 8)

Collections

Generics

Exceptions

Logging

Threads

Streams

JavaFX

Software Design Pattern

Sonstiges

Vorlesungscode

Beispiel-Code zu den Inhalten der Vorlesung

GIT

Moodle-Kurs

Link zum Moodle-Kurs im Studiengang Medieninformatik

Git Cheat Sheet

Link zum GitHub Cheat Sheet

PDF

UML Cheat Sheet

Link zum UML Cheat Sheet von oose Innovative

PDF

Ausführliches JUnit Tutorial

Link zum JUnit Tutorial von Java Code Geeks

Log4j2 Tutorial

Link zum Log4j2 Tutorial von Pankaj Kumar

JVM Internes

Interessante Infos zur Funktionsweise der JVM

On How We Can Teach

von Prof. Walter Kriha und Prof. Dr. Tobias Jordine

PDF