Lehrinhalte Programmiersprachen: Einführung in die strukturierte, imperative und objektorientierte Programmierung; informelle, exemplarische Diskussion von Syntax und Semantik einer Programmiersprache Algorithmen: elementare arithmetische Algorithmen, Sortieren von Feldern, Verwalten von Listen, Verwalten und Traversieren von Bäumen mit verschiedenen Strategien, Suchen und Sortieren mit Bäumen, elementare Algorithmen auf Graphen, elementare Hashverfahren, Algorithmen auf Zeichenketten, Laufzeit und Speicherbedarf von Algorithmen Datenstrukturen: Felder und Zeichenketten, Listen, Bäume, Graphen, implizite Datenstrukturen, Hashtabellen Objektorientierte Software: Geheimnisprinzip und Kapselung bei der Konstruktion von Klassen, Nachrichtenaustausch zwischen Objekten, Vererbung, Aufbau von Spezialisierungshierarchien und Abbildung auf Vererbungshierarchien, Einsatz von Ausnahmebehandlung, Anwendung von Generizität, objektorientierter Entwurf Programmierung: informatische Modellierung von Problemen; Implementierung, Testen und Profilen von Programmen. Die begleitenden Übungen zu DAP 1 dienen zur Vertiefung des in der Vorlesung behandelten Stoffes. Dies geschieht durch regelmäßig ausgegebene Übungsaufgaben, die die Studierenden selbstständig bearbeiten. In den Präsenzzeiten der Übung werden die Lösungen der Aufgaben in Übungsgruppen besprochen. Im begleitenden Praktikum zu DAP 1 werden die behandelten Themen durch Arbeiten am Computer praktisch eingeübt. |
- Lehrende:r: Sherif Sobhi Abdelsamie Aamer