To content
Department of Computer Science

Guideline on Theses

Please consider the department's general notes on Bachelor's and Master's theses that you are subject to in any event. The following is the procedure of writing a thesis in our working group in particular. On many of these points, you will find further information below.

  1. Select a topic from our current topics of interest and contact the corresponding team member. You are also welcome to present your own ideas within our areas of research!
  2. Write an exposé on the planned thesis
  3. Register your thesis at the Central Examinations Office
  4. If applicable, do an introductory presentation in the scope of our graduation seminar
  5. Write up your thesis and participate in our weekly graduation seminar
  6. Submit your thesis via the university's ExaBase system
  7. Present the results of your thesis as the final examination

Exposé

Before your thesis is registered, we require an exposé on the topic. This serves to clarify about the topic as well as a basis to observe the state of the writing process. It can also be seen as a "contract" between you and us regarding the scope of your thesis. Your exposé should be written using template for theses provided by the faculty and cover the following:

  • Title page (Topic, university logo, author / enrolment number, primary and secondary supervisor).
  • Description of the problem or main question
  • Motivation – why is this topic important?
  • Goals of the thesis, in particular:
    • What are the minimum goals to pass?
    • Which goals are pursued optionally (e.g., in case the main goals are reached quickly)
  • Steps to reach the goals
    • What methods are going to be used?
    • If any, in which programming language and using what libraries (as far as foreseeable) will an implementation be proivded?
    • What is going to be evaluated experimentally?
    • To which potentially already existing solutions will the results be compared?
  • Structure of the thesis. This can, but does not have to be, a standard structure:
    1. Introduction
    2. Preliminaries
    3. Algorithms
    4. Implementation
    5. Practical Evaluation
    6. Conclusion and Outlook
  • Text sample: 2-3 pages of consecutive text, potentially including sketches, figures, algorithms etc. This is typically an excerpt of the future Preliminaries chapter
  • Schedule including milestones.
  • Bibliography: preferably 15+ entries as result of 2-3 days of literature research

For pracitcal theses in the area of algorithmics, we also give a programming assignment that should be related to the topic of the thesis. This will give you and ourselves an idea about what is to come regarding the implementation.

It is very common that we request change to the exposé after submitting it to us. A request for a second or third version is no reason to worry.

Registration

The registration of the thesis will be inititiated by your supervisor via the Central Examinations office.

Introductory Presentation

For master's theses and some bachelor's theses, we ask for a short (15-30 minutes) introductory presentation in your first week of the graduation seminar. Here, you present the topic and key questions of your thesis and roughly how you will proceed.

Graduation Seminar

Independently of possible direct meetings between you and your supervisor, we host a weekly graduation seminar for all students who are currently writing their bachelor's or master's thesis with us. Here, they report their current progress, problems, question etc., which makes it possible to exchange information as well as answer questions that may be relevant for yourself at some point.

In the scope of this seminar, we will also host introductory and final presentations.

Writing the Thesis

Please use the LaTeX templates for theses provided by the faculty. You are free to choose to write your thesis in either German or English as agreed upon with your supervisor. Try to stick to the following hints, tips and rules.

Style

  • Generally, use notations and writing styles as is common in the literature.
  • Prefer short, precise sentences over complex formulations.
  • Use the active form of the first person plural. You might have to get used to this, but its common in the literature of computer science.
    • not: "The tree is created by [...]" / "Der Baum wird erzeugt, indem [...] wird"
    • but: "We create the tree by [...]" / "Wir erzeugen den Baum, indem wir [...]"
  • Write result-oriented, not a story or diary
  • Motivate your techniques, solutions, etc.
  • Don't digress and refrain from giving redundant information - say as much as necessary and as little as possible!
  • Refrain from putting less relevant sentences into brackets
  • Do not use footnotes

Citations

  • Use scientific sources (not Wikipedia, forums, blogs, ...)
  • Put a citation next to any statement, claim or definition that you did not do or prove yourself
  • The citation should be given in the same sentence before a punctation, e.g. "A complete binary tree with $n$ leaves has $2n-1$ nodes [4]."
  • Avoid citing the same source multiple times in the same paragraph.
  • In the bibliography, consistently give the same information for each source and in the same format
    • Articles: Authors, title, name of conference or journal, year, pages, publisher and edition (if applicable)
    • Books: Authors, title, year, publisher, edition
    • Websites: URL, title, authors, date of access
  • If available, also state a DOI so references are clickable in a PDF export
  • If your are citing a book or a very long article, add a page or section number to the citation (e.g., "\cite[Section 3.4.5]{BookOfComputerScience"})

Typography

  • Use only the standard font
  • Emphasize important terms etc. by using an italic style (\emph)
    • In rare cases you may also use a bold face (\textbf)
    • Never underline them!
  • For example strings or letters, you may use the teletype font (\texttt)
    • Caution: Quotation marks are used only for literal quotations!
  • Use the math environment for variables stated in the text (e.g., "The suffix tree has $n$ leaves.")
  • In mathematical statements, put function names into \text environments (otherwise it will be displayed as the product of variables denoted by the single letters...)
  • Avoid paragraphs consisting of a single sentence
  • Always write text between headings

Figures and Tables

  • Create figures yourself
  • Provide a source for any figure that you did not create yourself, event if it is in the public domain or open source
  • Prefer vector graphics or work directly with TikZ
    • If it is absolutely necessary to include a raster graphic (picture, bitmap), use as high of a resolution as possible
  • Make sure that figures are still readable in greyscale
  • Provide a caption for every figure, describing what is displayed; this should be roughly understandable even without context
  • Make sure every figure is referred to in the text
  • Use LaTex' automatic alignment for figures, do not try to place them at fixed positions in the text
  • Do not give a list of figures or tables

Pseudocode

  • Pseudocode never replaces the description of an algorithm!
  • Do not give pseudocode unless it really contributes to understanding the description
  • If you do decide to provide pseudocode, in the textual description, add references to important lines or sections in the code
  • Use the LaTeX package algorithm2e
  • Put comments in your pseudocode
  • Do not give a list of algorithms

Orthography

  • The Big-O-Notation does not imply that you are referring to a running time! "The algorithm runs in O(n)" is not a meaningful statement, write "The algorithm runs in time O(n)" or "The algorithm requires O(n) bits of memory".
  • Reserve at least one week in your schedule for proofreading and corrections
  • Use an automatic spellchecker! (z.B. Hunspell)
  • Proofread your thesis!
  • Let somebody else, preferrably someone from outside computer science, proofread your thesis!

Final Presentation

At most 6 weeks after submitting your thesis, you are obliged to give a final presentation of your thesis' results in the scope of our graduation seminar.

The target duration of the presentation is 30 minutes for bachelor's and 45 minutes for master's theses. You will agree upon the date and the contents of your presentation with your supervisor.

As a general rule, please do not waste time with the very basics like common notations or algorithms or data structures that are well known in our area (e.g., the suffix array, the Lempel-Ziv scheme, etc.). Ask your supervisor if in doubt.

Hints on Slide Design

When using slides (Powerpoint, LaTeX Beamer, ...), it is easy to overwhelm attendants by overloading them with information. For this reason, please consider the following hints:

  • Use pictures, pictures, pictures...
  • Use sans-serif fonts (e.g., Arial, but not Times)
  • Do make use of colors, but don't overdo it.
  • Avoid bright colors (like yellow, patel tones, etc.) as they are very hard to see.
  • Avoid using colors that are too similar to one another, as beamers often show contrasts much worse than your own screen.
  • Slides should consist of at most 8 lines of text. This means that the font size should be around 20, better yet 24pt. Step away from your screen a bit - you should still be able to read your slides without any issues.
  • Build up your slides step by step, especially if they contain a lot of text. This does not necessarily mean that every single line must be built one by one.
  • Avoid whole sentences and prefer key points. Attendants will automatically try and read everything on the slide, and long passages of text will distract them from your speech.
  • Everything that's on your slides should be contained in your speech as well - avoid explaining only parts of the slide and then skipping to the next.
  • On the other hand, not everything you say must be written on your slides!
  • Each slide should be visible for at least 1.5 minutes or possibly longer. You can calculate for yourself how many slides you should prepare at most for a presentation of 45 minutes.
  • To highlight text parts, bold fonts are particularly suited.
  • In case you aim to switch from your slides to a whiteboard during your presentation, please consider that in many rooms, the beamer projects onto the same surface and your whiteboard notes may become hard to read. Moving in the light of the beamer may also be unsettling. Make sure you are aware of your presentation software's possibility to quickly turn your slides or screen off and on again as needed.
  • Your presentation software should feature a preview of the next slide, so that you won't be seemingly surprised when switching.
  • Use pictures, pictures, pictures...