Computer Science, 2004-01-01

Module: 
Computer Science
Examiner: 
Vornberger
Assessor: 
Thiesing
Date: 
Thu, 2004-01-01

//Keine Garantie für richtige Antworten//

Modulprüfung Info A + B Fachsem.: 2

Prüfer: Oliver Vornberger + Frank Thiesing
Wiederholungsprüfung: nein; Beisitzer: Prüfer haben sich gegenseitig protokolliert
Note: B
Zeit: 15 / 15

Fragensammlung:

Info A:
Stichwort Hash-Orgnisation? Was versteht man darunter? Umgang mit Kollisionen beim
geschlossenen Hashing? Vergleich von linearem und quadratischem Sondieren; perfekte
Hash-Funktion
En detail: Laufzeit beim Hashing (Abfrage der Beispielwerte aus dem Skript für erfolgreiche
und erfolglose Suche, Aufmalen des Diagramms, das den Kurvenverlauf bei steigendem
Auslastungsfaktor für erfolgreiche /-lose Suche darstellt), Vergleich mit dem AVL-Baum
bezüglich Laufzeit und Platzbedarf (Antworten zum Platzbedarf fielen meinerseits eher
spärlich aus...); Ausgabe der gespeicherten Elemente in sortierter Reihenfolge (inorder-
Traverse beim AVL-Baum, sortierte Ausgabe beim Hashing möglich?)
Kurzum: recht detaillierte Abfrage des Hashing-Kapitels, ein paar Bezüge zum AVL-Baum
Info B:
1.) Exceptions
Recht allgemein, von wegen „Erzählen Sie mal was!“, Aufschreiben eines Beispiels, bei
dem irgendeine Exception entsteht (nach eigenem Gusto), diese mit passendem catch-
Block abfangen / behandeln, Fragen zu einem zusätzlichen ‚finally’-Block: wann wird der
ausgeführt? (immer), Wie generiert man selbst eine Exception?
2.) Netzwerkprogrammierung
Protokolle (TCP / UDP), Client-Server-Kommunikation: wie funktioniert das?,
Aufschreiben der zentralen paar Zeilen Code für das Zustandekommen der Verbindung
auf Client- und Serverseite, d.h. Erzeugen eines Sockets mit IP-Adresse und Portnummer
(Client) bzw. eines Serversockets mit Port-Nummer mit anschließendem ‚accept()’-Aufruf
(Server), Fragen: An welcher Stelle warten Server und Client jeweils auf das
Zustandekommen der Verbindung? Wie könnte Server mehrere Clients verwalten?

Was musste schriftlich gelöst werden?

Diagramm zur Laufzeitentwicklung bei erfolgloser /-reicher Suche beim geschlossenen
Hashing (Info A)
Codebeispiel für Auftreten einer Exception + Behandlung mit ‚try-/catch’-Anweisung +
ergänzend: ‚finally’-Block, eigenständiges Erzeugen einer Exception
Code für Verbindungsaufbau bei TCP-Client-Server-Kommunikation (Info B)

Kommentar: Was war gut?

Angenehme Atmosphäre, hatte nicht den Charakter einer öffentlichen mündlichen Prüfung
(z.B. mdl. Abi)
Vornberger war – entgegen dem, was ihm in einigen der Protokolle nachgesagt wird – gar
nicht mal kühl oder distanziert, sondern einfach sachlich, ruhig, hat ab und zu genickt und bei
unbefriedigenden Antworten nochmal nachgehakt
Thiesing war freundlich, hat auch direkt positives Feedback auf richtige Antworten gegeben

Was war nicht so dufte?

z.T. war mir aus Thiesings Fragen nicht immer unmittelbar klar, worauf er genau hinaus
wollte (was nicht unbedingt an ihm gelegen haben muss...)

Einstieg?

„Sie sind also auch Kognitionswissenschaftler...“, kleines Anfangsgeplänkel, recht direkter
Einstieg mit Hashing

Ablauf

Beide ließen zunächst reden, versuchten die Frage anders zu formulieren, wenn sie mir unklar
war und halfen bei Problemen bzw. wenn mir offensichtlich nichts einfiel nach

Bewertung und Begründung

Kurze, aber hinreichende Begründung, nachvollziehbar

Lässt sich der Prüfer von den Antworten leiten?

Beide hatten ein festes Programm, dennoch hatte ich nicht das Gefühl, dass es ein
mechanisches Katalogabarbeiten war; je nach Qualität der Antworten wurde nachgehakt