Hinweise Arbeiten
From Rtwiki
Note: Most of this page is in German. Future additions should be done in English. At some point, some good soul might translate the German "legacy documentation" to English as well.
Diese Seite gibt Hinweise, welche bei der Anfertigung einer studentischen Arbeit an der AG Echtzeitsysteme und Eingebettete Systeme beachtet werden sollten. Dies betrifft in erster Linie Studien-/Diplom-/Bachelor-/Masterarbeiten; die Hinweise können aber auch bei der Anfertigung von Praktikumsberichten - oder auch Promotionsarbeiten - hilfreich sein.
Contents |
Interaktion mit dem Betreuer
Eine gute Zusammenarbeit mit Ihrem Betreuer (dies können auch mehrere sein) ist ein wesentlicher Schlüssel für eine erfolgreiche Arbeit. Ihr Betreuer sollte Ihnen an Erfahrung und Fachwissen voraus sein - nutzen Sie dies, um zu lernen und Ihre Arbeit zu verbessern.
Betreuer sind auch Menschen. Sie helfen Ihnen gerne bei der inhaltlichen Arbeit; weniger gerne spielen sie "Antreiber", oder haben das Gefühl, dass ihre Hinweise/Ratschläge/Informationen (incl. der Hinweise auf dieser Seite) nicht wirklich Gehör finden. Grundsätzlich sollten Sie selbst es sein, welcher Ihre Arbeit vorantreibt, Fragen stellt, Besprechungen initiiert, Ihrem Betreuer unaufgefordert Leseproben zukommen lässt. Kurzum, der Betreuer sollte überzeugt sein, dass Ihre Arbeit "läuft".
Grundlage einer guten Kommunikation mit dem Betreuer ist erfahrungsgemäß Ihre Präsenz vor Ort. Wir sind normalerweise in der Lage, Ihnen einen Arbeitsplatz am Lehrstuhl einzuräumen, typischerweise im Labor. Sie sollten diesen Arbeitsplatz für Ihre Arbeit nutzen, und nicht den heimischen PC. So ergibt sich ganz von selbst ein regelmäßiger, oft informeller Austausch, z.B. im Rahmen der üblichen "Lehrstuhl-Teerunde", täglich 9:30 im Labor, zu der auch Sie herzlich eingeladen sind.
Eine Ausnahme sind Arbeiten, welche in Zusammenarbeit mit einem Industrieunternehmen angefertigt werden. Diese werden in der Regel fachlich primär von dort betreut und Sie sollten Ihren Arbeitsplatz bei dem Unternehmen haben. Hier sollten Sie den universitären Betreuer mit regelmäßigen Fortschrittsberichten (E-Mail alle 4-6 Wochen) über den Fortgang Ihrer Arbeiten informieren.
Ihre Diplomarbeit ist ein Vollzeitjob; Sie sollten also im Normalfall täglich am Arbeitsplatz sein. Wenn Sie daneben einer regelmäßigen Arbeit nachgehen, sollten Sie mit dem Betreuer absprechen, wie dies mit der Anfertigung Ihrer Abschlussarbeit vereinbart werden kann.
Zeitlicher Ablauf
Sie sollten insbesondere bei der Anfertigung der schriftlichen Ausfertigung auf die Erfahrungen des Betreuers zugreifen. Sie sollten dem Betreuer also Entwürfe Ihrer Arbeit zukommen lassen, bevor Sie die zu benotende Endversion einreichen. Ihre Entwürfe sollten dabei aus Ihrer Sicht möglichst reif sein, müssen aber noch keineswegs vollständig sein. Eine bewährte Sequenz von abzuliefernden Dokumenten ist (mit zeitlichen Richtwerten für Diplomarbeiten):
- Gliederung (3 Monate vor Abgabe)
- 1-2 Probekapitel (4 Wochen vor Abgabe)
- Komplette Arbeit (2 Wochen vor Abgabe)
Die Abgabe der kompletten Arbeit vor der offiziellen Abgabe dient unter anderem dazu, das stylistische/orthographische Korrekturen noch in die Arbeit einfließen können, bevor diese offiziell abgegeben/veröffentlicht ist. Das dient nicht nur der Verbesserung der Arbeit, sondern ist auch für den Betreuer befriedigender.
Für Arbeiten, welche in Zusammenarbeit mit einem Industrieunternehmen angefertigt werden, gilt diese Sequenz ebenso; Sie sollten hier jedoch Entwürfe, welche Sie dem universitären Betreuer zukommen lassen, vorher entsprechend von Ihrem Betreuer aus dem Unternehmen durchsehen lassen.
Hinweise zu Implementierungen
Erste Regel: "No Crashes!" Egal was Ihr System tut und welche Nutzereingaben geschehen, die Implementierung sollte nicht abstürzen oder einfrieren. Wo Annahmen gemacht werden, sollten diese explizit überprüft werden. Im Falle der Nichteinhaltung sollte eine brauchbare Fehlermeldung generiert werden, und der Anwender sollte weiter mit der Implementierung arbeiten können.
Generell: Ihre Arbeit wird sehr wahrscheinlich auch einen praktischen Teil enthalten, in welcher Sie Software oder Hardware entwickeln oder erweitern sollen. Das akademische Umfeld Ihrer Arbeit bedeutet in der Regel, dass für diese Entwicklung weniger Ressourcen - insbesondere zeitliche Ressourcen - als in einem kommerziellen Umfeld zur Verfügung stehen, und dass sich Ihre Arbeit nicht am Markt behaupten muss. Die Konsequenz daraus ist, dass Ihre Arbeit in der Regel weniger umfangreich sein sollte und weniger Features bieten sollte als ein kommerzielles Produkt. Die Konsequenz ist nicht, dass Sie ihre Implementierung weniger sorgfältig vornehmen sollen, oder schlechter dokumentieren sollen, als dies in einem professionellem Umfeld der Fall wäre. Im Gegenteil - während bei kommerziellen Produkten der Termindruck, die Notwendigkeit zu ständigen Neuentwicklungen, und zum Teil eine gewisse Ignoranz auf Kunden- und/oder Entwicklerseite den Qualitätsstandard senken können, sollte die von Ihnen hier erstellte Implementierung Ihr „Meisterstück“ sein, welches zeigt, wozu Sie (im positiven Sinne) fähig sind. Es gilt hier zwar, dass Produktfehler keinen erheblichen wirtschaftlichen Schaden verursachen können oder gar Menschenleben gefährden können; jedoch ist auch hier Ihre Arbeit in der Regel nicht isoliert und „nur“ Teil Ihrer Ausarbeitung, sondern etwas, was andere anwenden und weiterentwickeln sollen. Die Qualität (und Benotung) Ihrer Arbeit wird (unter anderem) an der Qualität Ihrer Entwicklung gemessen.
Zur Verdeutlichung: wenn Ihre Arbeit eine Machbarkeitsstudie (proof of concept) sein soll, bedeutet dies, dass Sie Ihre Arbeit in Absprache mit dem Betreuer auf eine wohldefinierte Teilmenge des Gesamtproblems einschränken sollen. Es sollte für den Anwender klar erkennbar und vorhersagbar sein, was Ihre Implementierung leistet und was nicht. Sinnvolle Einschränkungen können zum Beispiel sein: „die Transformation betrachtet nur pure signals, keine valued signals ... Es können keine hierarchieübergreifenden Transitionen gezeichnet werden“. Keine sinnvolle Einschränkung ist: „Mal funktioniert das Einfügen eines Zustands - mal stürzt das System ab.“ Wenn im Laufe Ihrer Implementierungsarbeit ersichtlich wird, dass bestimmte Implementierungsziele nicht erreicht werden können (aufgrund falscher Einschätzung des Problems, oder aufgrund schlechter Ressourcenplanung), sollte sofort mit dem Betreuer abgesprochen werden, wie das Problem sinnvollerweise eingeschränkt werden könnte; es sollte nicht zu einer schlampigen Entwicklung führen. Schließlich gilt: es ist für etwaige Teamkollegen/Nachfolger von Ihnen eine wesentlich dankbarere Aufgabe, auf Ihrer kleinen, sauber entwickelten Arbeit aufzusetzen und diese um neue Features zu erweitern, als zu versuchen, Ihre große, defekte Arbeit auf einen brauchbaren Qualitätsstandard anzuheben - oder diese ganz wegzuschmeißen und von vorne anzufangen.
Grundsätzlich gilt: Die Software ist „sauber“ zu schreiben und zu dokumentieren, unter Beachtung eines evtl. vorhandenen Projekthandbuchs. Die Qualität und Leserlichkeit Ihrer Software sowie der Dokumentation geht in die Bewertung Ihrer Arbeit mit ein.
Hinweise zur Ausarbeitung
Umfang
Folgendes sind grobe Richtwerte für den Umfang der Arbeit, ohne Titelseite, Inhalts-/Abbildungsverzeichnis, leere Seiten, Bibliographie, Anhänge, etc.
- Studien-/Bachelorarbeit: 30-50 Seiten.
- Diplom-/Masterarbeit: 70-120 Seiten.
Sprache der Arbeit
Sie können die Arbeit auf Deutsch oder Englisch verfassen. Falls Sie die Arbeit nicht in Ihrer Muttersprache schreiben, wäre es hilfreich, wenn ein muttersprachlicher (oder ähnlich qualifizierter) Korrekturleser Ihre Arbeit auf sprachliche Richtigkeit korrigieren könnte, bevor Sie die Arbeit Ihrem Betreuer geben. Software sollte generell auf Englisch geschrieben werden - d.h., Kommentare, Variablen-/Klassen-/Paketnamen etc. sollten englisch sein.
Hinweise für englischsprachige Arbeiten
- Lesen und beherzigen Sie Strunk & White (siehe unten).
- Lesen und beherzigen Sie Strunk & White (siehe unten).
- Lesen und beherzigen Sie Strunk & White (siehe unten). Außerdem:
- Sätze sollten nicht mit „But“ oder „And“ anfangen. Stattdessen: „However, ...“ bzw. „Furthermore, ...“.
Schlecht:
„But this is of exponential complexity. And there is no known alternative.“
Gut:
„However, this is of exponential complexity. Furthermore, there is no known alternative.“
- Die Verwendung des Wortes „like“ im Sinne von „such as“ ist umgangssprachlich und sollte vermieden werden. In noch stärkerem Maße gilt dies für die Bedeutung „as if“.
Schlecht:
„I, like you, like fast algorithms, like Tarjan's algorithm, ... He uses a sorting algorithm of quadratic complexity, like there is no alternative.“
Gut:
„I, like you, like fast algorithms, such as Tarjan's algorithm, ... He uses a sorting algorithm of quadratic complexity, as if there were no alternative.“
- Mit „which“ wird eine Ergänzung gekennzeichnet, welche in Kommata eingeschlossen wird und deren Streichung nicht sinnentstellend wirkt. Mit „that“ wird eine nähere Identifizierung gekennzeichnet, welche nicht gestrichen werden kann. Und: vor „that“ steht kein Komma!
Schlecht:
„I told him, that the quicksort algorithm that is very fast is used by the program, which I installed yesterday.“
Gut:
„I told him that the quicksort algorithm, which is very fast, is used by the program that I installed yesterday.“
- Im allgemeinen werden die Wörter „section“, „figure“ etc. klein geschrieben, falls sie nicht am Satzanfang stehen. Falls jedoch eine spezifische Einheit gemeint und durch eine Nummerierung kenntlich gemacht ist, werden diese Wörter groß geschrieben.
Schlecht:
„The following Section illustrates .... In section 2.3, we describe .... This Chapter includes too many Sections.“
Gut:
„The following section illustrates .... In Section 2.3, we describe .... This chapter includes too many sections.“
Allgemeine Hinweise
Grundsätzlich steht es Ihnen frei, wie Sie Ihre Arbeit erstellen - mit LaTeX oder einem Office-Paket (oder auch handschriftlich). Es wird jedoch dringend nahe gelegt, LaTeX zu verwenden, da hiermit auch größere Arbeiten mit umfangreichen Querverweisen etc. (relativ) problemlos zu erstellen sind und ein konsistent gutes Layout erzeugt werden kann. Auch gibt es hierzu eine recht umfassende technische Unterstützung, incl. Templates und einer gemeinsam gepflegten Bibliographie-Datenbank. In folgenden Hinweisen wird deswegen angenommen, dass Sie LaTeX verwenden, sowie BibTeX für die Bibliographie. Beides wird weiter unten erläutert. Sollten Sie nicht LaTeX verwenden, bzw. nicht die hier zur Verfügung gestellten Templates, ist eine technische Unterstützung Ihrer Arbeit nur eingeschränkt möglich.
Um ggf. elektronischen Zugang auf Ihre sowie anderweitige weitere Nutzung Ihrer Arbeit zu ermöglichen, sollten eine PDF-Version, sowie auch die LaTeX-Sourcen, Graphiken, etc., im Subversion-System der Gruppe eingecheckt werden.
Rechtschreibprüfung
Lassen Sie von Zeit zu Zeit eine Rechtschreibprüfung über ihren Text laufen; dies ist auch für .tex-Dateien möglich. Insbesondere sollte dies geschehen bevor Sie Ihre Arbeit jemand anderem zum Lesen/Korrigieren/Bewerten geben. Ein möglicher Spellchecker ist aspell.
In Emacs (oder Xemacs - generell wird hier nicht zwischen diesen Editoren unterschieden) wird die Rechtschreibprüfung eines Buffers, welcher eine .tex-Datei enthalten kann, mit dem Befehl ispell-buffer gestartet. Der zu verwendende Spellchecker wird durch die Variable ispell-program-name definiert (Default: aspell). Das zu verwendende Wörterbuch wird durch die Variable ispell-dictionary definiert (z.B. deutsch8 oder american), welche durch den Befehl ispell-change-dictionary gesetzt werden kann.
Emacs kann das zu verwendende Wörterbuch auch automatisch für eine .tex-Datei festlegen, wenn die Datei die Variable ispell-dictionary über einen Local Variables-Kommentar definiert, welcher vom Emacs beim Einlesen einer Datei ausgewertet wird. Ein Beispiel für einen solchen Kommentar:
% Local Variables: % mode: latex % compile-command: "make cases2005.pdfv" % ispell-dictionary: "american" % End:
Auszeichnungen - Allgemeines
Einzelne Textpassagen können ausgezeichnet werden. Grundsätzlich sollten Auszeichnungen in folgenden Gegebenheiten eingesetzt werden:
- Einführung/Definition neuer Begriffe - wie zum Beispiel „auszeichnen“ (und damit auch „Auszeichnung“) in obigem Absatz.
- Zitate.
- Teilüberschriften, evt. in den Fließtext integriert.
- Titel von Büchern, Zeitschriften etc.
- Beispiele, wenn diese - wie hier - in Form von (wenn auch fiktiven) Zitaten erscheinen.
- Hervorhebung von Kernpunkten.
- Fremdsprachige Textfragmente (siehe unten).
- Symbole, physikalische Größen usw. (siehe unten).
- Programme, Funktionsname usw. (siehe unten).
Man sollte sich beim Gebrauch von Auszeichnungen bewusst sein, dass diese ein besonderer Hinweis für den Leser sind und ihn zu besonderer Aufmerksamkeit veranlassen sollen. Sie bewirken stets eine - wenn auch minimale - Unterbrechung des Leseflusses. Auszeichnungen sollten systematisch und im Zweifelsfall eher sparsam eingesetzt werden. Zu viele Auszeichnungen verhindern das flüssige Lesen (und können auch etwas akademisch wirken). Es ist dann schwierig für den Leser zu erkennen, was denn nun wirklich wichtig ist - insbesondere bei geschachtelten Auszeichnungen, möglicherweise mehrfach überlagert !!!!
Bei Auszeichnungen sollte der Scope eingehalten werden. Wenn z.B. Begriffe und sowie deren Abkürzungen eingeführt werden, sollten diese einzeln ausgezeichnet werden - Klammerungen selbst sollten nicht ausgezeichnet werden.
Schlecht:
„Die Message Sequence Charts (MSCs) sind ein Formalismus ...“
Gut:
„Die Message Sequence Charts (MSCs) sind ein Formalismus ...“
In LaTeX werden Auszeichnungen mit dem Befehl \emph vorgenommen, welche dann normalerweise kursiv erscheinen. In einem kursiv gesetzten Kontext - wie in den Beispielen hier - sind Auszeichnungen jedoch nicht-kursiv, um diese vom Kontext abzuheben.
Auszeichnung fremdsprachiger Ausdrücke
Zunächst ein Beispiel für ein englischsprachiges Dokument:
Schlecht:
„As Schmidt et al. have documented, this agreement today is a de-facto standard for layout etc.“
Gut:
„As Schmidt et al. have documented, this agreement today is a de-facto standard for layout etc.“
Bei deutschsprachigen Dokumenten gilt: es sind grundsätzlich Begriffe ausgenommen, welche im Duden stehen (wie zum Beispiel „Layout“). Weiterhin wird bei Auszeichnungen die Groß-/Kleinschreibung der Fremdsprache übernommen.
Schlecht:
„Wie Schmidt et al. dokumentiert haben, ist dieses Agreement heute de-facto ein Standard in layout etc.“
Gut:
„Wie Schmidt et al. dokumentiert haben, ist diese Vereinbarung heute de-facto ein Standard in Layout etc.“
Eine spezielle Problematik bei deutschsprachigen Dokumenten in der Informatik ist, dass hier viele Begriffe aus dem Englischen kommen, und als Teil des deutschen Informatik-Fachvokabulars angesehen werden können, auch wenn diese noch nicht im Duden erscheinen. Diese Begriffe sollten dann nicht ausgezeichnet werden, damit die Lesbarkeit des Dokuments nicht durch übermäßige Auszeichnungen leidet. Im Zweifelsfall gilt: Wenn es für einen englischen Begriff keinen äquivalenten deutschen Begriff gibt, oder der deutsche Begriff in der Praxis seltener eingesetzt wird als der englische Begriff, sollte der englische Begriff als Teil des deutschen Fachvokabulars angesehen werden und auf eine Auszeichnung verzichtet werden. Dies betrifft auch Begriffe, welche nicht wirklich Fachbegriffe sind (wie z.B. „Feature“). Ebenso sollten Eigennamen von Formalismen, Programmiersprachen, Werkzeugen usw. nicht ausgezeichnet werden. In jedem Fall sollten Sie sich konsistent für oder gegen die Auszeichnung eines Begriffs im gesamten Dokument entscheiden; einzige Ausnahme ist die einmalige Auszeichnung eines Begriffes bei einer Begriffsdefinition. Zusammenfassend gilt: es ist oft im Ermessen des Autors, ob eine Auszeichnung verwendet werden soll oder nicht; im Zweifelsfall gilt das Gebot der Sparsamkeit, insbesondere, falls Sie einen einzelnen Begriff sehr häufig verwenden.
Schlecht:
„Die Synthese von Statecharts nach Java .... Der Kellerspeicher vom Übersetzer ist hierfür standardmäßig zu klein. Diese software hat viele features und noch mehr bugs. [Aber:] Die Mental Map des Betrachters ....“
Gut:
„Die Synthese von Statecharts nach Java .... Der Stack vom Compiler ist hierfür per Default zu klein. Diese Software hat viele Features und noch mehr Bugs. [Aber:] Die mental map des Betrachters ....“
Nach diesem Plädoyer für die sparsame Verwendung von Auszeichnungen bei originär englischen Ausdrücken noch ein Plädoyer für sparsame Verwendung englischer Ausdrücke, wenn es hierfür gängige und präzise Äquivalente im Deutschen gibt:
Schlecht:
„Das Agreement war, die Action Items und die Schedule des nächsten Meetings in die Minutes zu pasten, und sich zum Matchen der Deadlines zu committen.“
Gut:
„Die Vereinbarung war, die Aktionspunkte und die Zeitplanung der nächsten Besprechung in das Protokoll zu übernehmen, und sich zur Einhaltung der Termine zu verpflichten.“
In der Informatik ist dies oft eine schwierige Balance zwischen zu viel und zu wenig deutsch, welche letztlich eine Sache des persönlichen Geschmacks ist. So scheint „Übersetzer“ ebenso akzeptabel wie „Compiler“, „Betriebssystem“ mehr verbreitet als „Operating System“, jedoch wirkt „Kellerspeicher“ eher verschroben im Vergleich zu „Stack“.
Auszeichnung von Symbolen, physikalischen Größen usw.
Neben den bereits erwähnten Fällen, in welchen Textbestandteile ausgezeichnet werden sollten, sollten auch Mathematische Symbole, Mengenbezeichner, physikalische Größen etc. ausgezeichnet werden. In LaTeX kann man hierfür, wie bereits erwähnt, den Befehl \emph{...} verwenden - oder alternativ den Begriff mit „$...$“ auszeichnen. Letzterer Mechanismus ist jedoch mit etwas Vorsicht zu verwenden, falls die Begriffe mehr als ein Zeichen lang sind, da dieser Mechanismus den Begriff als mathematische Formel interpretiert und spezielle Richtlinien für dessen Layout verwendet. Insbesondere wird der Buchstabe f als eigenständiger Funktionsname interpretiert und ein entsprechender Zwischenraum produziert, was generell nicht erwünscht ist.
Schlecht:
„Sei $Koffer$ die Menge der Koffer ...“
Gut:
„Sei \emph{Koffer} die Menge der Koffer ...“
Auszeichnung von Programmen, Funktionsnamen usw.
Namen von Programmen sowie von Funktionsnamen, Variablennamen etc. sollten ebenfalls ausgezeichnet werden. Jedoch sollte man hierfür eine andere Auszeichnung verwenden, nämlich diejenige, welche auch in Programmlistings verwendet wird. Typischerweise ist dies typewriter (erzeugt mit \texttt{...}) oder SansSerif (erzeugt mit \textsf{...}). Ein Beispiel hierfür sind die in diesem Text erwähnten LaTeX-Befehle.
Referenzierungen
Verwenden Sie Referenzierungen im Ihrer Arbeit so, dass sie kein grammatikalischer Bestandteil des Satzes sind - der Text sollte auch nach Eliminieren aller geklammerten Bestandteile, einschließlich der in eckigen Klammern befindlichen Referenzen, noch grammatikalisch korrekt sein. Üblicherweise erreicht man dies durch die Nennung der Autoren eines Werkes, gefolgt von der Referenz. Im Text sollten Autoren typischerweise ohne Vornamen genannt werden (jedoch sollten Autorenvornamen bei den Referenzen selbst vollständig genannt werden, siehe unten). Bei mehreren Autoren sollten entweder alle genannt werden, oder es sollte die Existenz weiterer Autoren durch „et al.“ kenntlich gemacht werden.
Schlecht:
„Wie in [42] beschrieben, ...“
Gut:
„Wie von Harel et al. [42] beschrieben, ...“
Die Referenzen selbst sollten vollständig sein - also mehr sein als eine Sammlung von Suchbegriffen für google. Grundsätzlich sollten Angaben so vollständig wie möglich sein. So gehören z.B. zu einer Artikelreferenz nicht nur Autoren und Titel des Artikels, sondern auch bei Jahr/Monat des Erscheinens, bei Journalartikeln auch Name des Journals und gegebenenfalls Nummer und Herausgeber, sowie bei Tagungs-/Workshopartikeln der Name und Ort der Tagung. Vermeiden Sie Abkürzungen. Tagungsnamen sollten sowohl in ausgeschriebener Form als auch mit ihrem Kürzel genannt werden.
Schlecht:
„A. Mooij and N. Goga and J. Romijn. Non-local Choice and Beyond: Intricacies of MSC Choice Nodes. FASE'05, pages 273-288, 2005.“ „A. Mooij and N. Goga and J. Romijn. Non-local Choice and Beyond: Intricacies of MSC Choice Nodes. In Fundamental Approaches to Software Engineering, pages 273-288, April 2005.“
Gut:
„Arjan J. Mooij and Nicolae Goga and Judi Romijn. Non-local Choice and Beyond: Intricacies of MSC Choice Nodes. In Fundamental Approaches to Software Engineering (FASE '05), pages 273-288, Edinburgh, Scotland, April 2005.“
Achten Sie auf die Konsistenz der Einträge. So sollten z.B. alle Referenzen für ein Journal dieses Journal gleich referenzieren. Autoren sollten so referenziert werden, wie sie in der referenzierten Arbeit erscheinen; so sollten Vornamen nicht abgekürzt werden, wenn sie in der Arbeit selbst ausgeschrieben sind, ebenso sollten angegebene Mittelinitialen übernommen werden. Bei der Verwendung von URLs sollten Sie darauf achten, dass diese nicht über den Satzspiegel hinausragen; das Paket breakurl sorgt für den entsprechenden Zeilenumbruch von URLs.
Schlecht:
[1] Alur, Etessami, and Yannakakis. Inference of message sequence charts. IEEETSE: IEEE Transactions on Software Engineering, 29, 2003.
[2] Alan W. Biermann and Ramachandran Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, 2(3):141-153, September 1976.
Gut:
[1] Rajeev Alur, Kousha Etessami, and Mihalis Yannakakis. Inference of message sequence charts. IEEE Transactions on Software Engineering, 29:304NAK313, 2003.
[2] Alan W. Biermann and Ramachandran Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, 2(3):141-153, September 1976.
Die Bibliographie sollte nach Nachnamen des Erstautors sortiert sein. Bei der (stark empfohlenen) Verwendung von BibTeX sollten Sie für jede Referenz den richtigen, möglichst spezifischen Referenztyp verwenden (z.B. @InProceedings statt @Misc). Die für den jeweiligen Referenztyp vorgesehenen Pflichtfelder geben bereits einen ersten Hinweis für die Mindestinformationen; die weiteren optionalen Eintragsfelder sollten aber auch so weit wie möglich verwendet werden. Falls bibtex bei Erzeugung der Referenzen einen Fehler meldet, z.B. aufgrund eines fehlenden Pflichtfeldes, sollte dieses auf alle Fälle korrigiert werden. Für Ihre Arbeitserleichterung sollten Sie ein konsistentes Schema für die Indizierung verwenden, so dass Sie den Index möglichst aus Autoren & Erscheinungsjahr erschließen können, und Referenzierungen in Ihren Text einfügen können, ohne den Index in der BibTeX-Datei nachsehen zu müssen. Die Verwendung eines bestimmten Schemas ist insbesondere dann erforderlich, falls Sie eine gemeinsam genutzte BibTeX-Datei bearbeiten. So gibt z.B. die am Lehrstuhl genutzte cau-rt.bib-Datei ein Schema vor, welches am Anfang dieser Datei beschrieben ist.
Technische Umsetzung
Using Subversion
The files associated with the thesis should be kept in the group's Subversion repository. The main purpose is to prevent loss of data. It also facilitates access for fellow group members if needed, and to allow on-line publication.
The main tex file for a thesis should be <name of directory>.tex. See also Subversion/Structure for the canonical naming scheme. Eg, the bachelor thesis of user xyz can be found at .../theses/xyz-bt/xyz-bt.tex. If there is a talk to "defend" the thesis (Bachelor-Kolloquium, Disputation), the talk should also be included in this directory, and should be named <name of directory>-talk.tex; eg xyz-bt-talk.tex. In case your thesis should be made available on-line, the same names should be used, eg, xyz.pdf.
See also the notes on preparing a paper, eg regarding which files should be kept in revision management (ie, should be checked into svn) and which shouldn't.
Das LaTeX-Paket rtsstud
Für die Ausarbeitung studentischer Arbeiten stellt der Lehrstuhl das eigens dafür entwickelte LaTeX-Paket rtsstud zur Verfügung, das dazu nach Möglichkeit benutzt werden sollte. Es bietet u.a. eine speziell formatierte Titelseite, die Unterstützung von deutscher und englischer Sprache und die Eidesstattliche Erklärung. Für die Arbeit im Lehrstuhl-Netzwerk ist es nicht nötig, dieses Paket herunterzuladen und zu installieren; der Zugriff ist automatisch gewährleistet.
Download des Paketes: rtsstud.tar.gz
Im tar-Ball finden sich alle notwendigen Dateien, eine Installations- und Bedienungsanleitung. Ein dazu erstelltes Beispiel zeigt neben der Benutzung des Paketes rtsstud einige Techniken zur Erstellung wissenschaftlicher Dokumente. Die Hauptdatei für die Entwicklung des Beipieles heisst paper.tex. Wer sein Dokument gerne in englischer Sprache schreibt, unterbindet das Laden des Paketes ngerman am Anfang der Hauptdatei.
Download des Beispiels: example.tar.gz
Im Beispiel-Dokument sind neben der Benutzung des Paketes rtsstud auch eine mögliche Strukur eines komplexen Dokumentes ersichtlich. Sollten Techniken für LaTeX benötigt werden, die das Beispiel nicht behandelt, können diese auf Anfrage dort aufgezeigt werden. Die Erstellung einer Zusammenfassung Enthält die verwendete LaTeX-Dokumentenklasse keine abstract-Umgebung, so kann man trotzdem eine solche mit Hilfe des Paketes rtsabstr erzeugt werden. Dieses Paket wird ebenfalls im Zusammenhang mit der Erstellung studentischer Arbeiten vom Lehrstuhl zur Verfügung gestellt. Zur besseren Lesbarkeit der Ausarbeitung sollte auf eine solche Zusammenfassung nicht verzichtet werden. Für die Arbeit im Lehrstuhl-Netzwerk ist es nicht nötig, dieses Paket herunterzuladen und zu installieren; der Zugriff ist automatisch gewährleistet.
Download des Paketes: rtsabstr.sty
Die Erstellung einer Bibliographie
Zur Erstellung einer Bibliographie mit LaTeX ist das Beispiel-Dokument zu Rate zu ziehen. Die dort benutzte BibTeX-Datenbank cau-rt.bib wird Lehrstuhl-weit von Mitarbeitern und Studenten gemeinsam benutzt um Literatur-Daten zu sammeln und zu publizieren. Alle Literaturdaten, die in studentischen Arbeiten anfallen, müssen also in dieser Datei verwaltet werden. Wichtig: Bitte vermeiden Sie bibtex-Warnungen beim Hinzufügen von neuen Einträgen! Weitere Hinweise zur Beachtung finden sich hier
Links zu BibTeX:
Arbeit innerhalb des Lehrstuhl-Netzwerkes
Beim Arbeiten im Lehrstuhl-Netzwerk werden keine zusätzlichen Maßnahmen notwendig; der LaTeX-Zugriff auf die BibTeX-Datenbank ist automatisch über das Netzwerk gewährleistet. Für verändernde Zugriffe auf die Datenbank muss mit Subversion gearbeitet werden.
Arbeit ausserhalb des Lehrstuhl-Netzwerkes
Beim Arbeiten ausserhalb des Lehrstuhl-Netzes wird es notwendig die Datenbank dem lokal installierten LaTeX-System zur Verfügung zu stellen. Eventuell muss die dazugehörige kpse-Datenbank reinitialisiert werden. Für verändernde Zugriffe auf die Datenbank muss mit Subversion gearbeitet werden.
Zugriff auf das subversion-Repository der BibTeX-Datenbank
Für Zugriff auf das subversion-Repository der BibTeX-Datenbank ist folgender Befehl zu verwenden
svn co https://rtsys.informatik.uni-kiel.de/svn/bib
Der Einfachheit halber sollten diese Befehle zur Änderung der Umgebungsvariablen in einer Startdatei verankert werden. Nach dem Auschecken des Moduls bib steht die Datei cau-rt.bib zur Verfügung. Hinweise zur genauen Syntax sind dem Kopf der Datei und den Beschreibungen der BibTeX-Sprache zu entnehmen.
Publishing the thesis on-line
If your advisor has agreed that your thesis should be made available on-line, then you can publish this as follows. Say your thesis is xyz-bt.pdf. To upload this, use the command
scp xyz-bt.pdf biblio@rtsys.informatik.uni-kiel.de:/home/biblio/public_html/downloads/theses
If you don't have the right permissions to do this, ask your advisor or the System Administrator to publish this for you.
Then, check that your thesis is indeed available under the URL
http://rtsys.informatik.uni-kiel.de/~biblio/downloads/theses/xyz-bt.pdf
Note: The name of this file should follow the canonical naming scheme used in subversion (Subversion/Structure), even if your thesis is for some reason not in the subversion system.
Source Code
Von Ihnen im Laufe der Arbeit entwickelte Software (oder Hardware-Beschreibungen) sind Teil Ihrer Arbeit. Dies bedeutet: Die Software sollte als Listing in Ihrer Ausarbeitung erscheinen; typischerweise (wenn es sich um mehr als ca. zwei Seiten handelt) als Anhang, mit angemessen kleiner Schriftgröße, evt. zweispaltig. Es sollte eine Übersicht über die Software in geeigneter Form gegeben werden, z.B. in Form von Klassendiagrammen mit Erläuterungen. Hinweise zum Einbinden von Code in LaTeX finden sich in dem Beispieldokument (s.o.).
Hinweise zur Benotung
Die Benotung studentischer Arbeiten richtet sich zunächst nach der jeweils anzuwendenen Studienordnung; für eine Diplomarbeit im Diplomstudiengang Informatik sieht z.B. §20(2) der Diplomprüfungsordnung vor: „Die Diplomarbeit ist von der Lehrkraft, die sie ausgegeben hat und einer oder einem weiteren Prüfungsberechtigten zu beurteilen.“
Zur Beurteilung einer Diplomarbeit wird generell ein schriftliches Gutachten erstellt, welches die jeweilige Arbeit individuell würdigt (incl. Note) und an das Prüfungsamt weitergeleitet wird. Es hängt dabei von der jeweiligen Aufgabenstellung ab, welche Leistungen im Einzelfall erwartet werden; so sind z.B. die Anforderungen hinsichtlich der konkreten Umsetzung bei einer stark anwendungsbezogenen Arbeit anders als bei einer eher theoretischen Arbeit. Gewisse Anforderungen und Erwartungen hinsichtlich der Qualität der Arbeit und der Vorgehensweise des Studierenden sind jedoch allgemein gültig, und z.T. auch bereits in der jeweiligen Prüfungsordnung konkret genannt. So sieht z.B. §19(1) der Diplomprüfungsordnung vor: „Die Diplomarbeit [...] soll zeigen, dass die Kandidatin oder der Kandidat in der Lage ist, innerhalb einer vorgegebenen Frist ein Problem aus dem Fach Informatik selbständig nach wissenschaftlichen Methoden zu bearbeiten.“ Hier sind also bereits drei Kriterien genannt (Fristeinhaltung, Selbständigkeit, Wissenschaftlichkeit). Ein etwas detaillierterer Kriterien-/Bewertungskatalog ist in den beiden folgenden Tabellen angegeben. Diese sind zunächst für Diplomarbeiten ausgelegt, finden aber - mit entsprechenden Abwandlungen - auch für Studien-, Bachelor- und Masterarbeiten Anwendung.
| Merkmal | Summe | ||||
|---|---|---|---|---|---|
| Qualität der Lösung | lediglich Lösungsansätze; geringes Vertrauen in die Lösung | Lösung von Teilproblemen | Vollständige Lösung | Vollständige Lösung und Behandlung zusätzlicher Fragestellungen | |
| Punkte | 1 - 7 | 8 - 14 | 15 - 21 | 22 - 28 | max. 28 |
| Kandidat | |||||
| Wissenschaftliche Arbeitstechnik | wenig selbständige und systemlose Durchführung; nur Literatur aus dem engsten Umfeld | Entwicklung einer Systematik erst nach Drängen des Betreuers; geringes Literaturvolumen | selbständige Durchführung; Aufarbeitung der relevanten Literatur | selbständige und zielbewußte Durchführung; strukturierte Erfassung des Standes der Technik | |
| Punkte | 1 - 6 | 7 - 12 | 13 - 18 | 19 - 24 | max. 24 |
| Kandidat | |||||
| Anwesenheit und Interaktion mit Betreuer | Selten anwesend, Interaktion nur auf Initiative des Betreuers; schwer erreichbar; weist nicht auf Probleme hin | Unregelmäßige Interaktion, jedoch generell erreichbar und regelmäßig anwesend | Regelmäßige Interaktion, selbst initiiert, Stand der Arbeit generell nachvollziehbar | Informiert Betreuer regelmäßig über Stand der Arbeit und weist umgehend auf aufgetretene Probleme oder erreichte Zwischenziele hin | |
| Punkte | 1 - 4 | 5 - 8 | 9 - 12 | 13 - 16 | max. 16 |
| Kandidat | |||||
| Eigeninitiative und Zielstrebigkeit des Bearbeiters | Kandidat geht schwierigen Problemen aus dem Weg; mangelnder zeitlicher Einsatz; Zeitplan wird deutlich überzogen | teilweise Eigeninitiative; Zeitplan im wesentlichen eingehalten | Ziel wurde mit großer Eigeninitiative erreicht, Zeitplan wurde eingehalten | Eigeninitiative bei der Entwicklung der Thematik und der Durchführung der Arbeit | |
| Punkte | 1 - 4 | 5 - 8 | 9 - 12 | 13 - 16 | max. 16 |
| Kandidat | |||||
| Qualität der Ausarbeitung | Ausarbeitung mit schweren Mängeln (fehlende Systematik, Schreibfehler, schlechtes Deutsch, unübersichtliche Ver zeichnisse usw.) | nur teilweise systematische Darstellung der Ergebnisse; Weitschweifigkeiten, aber akzeptable Gestaltung | systematische, einleuchtende Gliederung, aber leichte Schwächen in Sprache und Gestaltung | systematische Gliederung, flüssige Sprache, Bilder mit klarer Aussage, gute Gestaltung | |
| Punkte | 1 - 4 | 5 - 8 | 9 - 12 | 13 - 16 | max. 16 |
| Kandidat | |||||
| Summe | max. 100 | ||||
| Kandidat | |||||
Die Umrechnung einer Punktzahl in eine Zensur ergibt sich unter Anwendung dieses Katalogs aus der folgenden Tabelle.
| Note | Mindestpunktzahl |
|---|---|
| 1,0 | 96 |
| 1,3 | 88 |
| 1,7 | 80 |
| 2,0 | 72 |
| 2,3 | 64 |
| 2,7 | 56 |
| 3,0 | 48 |
| 3,3 | 40 |
| 3,7 | 32 |
| 4,0 | 24 |
Weiterführende Hinweise
- Eine sehr zu empfehlende, einführende Veranstaltung zur Präsentation und Erstellung wissenschaftlicher Arbeiten („Dokumentieren und Präsentieren“) bietet regelmäßig (ca. alle zwei Jahre) Prof. Luttenberger am Lehrstuhl für Kommunikationssysteme an.
- „Anleitung für die schriftliche Abfassung einer Diplomarbeit“ von Prof. Kluge
- „Einige typographische Grundregeln und ihre Umsetzung in LaTeX“ von Werner Struckmann (TU Braunschweig), PDF
- „Anmerkungen zur Rechtschreibung“ von Werner Struckmann (TU Braunschweig), PDF
- Falls Sie die Arbeit auf englisch verfassen: eine Reihe guter Ratschläge und weiterer Querverweise (wie z.B. den klassischen Strunk & White) finden sich auf Henning Schulzrinnes Seite „Writing Technical Articles“.
- Wie schreibe ich eine gute Diplomarbeit? - Eine Anleitung der Uni-Oldenburg, z.T. spezifisch für Oldenburg; auch dort gibt es noch weiterführende Links.
