Kurse der Fakultät Mathematik und Informatik

Der Begriff Multimedia beschreibt die Verknüpfung verschiedener elektronischer Darstellungsformen für Informationen wie Ton, Text, Graphik, Still- und Bewegtbild, Rechneranimation, interaktive Karten oder virtuelle Realitäten. Die Komponenten technischer Systeme und Anwendungen, die Multimediadaten erzeugen, speichern, zusammenführen, verarbeiten, kommunizieren und darstellen, müssen sowohl mit diskreten (z. B. Text oder Bild) als auch mit kontinuierlichen Datenstömen (z. B. Video- oder Audiodaten) umgehen können und ihre Beziehungen, z. B. durch Synchronisation, berücksichtigen.

Dieser Kurs vermittelt begriffliche und technische Grundlagen, die man zur Entwicklung multimedialer Anwendungen und Systeme kennen und beherrschen muss. Der Kurs ist nach Teilgebieten strukturiert. Behandelt werden folgende Themen: Medien und Datenströme, Grundlagen der Audiotechnik, Bild und Graphik, rechnergestützte Animationen, alle Aspekte der Datenkompression, optische Speichermedien, Multimediakommunikation, Dienstgüte und Synchronisation, Hypertext und Hypermedia.

Das Kursmaterial umfasst eine Auswahl der im Buch Multimedia-Technologie – Grundlagen, Komponenten und Systeme von Ralf Steinmetz aus dem Jahr 1999 abgehandelten Themen. Die Selbsttest- und Übungsaufgaben wurden von Bernd Krämer ergänzt, der die Inhalte auch partiell aktualisierte.  

Konrad Zuse ist ein deutscher Computer-Pionier, der im Jahr 1941 den weltweit ersten programmierbaren Rechner, die Z3, vorstellte.  Dieser Kurs kombiniert zwei Schriften über Konrad Zuse, seine Darstellung des von ihm entwickelten Plankalküls, die erste höhere Programmiersprache, sowie vier Videos, die über das Leben Konrad Zuses berichten, seine Zusammenarbeit mit Carl Adam Petri und die von seinem ältesten Sohn Horst gebaute Rekonstruktion der Z3 in Aktion zeigen.

Bild von Wolfgang Hunscher, Dortmund - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=620905


 Dieser Kurs geht davon aus, dass Sie über Programmierkenntnisse in objektorientierten Sprachen, vorzugsweise Java,  verfügen.

Unser Ziel ist es hier, Programme entwickeln zu lernen, die aus mehreren, weitgehend unabhängig arbeitenden Teilprogrammen bestehen und möglicherweise auf verschiedene Rechner verteilt sind. Beispiele für verteilte Anwendugsprogramme sind Reisebuchungssysteme, Bankanwendungen, das Internet und das Worldwide-Web.

Sie werden lernen, wie man die Interaktion und den Datenaustausch zwischen unabhängigen Teilprogrammen so regelt, dass sie die Gesamtaufgabe kooperativ lösen und wie man vermeidet, dass Programmteile blockiert werden, das Gesamtprogramm verklemmt oder Dateninkonsistenzen durch schlecht geregelte Zugriffe auf geteilte Betriebsmittel entstehen.

Sie werden verschiedene Architekturmodelle für verteilte Anwendungen kennenlernen und verstehen, wie man den Zugriff auf lokale und entfernte Ressourcen transparent gestaltet, auch über heterogene Systeme hinweg.