Computer Science, 2002-09-24

Module: 
Computer Science
Examiner: 
Vornberger
Assessor: 
Schmid
Date: 
Tue, 2002-09-24

Modulprüfung: Informatik Fachsemester: 2
Prüfer: Oliver Vornberger + Ute Schmid Prüfungsdatum: 24.09.2002
Wiederholungsprüfung? nein Beisitzer: s. Prüfer
Note: A Bereiche nach Zeit: keine Ahnung. Mieses Zeitgefühl. Schätzungsweise
halb und halb, evtl. etwas länger A

Fragensammlung: wie lauteten die Fragen im einzelnen?

Info A:
Angenommen, ein Kunde will die Implementation einer Menge,
wie realisiere ich das? Hashing oder Suchbaum.
Welche Methoden würden vorraussichtlich verlangt? (insert, lookup, delete).
Wie spezifiziert er das? via Interface.
Suchbaum: Wie repräsentiert? Zeichnen. Aufwand beim Suchen? Worst
Case? Wann, wie und warum? Wie funktioniert löschen? Erkläre etwas
umständlich, Vornberger versteht offensichtlich nicht, was ich meine,
fragt so lange nach, bis ich die Antwort noch mal gegeben habe nur
kürzer/klarer. Stichwort Aufwand: Wie kleinhalten? AVL-Baum, Ausgeglichenheit.
Aufwand beim Löschen? Natürlich wie beim Suchen, darauf muss mich
Vornberger aber hinfragen. Aufwand für Rotationen beim Löschen? Keine
Ahnung, Vornberger stösst mich wieder fragenderweise auf die richtige
Antwort (log(n)).
Zurück zum Hashing: Vorteile/Nachteile im Vergleich zum Suchbaum?

Info B:
Wir bleiben bei Datenstrukturen/Mengen: Wie zähle ich sowas auf?`
Visitor oder Enumeration/Iterator. enumerate()-Methode skizzieren.
Dabei nebenbei abgehandelt: Inner Classes, hier anonyme Klasse. Erklären,
warum grade die.
Themenwechsel: Exceptions. Ich soll erzählen, was ich drüber weiss und
plappere herum. Dann: Variation von Elmars puzzle1()-Methode (s.u.):
laut denken, was passiert. Übersehe peinlicherweise zuerst das inkrement
im finally-Block, versage dann mehr oder weniger total dabei zu sagen,
was passiert, wenn "false" übergeben wird. Ute Schmidt fragt mich
freundlich in die richtige Richtung.
Vornberger über das Programm: "Pervers."
Beiderseitige Witzchen darüber, was für ein toller Programmierstil das in
der Realität wäre.
Fin.

Was mußte schriftlich gelöst werden?

InfoA: Skizzierung eines Suchbaums (Implementation, Zeiger) und von Lösch-Operationen.
InfoB: enumerate()-Methode mit anon. Klasse skizzieren (ohne Methoden), wie
rufe ich das dann auf?

Welche Beispiele wurden wofür abgefragt?

siehe oben.

puzzle1:
public class Puzzle {

private int i = 0;

public int puzzle1 ( boolean ex) { // res = 0, i = 2
try {
if (ex) return i/0;
return i++;
} catch (RuntimeException e) {
i++;
} finally {
i++;
}
return i++;
}
public static void main (String argv[])
{
(new Puzzle).puzzle1(true);
(new Puzzle).puzzle1(false);
}
}

Persönlicher Kommmentar, Was war toll? Was war doof? Was war
auffällig?
Wie waren
Einstieg, Ablauf, Ende, Bewertung und Begründung?

Einstieg: (bin noch nicht ganz zur Tür rein) "Sie studieren auch
Cognitive Science? Wir prüfen A und B. Stellen Sie sich vor, sie haben einen
Kunden, der ..."
relativ abrupt, was aber auch gut war. Keine Zeit, um nervös zu werden.
Ende: s. o.

Ablauf: Vornberger fragt sehr exakt, weiß genau, was er hören will. Verunsichert
leicht. (Prüfungssysndrom: Man gibt eine Begründung im Nebensatz, Prüfer will
sie ausformuliert haben, die Frage hört sich aber so an, als sei die Begründung
falsch. Ute Schmidt wirkt lockerer, lässt mehr reden. Wenn sie nachfragt/hilft hat
man im Gegensatz zu Vornberger nicht das Gefühl, sich grade die Prüfung versaut zu
haben (ein Eindruck, der bei Vornberger aber wohl im allgemeinen täuscht). Beide
sind freundlich, leicht distanziert.

Bewertung und Begründung nachvollziehbar. Vornberger weist sogar noch darauf hin,
dass die Abzüge Performance-bedingt sein können.

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

Vornberger: Nein. Man merkt, dass er einen Katalog von Fragen durchgeht.
Schmidt: Ebenfalls kaum. Zwar schien hier der Ablauf dynamischer, aber
das lag wohl groesstenteils daran, dass ich als braver Pruefling
versucht habe, ihre naechsten Fragen zu erraten und gleich mitzubeantworten.

Zum Verhalten des Prüfers:

Beide freundlich, helfen nach. Auch durchaus mehrmals.