Algorithmen und Programmierung III
Vorlesung mit praktischen Übungen
Schweppe,
Walter
Vorlesung 19 510: Di, Do 10-12, 4stündig
Raumänderung: Die Vorlesung findet ab dem 26.10 im Hörsaal statt.
Übung 19 511 (2stündig):
Mo 14-16, SR 039, Joachim Meder
Mo 16-18, SR 039, Joachim Meder
Do 12-14, SR 053, Wilfried Kilian
Do 14-16, SR 044, Robert Münch
Die Übungen beginnen am 19.10 bzw. 23.10 mit einer Einführung in die Arbeitsumgebung.
- Sprechstunde
- Do. 15-16
- Inhalt
- Im 3. Semester des Zyklus "Alhorithmen und Programmierung" werden Daten- und
Programmstrukturen behandelt. Ausgangspunkt ist das Geheimnisprinzip und seine
Bedeutung für die Strukturierung von Programmen und die Konstruktion von
Datenobjekten mittels Modulen und Klassen. Eine zentrale Rolle bei der
Modellierung von Daten spielt der Begriff der Datenabstraktion, verbunden mit
der Unterscheidung zwischen Spezifikation und Implementierung abstrakter
Datenobjekte und -typen. Mengen, Relationen, Listen, Bäume, Graphen u.a.
werden als abstrakte Typen eingeführt. Anschließend werden effizient
manipulierbare Repräsentationen dieser Typen betrachtet und die
zugehörigen Algorithmen auf ihre Komplexität hin untersucht. Weiterhin werden die Themen Speicherverwaltung sowie persistente Objekte/Dateien
behandelt. Programmiert wird sowohl applikativ (Miranda) als auch imperativ. In
der objektorientierten Programmierung wird neben der Datenabstraktion die
Wiederverwendbarkeit mit sogenannten Vererbungshierarchien unterstützt.
Nach der Einführung in grundlegende objektorientierte Mechanismen und
Sprachelemente werden die meisten Algorithmen auf Datenstrukturen
objektorientiert entworfen und implementiert. Sie werden zum Teil
modulorientierten Implementierungen gegenübergestellt. Programmiert wird
funktional (Miranda, Gofer) und imperativ (Modula-2, wegen der
objektorientierten Erweiterungen TopSpeed Vers. 3.x unter DOS).
- Voraussetzung
- Grundstudium 1. und 2. Semester.
- Literatur (Ausführliche Literaturliste)
- Güting, R.H.: Datenstrukturen und Algorithmen, B. Teubner, Stuttgart, 1992.
- Collins, W.J.: Data Structures - an Object-oriented approach, Addison-Wesley, Readings u.a., 1992.
- Übungsblätter
Übungsblatt 1
Übungsblatt 2
Übungsblatt 3
Übungsblatt 4
Übungsblatt 5
Übungsblatt 6
Übungsblatt 7
Übungsblatt 8
Übungsblatt 9
Übungsblatt 10
Übungsblatt 11
Übungsblatt 12
- Musterlösungen
Übungsblatt 2, Aufgabe 3 (von Jo Meder)
Übungsblatt 4, Aufgabe 2 a) Spezifikation des ADT Puffer
Übungsblatt 4, Aufgabe 2 b) Implementierung des ADT Puffer: puffer.def, puffer.mod
Übungsblatt 5, Aufgabe 1
Übungsblatt 7, Aufgabe 2 (Gruppe1, Tutorium1)
Übungsblatt 8, Aufgabe 4
- Klausur
Klausur
Musterlösung zur Klausur
- Nachklausur
ACHTUNG: Die Nachklausur findet bereits am 4.4.96, 10 ct - 14 Uhr im Hörsaal statt!
Bei Intresse findet am 22.3. von 10 - 18 Uhr ein vorbereitendes Tutorium statt.
Zur Teilnahme an dem Tutorium tragen Sie sich bitte bis zum 8.3. in die
Liste im Sekretariat (R. 135) ein.
Letzte Änderung: 23.2.1996 von
Michael Walter