Computer Science, 2009-09-28

Module: 
Computer Science
Examiner: 
Oliver Vornberger
Assessor: 
Pulvermüller
Date: 
Mon, 2009-09-28

Wiederholungsprüfung?

Note: <1.0>

Bereiche nach Zeit: <10min:10min> (ich wurde etwas früher rausgeschickt)

Fragensammlung: wie lauteten die Fragen im einzelnen?

Informatik A:
- was ist ein endlicher Automat, Definition? (Erbtante weiß: ein 5-Tupel)
- Soso, die Zustandsüberführungsfunktion kann man also graphisch darstellen - zeichnen Sie doch sowas mal auf. (male einen supertollen Automaten mit irgendwie 2 Knoten, genügt schon)
- was kann ein endlicher Automat alles, was kann er nicht? Kann ich einen EA bauen, der mir sagt, ob eine Zeichenkette gleich viele Nullen wie Einsen enthält? Warum nicht? Kann ich jedes java-Programm als endlichen Automaten darstellen? Warum nicht? (nanu, echte verständnisfragen? im 2008er infoA-skript steht's nicht explizit, aber wer in CL nicht komplett gepennt hat kommt auch drauf.)
- Beispielautomat aus der Vorlesung erläutern (bei mir nur mündlich)
- wie kann ich einen endlichen Automaten in Java implementieren? (male ein symbolisches Zustandsüberführungs-Array auf und erkläre es grob)

- machen wir noch ein anderes Thema.. welche Datenstrukturen kennen Sie so? (zähle ein paar auf, ohne irgendwas zu erläutern)
- Was ist denn ein AVL-Baum? (erzähle alles was mir einfällt - definition, laufzeiten etc - und muss daraufhin keine rotation auf papier vorführen, juhu)
- was für eine Laufzeit hat denn so eine Rotation? (->konstant; und weil's mir grade günstig einfällt erzähle ich auch noch, wieviele Rotationen in welchem Fall maximal nötig werden: Vornberger happy)
- vergleichen Sie mal den AVL-Baum mit einer Hashtabelle, Vor- und Nachteile?

Info B:
- Elke verwirrt mich gleich mal: Sie kennen ja viele verschiedene OO- beziehungen. was kann da in Java schief gehen? (hä? erzähle was von der Mehrfachvererbung in java und warum das alles nicht so einfach ist. [Es folgen Fragen nach Mehrfachvererbung bei Interfaces, und was _dort_ noch schiefgehen könnte. Tip: Interfaces können Attribute haben. argh!] Der ganze Vererbungskram war zwar nicht daneben, aber offenbar nicht ihre Absicht-)
- was kennen Sie denn sonst noch für Beziehungen? (Aggregation, Komposition... )
- gut, Komposition. Malen Sie doch mal eine in UML auf. (*mal*)
- so was kann da nun z.b. schiefgehen? (einiges Rumraten meinerseits, mit einiger Hilfe kam ich auf die korrekte Antwort: Angenommen jemand hat noch eine Referenz auf die Komponente und ich lösche das Komposit, dann kann die Kompositions-Beziehung verletzt sein: die Komponente wird nicht verschwinden obwohl ihr Komposit weg ist.)
-kann man da mit "finalize" noch was machen? (nee, GC kommt ja garnicht)

-Nehmen wir an, Sie möchten eine graphische Oberfläche haben. (juhu, themawechsel!) Wie würden Sie das anstellen? Am besten schreiben Sie gleich etwas Code dazu. (schreibe ein AWT-Fenster mit einem Button)
-Sie haben da import java.awt.*; stehen, ist das mit dem Sternchen immer eine gute Idee? (ne.)
-So, sind Sie jetzt fertig? (ja, ich hab da jetzt ein fenster mit einem button drin.)
-echt? Sieht das jetzt auch schon gut aus? (?) Was können Sie tun damit es gut aussieht? (einen Layoutmanager spendieren? Das war offenbar die gesuchte Antwort)
-Und was fehlt jetzt noch? (Ah. Sag doch was; das Ding soll auch noch leben! spendiere noch einen ActionListener für den Button und erzähle was der so tut).

Was mußte schriftlich gelöst werden?

Info A: Kleinen Automaten aufmalen.
Info B: Kompositionsbeziehung in UML aufmalen, Fenster erzeugen + Listener basteln.

Persönlicher Kommmentar, Was war toll? Was war doof? Was war
auffällig?

Elkes Fragestil war teils sehr offen/schwammig (kann am Fach liegen). Aber wer offen fragt dem kann man auch viel erzählen :)
Positiv: Es wird akzeptiert wenn man aus einigermaßen korrekten Gründen zu einem unsinnigen Ergebnis kommt- also laut nachdenken.

Einstieg:
Nicht vorhanden :)

Ablauf
Vornbergers Büro: Raum betreten, angefangen.

Ende:
Vornberger: "Na das war ja ganz erfreulich. 2. Semester? Da haben Sie dieses Damoklesschwert gleich mal hinter sich gebracht?"

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

Hm, ne. Also: Wenn ich einen Baum erkläre und weiß z.B. nichts über Graphen, dann werd ich wohl nicht erzählen dass ein Baum eine Form von Graph ist. Da rede ich halt lieber über Laufzeiten, damit ich danach nach Hashing gefragt werde. Aber Vornberger fragt sicher einfach, was er hören will. Auch Elke ging bei meinem Rumgerate ein Stück weit mit und hat Folgefragen gestellt, kam aber trotzdem auf das Thema zurück das sie von Anfang an hören wollte.