Informatik I - Paul

Datum: 23.3.99
Prüfer: Paul
Name: Stefan Dirnstorfer
Fächer: Bildverstehen (Eckstein)
Grunlagen der Programm und System entwicklung. (Nipkow)
Datenbanken I (Bayer)
Parallele Programmierung (Paul)

Bildverstehen:
Paul: Welche Konzepte haben sie kennen gelernt?
Ich: Morphologische Bildverarbeitung, Segmentierung, ...
Paul: Komplexität bei der Faltung?
Ich: n2, aber wenn separierbar... (mehr wollte er nicht hören)
Paul: Wie siehts bei Videosequenzen aus.
Ich: Haben wir nicht gemacht. (Er wollte wohl irgend etwas über incrementelle Bildverarbeitung wissen.)
GruPSy:
Paul: Was versteht man unter einer Klassendefinition?
Ich: Spezifikation der Sorten und der Schnittstellen
Paul: Spezifizieren Sie einen Binomialbaum
Ich: class BinBaum { empty; create(BinBaum, x, BinBaum); ....}
Paul: Wie zeigt man die Widerspruchsfreiheit?
Ich: Durch eine Implementation.
Paul: Wie kann man das implementieren?
Ich: Mit einer Programmiersprache. z.B. Gofer
Paul: Wie zeigt man die Eindeutigkeit?
Ich: keine Ahnung.
Paul: Was ist das Erzeugungs Prinzip?
Ich: Irgendwie bin ich hier mit dem Begriff nicht zurecht gekommen. Er meinte aber die endliche Erzeugung der Klasse aus den angegeben Konstruktoren.
Paul: Wie erstellt man so eine Spezifikation? Z.B. im Kundengespräch.
Ich: Hier habe ich offensichtlich nichts konstruktives zustande gebracht. Er wollte aber auf Datenbanken überleiten.
Datenbanken:
Paul: Wie sieht die Datenstruktur einer Datenbank aus?
Ich: B-Baum (Bin mir nicht sicher ob das so stimmt. Er war zumindest vorerst damit zufrieden, nachdem er meinen ersten Versuch Datensätze als Tupel und Datenbanken als Mengen von Datensätzen zu speichern kommentiert hat mit: "Sie haben scheinbar keine Vorstellung davon, wie Datenbanken intern dargestellt werden")
Paul: Man kann mehrere Indexe auf einer Datenbank haben. Wann ist das sinnvoll?
Ich: mehr Lese als Schreibzugriffe.
Paul: Wenn sich der indizierte Datensatz ändert, was passiert dann mit dem Index?
Ich: Ich nehme den Eintrag aus dem Baum heraus und setze ihn an der richtigen Stelle wieder ein.
Paul: Welche Komplexität hat das?
Ich: log(n)
Paul: Können Sie das beweisen?
Ich: Man muss maximal die Knoten auf dem Pfad vom Blatt zur Wurzel behandeln. (Das war ihm anscheinend zuwenig. Er wollte die Höhenbalancierung als entscheidendes Prinzip erwähnt haben.)
Paul: Gibt es Bäume, die nicht mit log(n) ausgeglichen werden können?
Ich: Gewichtsbalancierte Bäume.
Parallele Programmierung:
Paul: Was sind Locks? Wozu braucht man sie?
Ich: Exklusive Zugriffs kontrolle....
Paul: Stellen sie zwei mögliche Protokolle in einer Tabelle dar.
Ich: Mir war vollkommend unklar, was für eine Tabelle er gemeint hat und habe einfach irgendwas zu Semaphoren erzählt.
Paul: Was kann man tun damit es nicht zu verklemmungen kommt.
Ich: Transaktionen abbrechen und Rollback. (Der Übergang von Datenbanken zu ParProg war sehr fliessend und ist mir anscheinend entgangen)
Paul: Wie erreicht man maximale Parallelität?
Ich: Ich dachte eigentlich, dass man die maximale Parallelität überhauptnicht garantieren kann, aber er wollte wohl irgandwas wissen, was ich nicht gewusst habe....

Ich bin mir nicht sicher, ob es an mir lag, daß Prof. Paul schon relativ früh sichtlich genervt war, oder ob er einfach schlecht drauf war. Das Bildverarbeitung nicht ernsthaft gefragt werden würde, war mir aus den Prüfungsprotokollen schon bekannt. Aber die Datenbanken hätte ich mir auch sparen können. Bei seinen B-Baum-Fragen hat mir nur die Algorithmen Vorlesung weitergeholfen. Bei GruPSy hätte ich mir noch ein paar Stichwörter anschauen sollen, wie man so eine Spezifikation eigentlich erstellt. War sowas dran? Dass beim letzten Teil (ParProg) keine richtige Konversation mehr zustande kam lag sicher daran, dass wir beide keine rechte Lust mehr hatten uns miteinander zu unterhalten. Die Note 2.7 entsprach zwar der Qualität meiner Antworten, aber ich hätte mir eigentlich mehr Fragen zum Stoff gewünscht.