This page is the collected wisdom and advice after supervising about 100 theses, from short study reports to dissertations. We recommend to study it before you start with your thesis work. Some topics are discussed on these separate pages:
Table of Contents
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.
Interaction With Your Adviser(s)
A good interaction with your adviser(s) is key to success. Unless you happen to have substantial work experience and to already be an expert in your field, your adviser is ahead of you in terms of experience and expertise. Take advantage of this to improve your own work.
Advisers are humans. They like to help you with your thesis topic; they don't like to have to "drive" it, or to get the feeling that their advice (including the hints on this page) is ignored. You, and not your adviser, should be the one who is pushing your work, asking questions, initiating discussions, and handing over thesis/chapter drafts without having to be explicitly asked for it. In short, your adviser should be convinced that your work is on track.
Even in the age of modern communication devices, the basis of a good communication with your adviser is regular physical presence. Most of the time, we are in the fortunate position that we can provide you with a full-time desk, typically in the lab (1114/1115). Use this desk for doing your thesis work, and not your PC at home. A key communication instrument in the RTSYS group is the 9:30am tea, which you should participate in as well. One exception are theses that are done in collaboration with industry and where the industry partner provides the work space. In that case, you should keep your adviser here on track with regular progress reports. Usually, an E-mail every 2 to 4 weeks suffices for that.
Usually, your thesis is a full-time job, also meaning full-time presence at your desk. In case you also have other regular work to do, discuss this with your adviser at the beginning of your thesis work.
The first thing to do after you familiarized yourself with the topic and problem of your thesis is to write a short proposal (~2-4 pages). The proposal should be prepared as early as possible (within the first or second week) and should show your adviser that you understood the problem and have a rough idea how to solve it. It may be structured as follows.
- Problem description
- Planned Solutions/Goals
- Hard requirements that have to be fulfilled by the end of your thesis
- Soft requirements that can be solved if time permits
- Schedule outlining your proceeding (this includes writing the thesis, see next section)
You should send your thesis proposal to your advisor and (if he is not already your advisor) the professor. After you finished the proposal, you should give a short (informal) talk of about 15 minutes during our daily tea meeting presenting your topic to all members of our group.
Timing is (Almost) Everything
Technically, the only hard deadline that you have regarding your thesis submission is the one concerning the submission to the examination office (Prüfungsamt), which is at the end of the semester for Bachelor thesis and six months after registering the thesis for master thesis. However, at RTSYS (as with most other groups) we offer to look at your thesis before the official submission. This not only helps to improve your thesis, it also is more satisfying for the advisor to look at a thesis in detail if it's not just to determine a grade but also to help improve the result.
Thus, in your own interest, we advise strongly to send drafts of the chapters of your thesis to your advisor(s) before submitting the final thesis. Of course, the drafts should be as good as possible from your point of view. Your adviser can only improve your drafts so much. If your draft is of low quality, they can help you push it to an okay-ish level; but if the draft is already of high-quality to start with, they can help you elevate it to pure awesomeness. Note that your drafts need not be complete yet: you can always hand in missing bits and pieces later on.
The process is usually that 1) you send a draft to the doctoral student(s) directly advising you, 2) you get feedback from them, 3) you implement that feedback, 4) you send the revised draft to the Prof. Yes, this pipeline takes time, and often there are holidays and travel plans to take into account as well, in particular for deadlines at the end of the summer semester. Here's a schedule that has proven to work well regarding when to hand in what to your direct advisors. Of course, sticking to that schedule is YOUR responsibility, you should not rely on your advisors to remind you of it.
|What||When (AT THE LATEST)||Motivation|
|Outline||3 months before final submission|
Once you are halfway through your thesis, you should have a basic idea of which topics you want to cover in your thesis. This must be discussed with your adviser.
|1–2 chapters||4 weeks|
The first drafts you submit are used to make you aware of basic problems of your writing style. Getting this feedback as early as possible in your writing process means that you won't have to change the whole thesis after you submit your final draft.
|Complete thesis||2 weeks|
Submitting a draft of your complete thesis before the final submission gives your adviser enough time to find problems and gives you enough time to incorporate corrections into your final thesis.
Theses done in collaboration with industry partners follow the same schedule. The drafts you submit to your adviser at the university, however, should previously be run past your industry adviser.
A common experience: while you do your investigative/implementation work, everything is clear — until you try to write things up, weeks or months later. Thus we highly recommend to take notes along the way, eg, as part of a chapter draft of your thesis.
The first rule of your implementation is: "No Crashes!" The second rule of your implementation is: "No crashes!" Regardless of what your code does and regardless of what the user does, your implementation should neither crash nor freeze. Whenever you make assumptions, be sure to explicitly check them. If they are not met, your code should generate (useful!) error messages instead of crashing and the user should be able to continue working with it.
Since you're working in an academic context, you will have less resources (less time, in particular) available than in a commercial setting. Also, your work probably won't have to compete with commercial applications. It follows that everything you develop will be less comprehensive and will have less features than a commercial product. What doesn't follow is that your implementation should be less meticulous or less documented than in a professional setting. Quite the contrary, in fact: commercially developed code often suffers from tight deadlines, the need to add new features, and at times a certain ignorance. You implementation, on the other hand, is supposed to be your masterpiece. It should reflect what you're currently capable of. Even though your software won't cause considerable economical damage or kill people, it probably won't exist in isolation. It will much rather be part of the KIELER project, which other people are supposed to use or develop further. The quality (and grade) of your thesis will be judged in part based on your implementation. Since this is the case, make use of the fact that your adviser probably has much more experience writing code than you do. Ask him or her to review your code and to give you feedback on how to improve.
Let's look at an example. Suppose your thesis is a proof of concept. This means that you should constrain the goals of your thesis (in accordance with your adviser) to a well-defined subset of the problem you're tackling. The end user should be well aware of what your implementation can do and what it cannot do. A reasonable constraint could for instance be: "The transformation only works for pure signals, not for valued signals. Hierarchy-crossing transitions cannot be drawn." An unreasonable constraint could be: "Sometimes, adding a state works; other times, the software crashes." If you notice while working on your implementation that you won't be able to make certain goals, talk to your adviser. Together, you will constrain the problem further. This will allow you to solve the more constrained problem properly instead of not solving the more general problem at all. You colleagues or successors will be glad to be able to start from a smaller, but well-developed code base and add features to it instead of having to try to get your code to a reasonable quality standard — or throwing it away and starting over.
The bottom line: write clean and proper code that adheres to our coding guidelines and document it. The quality and the readability of your code and of your documentation will influence your grade.
Reviews and Ratings
To make sure that code is of a certain quality, it must be run through design and code reviews. The way this works is explained on this page. The reviews are not only intended to improve the quality of your code, but also to give feedback to you as a programmer to help you improve.
What Grade Do I Get For All This?
Zur Beurteilung einer Abschlussarbeit 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. §11(5) der Bachelorprüfungsordnung vor: „Die Note der Bachelorarbeit berücksichtigt die Problembearbeitung, die Bachelorarbeit und den Abschlussvortrag einschließlich der sich anschließenden Aussprache."
Ein etwas detaillierterer Kriterien-/Bewertungskatalog ist in den beiden folgenden Tabellen angegeben. Diese sind zunächst für Bachelorarbeiten ausgelegt, finden aber - mit entsprechenden Abwandlungen - auch für Masterarbeiten Anwendung.
|Qualität der Lösung||Lediglich Lösungsansätze; geringes Vertrauen in die Lösung||Lösung von Teilproblemen||Vollständige Lösung; gutes Vertrauen in die Lösung||Vollständige, gute Lösung und Behandlung zusätzlicher Fragestellungen|
|Punkte||1 - 7||8 - 14||15 - 21||22 - 28||max. 28|
|Wissenschaftliche Arbeitstechnik||Systemlose Durchführung; nur Literatur aus dem engsten Umfeld||Entwicklung einer Systematik erst nach Drängen des Betreuers; geringes Literaturvolumen||Selbständige Aufarbeitung der relevanten Literatur; grobe Einordung der Ergebnisse in das wissenschaftliche Umfeld||Selbständige und strukturierte Erfassung des Standes der Technik und der Literatur; systematische Einordung der Ergebnisse|
|Punkte||1 - 6||7 - 12||13 - 18||19 - 24||max. 24|
|Interaktion mit Betreuer||Interaktion nur auf Initiative des Betreuers; schwer erreichbar; selten anwesend, weist nicht auf Probleme hin||Unregelmäßige Interaktion, jedoch generell erreichbar und häufig anwesend||Regelmäßige, selbst initiierte Interaktion; Stand der Arbeit generell nachvollziehbar||Informiert Betreuer regelmäßig über Stand der Arbeit; weist umgehend auf aufgetretene Probleme oder erreichte Zwischenziele hin; regelmäßige Anwesenheit|
|Punkte||1 - 4||5 - 8||9 - 12||13 - 16||max. 16|
|Eigeninitiative und Zielstrebigkeit||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, auch bei schwierigen Problemen; Zielbewusste Zeiteinteilung|
|Punkte||1 - 4||5 - 8||9 - 12||13 - 16||max. 16|
|Aufbau und sprachliche Qualität der Ausarbeitung||Ausarbeitung mit schweren Mängeln: fehlende Systematik, Schreibfehler, schlechtes Deutsch, unübersichtliche Verzeichnisse usw.||Nur teilweise systematische Darstellung der Ergebnisse; Weitschweifigkeiten oder Knappheiten, aber akzeptable Gestaltung||Systematische, einleuchtende Gliederung, aber leichte Schwächen in Sprache und Gestaltung||Systematische Gliederung, flüssige Sprache, Bilder mit klarer Aussage, deutliche Darlegung der Zusammenhänge und Ergebnisse|
|Punkte||1 - 4||5 - 8||9 - 12||13 - 16||max. 16|
Die Umrechnung einer Punktzahl in eine Zensur ergibt sich unter Anwendung dieses Katalogs aus der folgenden Tabelle.
Every student who is going to write a thesis and hence is considered an integral part of our group is more than welcome to join our RtSys Stammtisch. We will meet monthly in different restaurants in Kiel to have dinner and a good time together. Please ask your advisor or other students to invite you
- Prof. Luttenberger at the Communication Systems Group regularly offers a very good course on writing and presenting scientific work.
- „Einige typographische Grundregeln und ihre Umsetzung in LaTeX“ by Werner Struckmann (TU Braunschweig), PDF
- „Anmerkungen zur Rechtschreibung“ by Werner Struckmann (TU Braunschweig), PDF
- If you write your thesis in English, you can find advice and further links (among them the classic "Strunk & White" on good writing style) on Henning Schulzrinne's page "Writing Technical Articles".
- "Wie schreibe ich eine gute Diplomarbeit?" — a guide written at Oldenburg University. This is in part specific to that university, but also contains further links.