Parallel- und Netzwerkprogrammierung:
Teil 1: Nebenläufige Programmsysteme
- Einführung in nebenläufige Programmsysteme (Prozesse, Threads)
- Multi-Threading mit Java
- Semaphoren (Prinzip nach Dijkstra, Anwendungsarten Synchronisation u. gegenseitiger Ausschluss)
- Standardproblemstellungen (Produzenten/Konsumenten, Leser/Schreiber, speisende Philosophen)
- Abstraktion von Semaphoren (bedingte kritische Abschnitte, Monitore und Condition Variable)
- Deadlock-Problematik
- Entwurfsmuster für die Parallelprogrammierung
Teil 2: Netzwerkprogrammierung
- Sockets - Grundlagen in C++ und Java
- Architektur und Patterns für verteilte Prozesssysteme mit Sockets