Schlagwort-Archiv: AlgoDat

[WS14/15] Klausur Datenstrukturen & Algorithmen

Die Klausur Datenstrukturen und Algorithmen stand auf dem Programm. Neben umfangreichen Themen im Fach von Abstrakten Klassen, über Exceptions, Generics, Suchbäumen bis hin zu Sortierverfahren, sicherlich eines der anspruchsvolleren Fächer des Studiums.

Zunächst einmal macht es Sinn sich zunächst mit dem Stoff aus EidP gründlich auseinanderzusetzen, da die Inhalte nahtlos aufeinander aufbauen und die Themen sehr kurz und knackig behandelt werden.

Seitdem Wintersemester 13/14 wurde der Praktomat als Online Testtool für EidP zur Verfügung gestellt. Dieses Tool gibt es auch für die Übungsaufgaben aus AlgoDat (Algorithmen und Datenstrukturen).

Die einzelnen Vorlesungen werden zu Kapiteln zusammengefasst. Pro Kapitel gibt es ein Aufgabenblatt, welches die Themen der Vorlesung abdeckt.

Für eine gründliche Klausurvorbereitung hilft nur Üben, üben, üben. Die einzelnen Übungsaufgaben nach Möglichkeit alleine Lösen, Fragestellung systematisch angehen und in Teilaufgaben zerlegen, um die Lösung umzusetzen.

Für die Klausur ist ein 2-seitig beschriebenes DIN-A4 Blatt zugelassen. Allerdings sollte man sich von dem Blatt nicht zu viel Unterstützung erwarten, für die formale Notation vom Quellcode, den Zeitaufwand der einzelnen Sortierverfahren, Baum-Rotationen usw. ist es schon hilfreich. Praktische Klausuraufgaben mit Coding können stark variieren und da hilft das Blatt nur begrenzt weiter.

Hier eine Themenübersicht aus der Klausur AlgoDat:

  1. Abstrakte Klassen (Code) 20 Punkte
  2. Exceptions (Code) 15 Punkte
  3. Doppelt verkettete Liste (Code) 10 Punkte
  4. Quick Sort (Theorie) 16 Punkte
  5. Suchbaum (Code) 15 Punkte
  6. AVL-Bäume (Theorie) 14 Punkte
  7. Heap Sort (Theorie) 16 Punkte
  8. Hashing (Theorie) 12 Punkte

Zu einigen Aufgaben habe ich in GitHub mögliche Code-Beispiele. Die Aufgaben sind nicht final getestet und sollen lediglich als Beispiel dienen.

Als Buchempfehlung ist sicherlich „Java ist eine Insel“ vom Rheinwerk Verlag erwähnenswert, welches Online kostenlos und ständig aktualisiert, bereitsteht.

Um sich weitergehend mit dem Thema Programmierung auseinanderzusetzen kann ich die Google Code Jam empfehlen, ein Programmierwettbewerb von Google in dem man sich mit Gleichgesinnten messen kann.

Für einen Überblick der AlgoDat Klausur aus dem Sommersemester 2014 hier entlang.

[SS14] Klausur Datenstrukturen und Algorithmen

Die Klausur in diesem Semester wurde von Herrn Priesnitz gestellt und unterscheidet sich doch deutlich von den bisherigen Musterklausuren. Das Thema Generics nimmt nun einen deutlich höheren Stellenwert ein. Der Programmieranteil ist deutlich höher gewesen, als bei den bisherigen Aufgaben von Herrn Becker. Punktreiche Aufgaben, wie Abstrakte Klassen definieren ist diesmal vollständig entfallen.

Von meinem empfinden, war der Schwierigkeitsgrad deutlich höher, als bei den bisherigen Klausuren. Die Fragestellung bei ein paar Aufgaben war recht unpräzise, so dass umfangreichere Anworten gegeben wurden, als notwendig waren.

Anbei ein Überblick der Klausuraufgaben der 1. Klausur von Herrn Priesnitz im Fach Datenstrukturen und Algorithmen:

  • Programmieraufgaben
    • Exception
      • Unterschiedliche Implementierungsmöglichkeiten von Exception (try -> catch) und throw
    • Aufgabe ähnlich von UB4 Aufgabe 2
    • Aufgabe ähnlich UB5 Aufgabe 1
  • Aufgabe ähnlich UB5 Aufgabe 3
  • Aufgabe ähnlich UB7 Aufgabe 1 & 2
  • Aufgabe ähnlich UB10 Aufgabe 1 & 2
  • Methode zur Ausgabe der Werte eines Baumes in Postorder-Reihenfolge
  • Theorie Aufgaben
    • Erläuterung der Technischen Unterscheidung zwischen geprüften und ungeprüften Exception
    • Gegebene Zahlenfolge mit Bubble- & Merge- Sort sortieren (UB8 A3)
      • Vorteile der beiden Verfahren gegenüber dem anderen nennen
  • AVL-Bäume
    • Erstellen eines AVL-Baumes (UB11 A1)
    • Löschen von Werten aus einem gegebenen AVL-Baum (UB11 A2)
  • Heap
    • Gegebene Sequenz mittels Heap in Array verwandeln (UB12 A1 & 2)
  • Hashfunktion
    • Angegebene Werte in Hashtabelle einfügen, Kollisionen mittels Quadratisches Sondieren behandeln (UB13 A1)
    • Unterschiede zwischen Quadratischen und Linearen Sondieren erläutern

Als Buchempfehlung ist sicherlich „Java ist eine Insel“ vom Rheinwerk Verlag erwähnenswert, welches Online kostenlos und ständig aktualisiert, bereitsteht.