Du hast dich entschlossen, eine Arbeit beim IBR anzufertigen, herzlichen Glückwunsch! Hier möchten wir dir ein paar Tipps aus unserem reichhaltigen Erfahrungsschatz mitteilen, die dir das Leben etwas leichter machen können. Diese Tipps sind eher als "informeller Zusatz" zum Dokument Hinweise zur Durchführung von studentischen Arbeiten gedacht, welches gemeinsam mit der Aufgabenstellung die zu erfüllenden Kriterien beschreibt.
Im Zusammenhang mit deiner Arbeit hier am IBR hast du auch einen Account auf unseren Rechnern bekommen. Deine IBR-Mailadresse lautet <accountname>@ibr.cs.tu-bs.de und du solltest regelmäßig die Mails von diesem Account abrufen. Nähere Informationen (Protokolle, Servernamen, ...) hierzu findest du hier.
Eine sehr gute Einführung zu Git findest du unter http://git-scm.com. Wir verwenden zur Zusammenarbeit eine eigene GitLab-Installation. Wenn du bereits Github kennst, findest du dich schnell zurecht. Für Neulinge gibt es in GitLab überall entsprechende Hilfefunktionen. Als Login funktioniert dein Account, den du von deinem Betreuer bekommen hast.
Zuerst solltest du SSH-Keys für den Zugriff auf unseren GitLab-Server generieren. Beim ersten Login erinnert dich GitLab daran dies zu tun. Ansonsten findest du diese Funktion in deinem Profil. Dort ist auch ein Link zur Hilfe.
Dein/e Betreuer/in hat wahrscheinlich bereits ein Projekt mit einem Git-Repository für dich eingerichtet, welches du im GitLab unter Projects findest (ansonsten kannst du auch selbst Projekte anlegen). Dieses solltest du z.B. für deine Ausarbeitung, den Code, den du schreibst, usw. verwenden. Bitte lege dafür entsprechende Unterverzeichnisse src, thesis, usw. an, es sei denn, dein Betreuer hat dir mehrere Git-Repositories eingerichtet. Falls du das Thesis Framework verwendest, bietet es sich an zwei Git-Repositories zu verwenden. Das eine erzeugst du durch einen Fork des Thesis Frameworks und das andere enhält deinen Code.
Achte bitte darauf, dass du keine temporären oder generierten Dateien (von LaTeX z.B. *.aux, *log, oder von Java *.class) committest. Diese sollten mittels einer .gitignore-Datei ausgeschlossen werden. Gute Commit-Messages sind übrigens sehr wichtig!
Zur Entwicklung von Quellcode, egal ob in Java oder C++, ist unbedingt die Verwendung einer IDE, wie Eclipse oder NetBeans zu empfehlen. Der Code ist regelmäßig, d.h. nicht wöchentlich, sondern beispielsweise nach jedem Bugfix oder allgemein einer alleinstehenden Änderung, lokal zu committen (und mindestens täglich in das Remote Repository zu pushen). Generierter Code und Binaries (*.class, *.o, usw.) werden nicht committet!
Für jede Programmiersprache existieren Best Practices und Coding Conventions, z.B. für Java.
Welche genau benutzt wird, ist relativ egal, aber es ist wichtig sich überhaupt an eine zu halten. Code muss leicht lesbar und in sich konsistent sein! Einheitliche Schemas für Variablennamen sind ein Beispiel dafür. Außerdem sind sinnvolle(!) Kommentare im Code eine absolute Notwendigkeit! Am besten sollte der Code so leicht lesbar und sprechend sein, dass nur wenige zusätzliche Kommentare notwendig sind. Methoden und Klassen werden aber grundsätzlich mit Hilfe von Javadoc oder Doxygen dokumentiert (Getter- und Setter-Methoden sowie andere triviale Hilfsmethoden sind hiervon ausgenommen).
Quellcode und zugehörige Dokumentation wird in englischer Sprache verfasst, egal welche Sprache die Ausarbeitung hat!
Bevor du deine Arbeit anmeldest, erwartet dein/e Betreuer/in von dir ein Exposé für deine geplante Arbeit. Erst wenn dieses Exposé von allen Beteiligten (dir, deinem/r Betreuer/in und dem/r betreuenden Professor/in) unterzeichnet ist, wird die Abschlussarbeit angemeldet.
Nach der Anmeldung der Arbeit sollest du als erstes anfangen, dir einen Zeitplan für deine Arbeit aufzustellen, wenn du dies noch nicht in deinem Exposé gemacht hast. Dieser sollte den gesamten Bearbeitungszeitraum bis zum Abgabedatum umfassen.
WICHTIG: Das offizielle Abgabedatum erhältst du via E-Mail vom Prüfungsamt. Dieser Termin ist der verbindliche. Frage bitte ggf. dort nach.
Für den Zeitplan solltest du dir wichtige Zwischenschritte sowie den dafür notwendigen Zeitaufwand überlegen. Dieses Dokument kann am Anfang natürlich nur relativ grob sein, sollte aber regelmäßig angepasst werden. Bitte bringe dieses vor jedem Treffen mit dem Betreuer auf den aktuellen Stand. Ein geeigneter Ort dafür ist das Git.
Du solltest immer parallel zu allen Arbeitsschritten an deiner Ausarbeitung arbeiten, indem du dir Notizen machst oder einzelne Kapitel weiterschreibst. Schiebe die Ausarbeitung nicht bis zum Schluss auf!
Auch wenn du bereits erste Literatur für dein Exposé gefunden hast, solltest du eine ausführliche Literaturrecherche machen. Auch während deiner gesamten Bearbeitungszeit solltest du regelmäßig nach möglicherweise neu erschienener Literatur suchen.
Notiere dir Ergebnisse deiner Recherche oder Konzepte, die du interessant findest, sofort. Am besten erstellst du dir gleich ein entsprechendes Arbeitsdokument. Wenn man sich erstmal aufs Programmieren stürzt, fehlt besonders bei Masterarbeiten am Schluss die Zeit, die nötig wäre, um eine in sich geschlossene, aber ausführliche Ausarbeitung zu erstellen.
Nicht alles, was irgendwo im Web steht, ist eine sinnvolle Referenz für deine Arbeit! Wissenschaftliche Veröffentlichungen wie Artikel in Fachzeitschriften und Bücher sind Texten im WWW stets vorzuziehen. Auch bei Spezifikationen, Standards etc. ist die formale Referenz grundsätzlich zu bevorzugen. Weblinks sollten normalerweise höchstens als Zusatz angegeben werden und nur als alleinige Referenz dienen, falls es überhaupt keine andere Quelle für das zu referenzierende Dokument gibt. Im Stud.IP findest du einen Online-Kurs zur Literatursuche.
Zur Verwaltung der gelesenen und noch zu lesenden Literatur empfehle ich dir dringend eine Literaturverwaltungssoftware, wie z.B. Mendeley oder Citavi.
Folgende Quellen helfen bei der Literatursuche und bieten meist schon die benötigten BibTeX-Einträge:
Die Einträge in deinem Literaturverzeichnis solltest du mit einer eindeutigen Identifikation versehen, beispielsweise einer fortlaufenden Nummer oder den Anfangsbuchstaben der Autoren zusammen mit dem Jahr der Publikation. Auf jeden Fall sollten Namen der Autoren, Titel des Beitrags, Titel der Publikation (also das Buch oder die Reihe, innerhalb derer der Beitrag veröffentlicht wurde), eventuell Band und Nummer bei Zeitschriften, evtl. Verlag, Ort (der Konferenz oder des Verlags) und das Jahr der Veröffentlichung. Das Literaturverzeichnis sollte nach dem Nachnamen des ersten Autors sortiert sein. BibTeX ist hier eine große Hilfe, denn die Verzeichniseinträge werden automatisch sortiert, außerdem werden die vielen oben genannten Felder automatisch in die richtige Reihenfolge gebracht, sodass du mit wenig Aufwand ein einheitlich aussehendes Literaturverzeichnis erhältst. Verschiedene Editoren helfen auch mit vorgegebenen Feldern für verschiedene Einträge (Artikel, Buch, Zeitschrift, ..).
Im Text selbst gibst du dann die Referenz auf das Dokument in eckigen Klammern an, entweder nach den Fakten, die du beschreibst, oder in den Satz selbst eingebaut. Also z.B. "Mobile Mehrbenutzerspiele erlangen immer größere Bedeutung [2]." oder "In [WW05] wird festgestellt, dass mobile Mehrbenutzerspiele immer größere Bedeutung erlangen." Meist ist der Stil mit der Referenz am Ende des Satzes besser.
Literaturverwaltungssoftware, wie z.B. Mendeley oder Citavi, hilft bei all diesen Schritten und macht das Leben sehr viel leichter! Im Stud.IP findest du einen Online-Kurs zum Thema "Plagiate vermeiden".
Das Exposé dient dazu, dass du frühstmöglich mit der Einarbeitung in dein Thema beginnst. Hierzu musst du in Gesprächen mit deinem/r Betreuer/in die Aufgabenstellung und die Erwartungen an deine Arbeit verstehen und mit ersten Recherchen zum Thema verknüpfen. Eine LaTeX-Vorlage findest du hier. Im Stud.IP findest du einen Online-Kurs, der dir die Funktion und den Aufbau eines Exposés erläutert.
In Hinweise zur Durchführung von Studentischen Arbeiten ist das Wichtigste zum Inhalt der Ausarbeitung enthalten. Wie bereits erwähnt solltest du möglichst früh anfangen zu schreiben. Für die Ausarbeitung ist LaTeX zu verwenden. Im Stud.IP einen Online-Kurs, der auf die wichtigstens Funktionen von LaTeX eingeht und auch die Verwendung unserer Vorlagen behandelt. Für das TU Corporate Design gibt es dedizierte LaTeX-Pakete. Eine weitere, sehr gute Einführung in LaTeX ist z.B. bei der Fernuni Hagen zu finden.
Auf den Seiten des IPS findest du weitere Beispiele, die du gerne zusätzlich verwenden oder anpassen kannst. Außerdem beschreibt Herr Struckmann wie eine studentische Arbeit gegliedert sein muss. Auch Hinweise zur Rechtschreibung (insbesondere für englische Begriffe im Deutschen) stellt Herr Struckmann auf seiner Seite bereit. Im Stud.IP findest du außerdem einen Online-Kurs in dem du einen guten wissenschaftlichen Schreibstil lernst.
Wenn du deinem Betreuer Teile der Ausarbeitung zur Ansicht gibst, dann sollten diese schon ausformulierten Text enthalten. Falls du eine Gliederung abgeben möchtest, so nenne in 2-3 kurzen Sätzen das Thema jedes Kapitels bzw. Abschnitts. In beiden Fällen gilt auf jeden Fall, dass Rechtschreib-, Tipp- und Grammatikfehler bereits verbessert sein sollten, z.B. mit Hilfe eines Spellchecker. Gegen Ende der Arbeit kann es sinnvoll sein, die Ausarbeitung einem Freund oder Bekannten zum Lesen zu geben, da hierbei sehr häufig noch viele Fehler gefunden werden.
In unserer Institutsbibliothek findest du einige Bücher zum Thema "Wissenschaftliches Schreiben":
Diese Bücher kannst du auch ausleihen. Frage dazu deine/n Betreuer/in.
Du und dein/e Betreuer/in werdet regelmäßige Treffen vereinbaren, z.B. jede Woche oder alle zwei Wochen. Bitte bereite dich auf diese Treffen vor, in dem du dir überlegst, wie du deine/n Betreuer/in zügig auf den neuesten Stand bringen kannst. Dabei wichtig Fragen sind z.B.
Noch ein Vortrag, denkst du dir vielleicht. Allerdings ist der Zwischenvortrag bei Masterarbeiten sinnvoll, denn:
Der Zwischenvortrag sollte ca. nach 6 Wochen der Bearbeitungszeit gehalten werden und nicht länger als 15 Minuten dauern. Du kannst selbst auch offene Punkte ansprechen: vielleicht arbeitet ein Zuhörer selbst an ähnlichen Projekten und kann dir weiterhelfen.