Database Systems

Thesis

Here are a few tips on writing a bachelor thesis. Please also consult the general information by the Department of Computer Science: Informations on theses at the Department of Computer Science 2025 - general (slides in german) (PDF).

Terminology:
Prof. Grust is the examiner of your thesis, i.e., he is responsible for grading it.
A PhD student or Postdoc from our chair usually acts as a supervisor, guiding you on your topic and handling day-to-day matters.

Process

A thesis usually has three phases. During the first, or orientation, phase, you have time to familiarise yourself with the topic and acquire the necessary background knowledge. Afterwards, you can begin the practical implementation phase. Once you have finished this, you should start writing the actual thesis document in the writing phase.
Depending on personal work preference and topic, the phases may overlap.

Be aware that you are responsible for managing your own time! Once you have registered your thesis with the Examination Office (Prüfungsamt), the deadline is set.

This is a rough time estimation for the individual phases:

  • Bachelor:
    • 1 month orientation phase.
    • 1.5 months practical phase.
    • 1.5 months writing phase.
  • Master:
    • 1.5 months orientation phase.
    • 2.5 months practical phase
    • 2 months writing phase.

Thesis presentations usually take place after the thesis submission deadline. You should allow two weeks for planning and developing your presentation. Presentations with our chair typically occur on Friday mornings.
Since PO21, you have needed to be enrolled as a student in order to take the thesis presentation exam. If you have time constraints regarding semester boundaries, please plan ahead.

Prof. Grust does not require a printed copy of your thesis. When submitting your thesis to the Examination Office, please cc Prof. Grust and your supervisor.

Your code should be stored in a Git repository that is either hosted by us or to which we have access. Ask your supervisor about this.

Form

  • Your thesis must be written with LaTeX or Typst. For this purpose, we have templates you may use. Ask your supervisor about this.
  • For figures, we recommend TikZ in LaTex, and fletcher and CeTZ in Typst.
  • You may choose to write your bachelor’s thesis in English or German. However, we prefer English as the language of scientific research. We also expect you to write your master’s thesis in English.
  • Depending on your topic, it is usually difficult to write a thesis of fewer than 25 content pages. Ask your supervisor if you are unsure.
  • For linguistic correctness in English, we recommend using Grammarly, DeepL. Please familiarize yourself with the department’s regulations regarding the use of AI in theses!
  • You may borrow literature to improve your writing at our chair. Zobel, Justin: Writing for Computer Science

Content

The content will depend heavily on your topic. To get an idea of the general structure of a thesis, we recommend reading the following chapters from Zobel:

  • 5.3 Writing a Paper — Organization (6 pages) and
  • 5.7 Writing a Paper — Theses (2 pages).

Chapter 16 is dedicated to presentations. You might find this useful for your thesis presentation.

Evaluation Criteria

Your thesis accounts for 12/27 ECTS. This assessment covers the written thesis itself, as well as your code and general performance and work ethic during the practical phase. The remaining 3 ECTS are awarded for your presentation.

Common pitfalls

we often find student papers to …please, instead …
❌ be incomplete in terms of content✅ include abstract, introduction, discussion (critical view) and conclusion as inherent parts of a paper.
❌ have frequent orthographic and grammatical errors✅ use Grammarly, DeepL or similar tools.
❌ have punctuation errors✅ use commas, hyphens, dashes, semicolons, and colons correctly (different from German).
❌ use passive voice extensively✅ use active voice as often as possible: “I/we analyse/implement/investigate” is perfectly fine.
❌ use complicated sentences that (are supposed to) sound intelligent✅ KISS is as important for writing as for programming.
❌ have a wall of text or one sentence paragraphs/sections✅ choose appropriate paragraph lengths.
❌ show off the author’s intellect by using phrases like “obviously”, “very easy”, “as we all know”✅ stay objective. At best, something is “well-known” or “straightforward”.
❌ misuse ie, i. e., “… mammals e.g. elephants, …”know your latin and use appropriate punctuation.
❌ use numbers incorrectly: “there are 3 different …”✅ spell out numbers 1-10. When to spell out numbers.
❌ use several synonyms to vary expressions and avoid repitition✅ stick to one word/phrase for a concept, no need to confuse the reader.
❌ lessen the strength of your statements by using filling words etc.✅ be clear (even if it feels bold).
❌ contain errors like “in figure 3…”, “in the upcoming Section…”✅ capitaize if a figure, table, section,… is referenced by number. If not, don’t.

Additionally,

  • listings: Provide a caption (below), reference it in the text, provide line numbering, use syntax highlighting and a typewriter-style font.
  • figures: Provide a caption (below), reference it in the text, pay attention to similar spacing above and below the figure.
  • tables: Provide a caption (above!), reference it in the text, use booktabs style.