Programmieren 2

Dieser Kurs baut auf dem Kurs Programmieren 1 auf. Es gelten die gleichen Bedingungen für die Klausur. Das Java-Buch kann weiter genutzt werden.

Dieser Kurs wird Sie in die Methodik des testgetriebenen (test-driven) Programmierens einführen. Sie werden sich dabei mit dem sinnvollen Einsatz von Interfaces und einigen wesentlichen Grundprinzipien des Programmierens beschäftigen (z.B.: dont-repeat-yourself, program to interface)

Wir werden außerdem einen Blick in einige grundsätzliche Datenstrukturen in Java werfen. Sie werden sie ausgiebig und praktisch mit Streams, der Datenserialisierung und -deserialisierung beschäftigen.

Wir werden uns mit der Programmierung von einfachen verteilten Anwendungen basierend auf TCP beschäftigen und uns dabei Multithreading anschauen.

Sie werden einen ersten Einstieg in Vererbung und Polymorphie erhalten, ein Thema das in Programmieren 3 und Software-Engineering vertieft wird.

Wir werden uns Programme als Automaten betrachten und über Zustände, Zustandmaschinen und Protokollmaschinen sprechen. Am Ende des Kurses sollten Sie in der Lage sein, einfache OO-Programme nach den aktuellen Regeln der Kunst zu implementieren, zu dokumentieren und zu testen. Sie sind damit fit für Programmieren 3 und Software-Engineering. Dort geht es darum wie man große Programme sinnvoll strukturiert.

Am Ende der Veranstaltung steht eine Programmierklausur. Sie werden innerhalb von 90 Minuten ein testbares Programm schreiben. Diese Klausur wird benotet.

Im Laufe des Semesters werden wir eine Anwendung schreiben. Wir werden Entwicklungsschhritte (Meilensteine) definieren. Diese Meilensteine müssen termingerecht erreicht werden.

Die semesterbegleitenden Arbeiten sind Einzelarbeiten - keine Gruppenarbeiten.

Semesterbegleitendes Projekt - Details / Termine

Links

Siehe Links von Programmieren 1

Lecture Notes

Wiederholung / Hinweise Programmieren 1

Neues

Bau einer verteilten Anwendung am Beispiel TicTacToe

Im Laufe des Semester entwickeln wir eine verteilte Anwendung basierend auf TCP. Meistens werden wir ein Spiel implementieren. Ich habe das beispielhaft mit TicTacToe in mehreren Schritten getan. In einem Film wird das Problem beschrieben. In einem weiteren Implementiere ich den Teil und kommentiere den Code.

Hinweis: Die Filme sind im mp4 Format angelegt. Manche Browser spielen die direkt ab. Manche Browser haben aber offenbar Probleme mit dem Ton. Hier die Botschaft: Es gibt eine Tonspur. Ganz sicher. Wenn Sie Probleme damit haben: Laden Sie das File herunter und spielen es mit einem anderen Viewer ab, z.B. VLC (Wir ignorieren einmal das zweifelhafte Werbebanner. Die Software ist deutlich besser als der Geschmack der GUI-Macher. Meine Güte....)

Klausur