Informationen zu Abschlussarbeiten der Datenbank-Gruppe

Allgemeine Informationen

Diese Seite enthält allgemeine Informationen zu Bachelor- und Master-Arbeiten. Es handelt sich um meine persönlichen Sichtweise, keineswegs um offizielle Informationen des Prüfungsausschuss-Vorsitzenden (das bin momentan auch ich). Möglicherweise haben die Kollegen in einigen Punkten eine etwas andere Auffassung. Informieren Sie sich bei dem jeweils in Aussicht genommenen Betreuer Ihrer Arbeit.

Selbständigkeit

Zunächst muss man verstehen, dass eine Abschlussarbeit eine selbständige Arbeit ist. Sie sollen natürlich zeigen, dass Sie die Kompetenzen, die Sie in Ihrem Studium erworben haben, auf ein etwas größeres Projekt anwenden können. Aber wir schließen nicht am Anfang einen Vertrag, mit einer detaillierten Liste, was Sie genau tun müssen, und haken am Ende ab, was Sie davon geschafft haben.

Selbstverständlich reden wir immer wieder darüber, was die Ziele für die Arbeit sind, und wie diese Ziele zu erreichen wären. Sie sind keineswegs allein gelassen. Aber ich mache keine Vorschriften, wie ich es etwa bei Tutoren machen könnte, die für eine konkrete Aufgabe angestellt sind. Letztendlich kommt es am Ende darauf an, dass Sie "genug" geschafft haben, also nützliche Beiträge zu neuen Erkenntnissen geliefert haben. Ob Sie genau das getan haben, was ich mir am Anfang gewünscht habe, ist dabei eher nebensächlich — sofern ich Ihre Arbeit überhaupt verstehen und damit begutachten kann. Die Arbeit muss schon in mein Arbeitsgebiet fallen.

Es ist ja auch so, dass, wenn man etwas grundsätzlich Neues entwickeln will, manchmal unerwartete Schwierigkeiten auftreten. Dann kann eine Neujustierung des Ziels im Laufe der Arbeit notwendig sein. Oder man findet interessante neue Fragestellungen, während man an dem Thema arbeitet, so dass auch dann eine Änderung des Schwerpunkts möglich ist. Das muss kein Nachteil sein. Ich garantiere natürlich dafür, dass man in dem ausgegebenen Themenbereich das Ziel erreichen kann. In regelmäßige Besprechungen (z.B. alle 2–4 Wochen) bekommen Sie eine Einschätzung, ob Sie noch in einem vernünftigen Zeitplan liegen und ggf. Hinweise/Ideen, was Sie als nächstes tun könnten.

Wissenschaftliche Arbeit

In der Prüfungsordnung steht zur Bachelor-Arbeit:

Die Bachelor-Arbeit im Bachelor-Studiengang Informatik ist eine Modulleistung, in der die Studentin/der Student zeigen soll, dass sie/er in der Lage ist, im Rahmen des vorgegebenen Arbeitsaufwandes ein Problem mit wissenschaftlichen Methoden zu bearbeiten.

Es geht also um Wissenschaft. Das bedeutet z.B., dass es sich nicht um eine Entwicklung von Software handeln kann, die es ganz ähnlich auch schon von anderen gibt (Standard-Software). Die Abschlussarbeit sollte zu einem Erkenntnis-Gewinn führen, also wenigstens in Teilen etwas Neues entwickeln. Je weiter man in der Skala "Bachelorarbeit, Masterarbeit, Doktorarbeit" ist, desto grösser werden die Anforderungen an den Neuigkeitsgrad. Zu den üblichen Anforderungen an wissenschaftliche Arbeitsweise gehört auch:

  • Man sollte (mit Hilfe des Betreuers) einschlägige Literatur finden und lesen. Man muss alle benutze Literatur zitieren, z.B. auch Wikipedia-Artikel, aber im Literaturverzeichnis sollten auch einige echte wissenschaftliche Arbeiten auftauchen, und im Haupttext der Arbeit kurz zusammengefasst werden (zumindest Teile, die für die eigene Zielstellung relevant sind). Der Gutachter möchte später ja auch glauben können, dass die wissenschaftlichen Arbeiten wenigstens teilweise wirklich gelesen wurden, und nicht einfach nur ins Literaturverzeichnis aufgenommen, weil es dann besser aussieht.
  • Man muss den eigenen Ansatz mit schon exitierenden Ansätzen vergleichen, und dabei den Neuigkeitswert des eigenen Ansatzes herausstellen.
  • Der eigene Ansatz muss präzise beschrieben sein, möglichst mit Hilfe von Formalismen, die im Studium vorgekommen sind. Nur Beispiele oder ausschließlich informellen Erklärungen reichen nicht.
  • Der Text muss sinnvoll strukturiert sein (lesbar, verständlich). Man denke darüber nach, welches Vorwissen vom Leser erwartet wird, und erkläre alle weiteren Grundlagen. Z.B. kann man alles voraussetzen, was ein anderer Student, der sich über Bachelorarbeiten informiert, also ca. im 4–5. Semester ist, wissen müsste. Es macht kaum Sinn, das relationale Modell und SQL nochmal zu erklären. Wenn schon, dann nur sehr kurz und knackig. Es wäre vielleicht möglich (aber keine Bedingung), die erste Seite der Einleitung so zu schreiben, dass auch Ihre Großmutter (die nicht Informatik studiert hat) verstehen kann, worum es geht. Ansonsten macht es aber wenig Sinn, viele Seiten darauf zu verschwenden, Inhalte der Datenbank-Grundvorlesung nochmal zu wiederholen. Ich bin ja auch ein wichtiger Leser, den Sie berücksichtigen sollten. Ich freue mich natürlich, wenn Sie etwas sehr schön zusammenfassen, oder noch neue, eigene Beispiele bringen. Aber es müsste sich schon deutlich von meinen Vorlesungsfolien unterscheiden, wenn es Ihnen irgendwelche Punkte bringen soll. Es würde auch keine Punkte bringen, wenn Sie zu einem Thema ein Tutorium aus dem Internet ins Deutsche übersetzen. Wenn es zu einer verwendeten Technologie noch kein passendes Tutorium gibt, und Sie etwas Eigenes entwickeln, ist das natürlich ein Beitrag, selbst wenn die Fakten schon in Referenzen im Internet verfügbar sind.
  • Stellen Sie aber sicher, dass alle benutzen Quellen aufgelistet sind, und der Gutachter an jeder Stelle korrekt verstehen kann, was von Ihnen stammt und was nicht. Es reicht nicht, eine Quelle nur in den Referenzen zu nennen, wenn man ein größeres Stück Text daraus mehr oder weniger wörtlich übernommen hat. Es gehört auch zum wissenschaftlichen Arbeiten, den Urheber/Erfinder/Original-Autor von Ideen und Textteilen korrekt zu benennen. Für allgemein bekanntes Lehrbuchwissen, was in Grundvorlesungen des Studiums vorkommt, brauchen Sie aber nicht unbedingt ein bestimmtes Lehrbuch zu nennen — es sei denn, Sie halten sich eng daran. In erster Linie geht es ja darum, dass der Gutachter erkennen kann, was Ihre eigenen Ideen und Beiträge sind. Der Gutachter wird natürlich allgemein bekanntes Lehrbuchwissen auch kennen.
  • Meiner Ansicht nach gehört zur Wissenschaft immer auch die Veröffenlichung der Resultate. Eine richtige wissenschaftliche Arbeit wäre natürlich das Optimum, aber das wird bei Bachelorarbeiten wohl nur relativ selten erreicht (mit kräftiger Mitarbeit des Professors nach Abschluss der eigentlichen Bachelorarbeit, wenn die Arbeit sich dafür eignet). Aber auch die Abschlussarbeit selbst sollte zumindest interessierten Personen auf Anforderung zur Verfügung gestellt werden. Man braucht die Arbeit ja nicht gleich ins Netz zu stellen (das müssten Sie jedenfalls selbst machen). Aber Studierende, die zuküftig an dem jeweiligen Projekt weiterarbeiten wollen, sollten Ihre Abschlussarbeit auch lesen dürfen. Zumindest, wenn Ihre Arbeit mindestens mit 2.0 bewertet wurde. Die Bewertung erfahren andere Studierende natürlich nicht. Ebenso sollten auch andere Forscher, mit denen ich zusammenarbeite, oder die sich für die Thematik interessieren, Ihre Arbeit lesen dürfen. Wissenschaft lebt vom Gedankenaustausch, und wenn ich Ihre Arbeit nicht bei Bedarf zur Verfügung stellen könnte, wüsste ich gar nicht, wie ich sie denn zitieren kann. Formal ist es aber so, dass Abschlussarbeiten als Prüfungsleistungen eingestuft werden, und weggeschlossen werden müssten. Wenn Sie das wirklich wollen, teilen Sie mir das bitte möglichst frühzeitig mit.

Zeiteinteilung

Der Text aus der Prüfungsordnung verweist auch auf den "vorgegebenen Arbeitsaufwand". Die 15 LP für die Bachelorarbeit (mit Verteidigung) entsprechen einem durchschnittlichen studentischen Arbeitsaufwand von 15*30 = 450 Stunden. Es ist sicher zur Selbstkontrolle nützlich, sich die tatsächlich geleisteten Arbeitsstunden aufzuschreiben, um zu sehen, ob man ungefähr im Zeitrahmen liegt. Zu den Kompetenzen, die man mit der Bachelorarbeit unter Beweis stellen muss, gehöhrt auch, dass man sich für eine so große Aufgabe selbst organisieren und motivieren kann. Es wird ja nicht ausbleiben, dass unerwartete Schwierigkeiten auftauchen, durch die man sich hindurch kämpfen muss. Bei inhaltlichen Schwierigkeiten stehe ich natürlich als Betreuer zur Verfügung, bei Bugs in Programmen oder anderen technischen Schwierigkeiten kann ich eher weniger helfen. Auch muss man mit eventueller Frustration umgehen können, wenn es nicht ganz so perfekt wird, wie man es sich erträumt hat. Auch Zeiteinteilung ist eine wichtige Kompetenz, die mit der Arbeit abgeprüft wird. Wenn man am Anfang zu lange nichts tut, und die Arbeit aufschiebt, reicht die Zeit am Ende vielleicht nicht mehr.

Da die meisten Abschlussarbeiten auch die Entwicklung eines Prototyps beinhalten, ist wichtig, die Zeit zwischen Programmieren und Schreiben der Arbeit vernünftig aufzuteilen. Maximal ein Drittel der Zeit sollte in die Programmentwicklung fließen, den Rest brauchen Sie für die konzeptionelle Arbeit und das Schreiben der eigentlichen Abschlussarbeit. Sie können ein ganz tolles Programm entwickeln, aber wenn Sie nichts dazu schreiben, fallen Sie trotzdem durch. Letztendlich ist der schriftliche Teil der Arbeit entscheidend. Allerdings hängt ein wesentlicher Teil des Inhalts der Arbeit oft von dem Programm ab, z.B. weil Sie Ergebnisse von Programmläufen brauchen, oder auch um den Leser zu überzeugen, dass wirklich alle praktisch relevanten Aspekte bedacht sind. Eventuell werden Sie die geforderte Präzision bei der Darstellung Ihrer Ideen im schriftlichen Teil auch nur erreichen, wenn Sie eine sauber strukturierte Implementierung erstellt haben. Natürlich gibt es auch Extrapunkte für ein stilistisch gutes Programm mit schöner Benutzerschnittstelle. Umgekehrt würden für Programmabstürze bei den Tests Punkte abgezogen. Aber in erster Linie kommt es auf die Algorithmen an, und auf die Ideen, die im Programm stecken. Unterschätzen Sie nicht den Aufwand für den schriftlichen Teil der Arbeit!

Bei manchen Arbeiten sind auch Daten wichtig, die mit dem Programm berechnet wurden (oder auch Laufzeiten). Dabei stellt sich für den Gutachter dann die Frage, wie vertrauenswürdig die Daten sind. Dafür wäre wieder eine gute Programm-Dokumentation und ein offensichtlich guter Programmierstil von Vorteil. Außerdem sollten natürlich Plausibilitätsüberlegungen angestellt werden, und die berechneten Werte möglichst gut erklärt werden.

Man sollte zwischen Programmentwicklung und Schreiben der Arbeit abwechseln, z.B. vormittags schreiben und nachmittags programmieren. Es ist vermutlich keine gute Idee, erst das Programm fertigzustellen, und danach den Text der Arbeit schreiben zu wollen. Wenn z.B. sich die Fertigstellung des Programms verzögert (und man kann es immer noch besser machen), wird die Zeit für das eigentliche Schreiben zu kurz. Da man auch mit dem Schreiben längerer Texte keine Erfahrung hat (zumindest bei der Bachelorarbeit), kann sich dann auch herausstellen, dass man die Zeit dafür völlig unterschätzt hat. Während man mit einem Programm, das nicht ganz den erhofften Funktionsumfang hat, noch immer eine gute Note bekommen kann (wenn der schriftliche Teil stimmt), würde fehlende Zeit beim Text der Arbeit sehr schnell zu einer schlechteren Note bzw. auch zum Nicht-Bestehen führen.

Wenn das Programm schon fertig ist, macht es auch keinen Spaß mehr, es noch zu dokumentieren. Dagegen ist eine Planung des Programms und seiner Teile vor dem eigentlichen Programmieren gute Praxis, und kann durchaus Spaß machen. Diese Planung muss man natürlich schriftlich niederlegen. Man sollte auch begründen, warum man sich bei mehreren möglichen Alternativen so entschieden hat, wie man es am Ende programmiert hat. Bei einer Abschlussarbeit ist mindestens zum Teil auch der Weg das Ziel.

Auch Schwierigkeiten, die man hatte, sollte man darlegen (sofern man nicht hinterher denkt, dass das blöd und peinlich war). Wenn Sie drei Tage für einen Irrweg oder die Lösung eines technischen Problems verbrauchen, und Sie legen das in der Arbeit dar, bringt das auch "Punkte", so dass sich die drei Tage wenigstens teilweise gelohnt haben. Ihre Arbeit soll ja auch für Personen nützlich sein, die zuküftig ein ähnliches Programm entwicklen wollen. Insofern können auch negative Informationen, dass etwas nicht funktioniert (mit Begründung) wertvoll sein.

Bedenken Sie bitte, dass Sie am Ende mindestens eine Woche, besser zwei, benötigen, um Ihre Arbeit Korrektur zu lesen. Lesen Sie Ihre Arbeit noch einmal vollständig von vorne nach hinten. Achten Sie darauf, dass Begriffe definiert sind, bevor sie verwendet werden (sofern sie nicht vorausgesetzt werden, und deswegen überhaupt nicht definiert werden). Prüfen Sie, ob Ankündigungen, was in der Arbeit gemacht wird, auch zu dem passen, was später in der Arbeit tatsächlich erreicht wurde. Achten Sie auf Rechtschreibung und Kommasetzung. Seltene Fehler sind kein Problem, wir machen alle ab und zu Fehler. Aber bei häufigen Fehlern kann auch das zu einer Verschlechterung der Note führen.

Geben Sie Ihre Arbeit möglichst schon einige Tage vor dem offiziellen Schluss ab. Der Termin ist hart. Wenn Sie einen Tag zu spät abgeben, sind Sie durchgefallen. Da es immer zu unerwarteten Schwierigkeiten kommen kann, ist es besser, spätestens am vorletzten Tag abzugeben.

Die Erfahrung zeigt auch, dass längeren Pausen bei der Bearbeitung des Themas ein Risiko sind. Es fällt dann immer schwerer, sich zu motivieren, wieder anzufangen. Außerdem muss man erst wieder in das Thema hineinkommen, und hat manches schon vergessen. Versuchen Sie also, "am Ball zu bleiben", und wenigstens alle paar Tage sich auch einige Stunden mit der Abschlussarbeit zu beschäftigen.

Einarbeitungszeit

Wenn Sie sich für eins der hier aufgeführten Themen interessieren, lassen Sie uns miteinander reden. Üblicherweise gibt es vor dem offiziellen Start der Arbeit noch eine Einarbeitungszeit von ca. 1–2 Monaten, in der Sie relativ leicht erklären können, dass Sie mit dem Thema doch nichts anfangen können. Natürlich soll damit nicht einfach die Bearbeitungszeit verlängert werden — wenn Sie richtig loslegen, muss die Arbeit auch angemeldet werden. Das dient ja auch zu Ihrem Schutz: Erst mit der Anmeldung ist formal abgesichert, dass Sie auch Anspruch auf die Betreuung dieses Themas haben. Außerdem hilft die harte Zeitschranke, die notwendige Arbeit nicht immer weiter aufzuschieben oder eine schon sehr gute Arbeit unbegrenzt weiter zu perfektionieren. Aber es scheint mir sinnvoll, dass Sie sich zunächst etwas unverbindlich mit dem Thema beschäftigen, schon einmal ein Inhaltsverzeichnis der Arbeit skizzieren, und ein paar Probeseiten schreiben, damit wir über den Stil reden können. Sie sollen sich ja einigermaßen klar darüber sein, was zu tun ist. Die in dieser informellen Einarbeitungszeit geleisteten Stunden können Sie sich ja auch notieren, und später mit bedenken. Die Einarbeitungszeit ist auch begrenzt — wenn wir über ein Thema sprechen, und Sie interessiert scheinen, aber ich höre dann länger nichts mehr von Ihnen, gehe ich davon aus, dass ich das Thema anders vergeben kann. Es wäre natürlich höflicher, wenn Sie mir mitteilen, dass Sie sich für ein anderes Thema entschieden haben, oder Sie die Bachelorarbeit doch erst später machen wollen.

Zweiter Versuch

Falls dies Ihr zweiter (und damit letzter) Versuch ist, stellen Sie sicher, dass ich das weiss. Es müssten dann engmaschigere Besprechungen stattfinden. Achten Sie auch selbst mit darauf, dass wir uns sehr regelmäß treffen (z.B. alle zwei Wochen).

Prof. Dr. Stefan Brass
Impressum