(Note that all of this information is based on the Saarland University's Computer Science degrees)
The process of writing a thesis is an important and transformative phase for every student. It can illuminate new knowledge and perspectives but also trigger stress and doub. However, physical and mental well-being should always be prioritized and never sacrificed for the sake of university obligations. This guide aims to streamline the process by providing you with practical guidelines to navigate this challenging yet rewarding endeavor.
- Most communication should run via MS Teams. Feel free to proactively create meetings and invite people.
- Please carefully read the "Prüfungsordnung" (study regulations). It is your responsibility to comply with the study regulations. If you think there is a contradiction between the "Prüfungsordnung", our website, or what we say to you, please tell us.
- It is your responsibility to regularly update your advisor on your progress (e.g., once a week). Please be proactive in this regard.
- Writing your thesis should be your main academic focus during this time. We expect that you work on it (more or less) persistently and continuously. If you are unable to work on your topic for a longer period of time, please communicate this as soon as possible.
- Instead of making incorrect assumptions or remaining inactive, it is important that you ask for clarifications if you feel that you do not understand something.
- Send the thesis as a .pdf to your advisor/supervisor one week before submission for feedback. After submission, send the final version as a .pdf to your advisor/supervisor.
- Find a topic together with your advisor.
- Conduct a careful literature review to set realistic expectations and make sure it hasn't been done the same way before.
- Implement a first prototype.
- Give your proposal talk and submit the thesis agreement (see website).
- Register your thesis (shortly after the presentation) by submitting your registration form. Make sure to get your seminar certificate. Remember your submission date (and share it with your advisor).
- You have time to finalize your experiments and write your thesis.
- Together with your advisor, find a second reviewer.
- Submit your thesis. Sent the final PDF version to your advisor.
- Give a final talk (called "defense") (ideally within two weeks after submission).
- 🏆
The literature review at the beginning of your thesis (but also during writing) is critical, and many students struggle with it. Doing a thorough literature review will pay off later! Potential tools are:
- Use a literature management system like ReadCube or Zotero.
- Google Scholar search for keywords.
- Google Scholar -> go to a paper and see "cited by".
- Identify relevant conferences and journals and scan them systematically (e.g., NeurIPS, Complex Networks Conference).
- Tools like consensus.ai (ChatGPT interface at https://chat.openai.com/g/g-bo0FiWLY7-consensus), litmaps.com (I really like this one), connectedpapers.com, scite.ai, and ResearchRabbit.ai can help.
- Follow relevant researchers on Twitter/X and ResearchGate.
- Talk to everyone you know who has experience in this area.
- You can upload the most important papers to NotebookLM to get an initial overview of the literature
- Start by looking at some theses from the university library to get a feeling for the range of different possible works.
- Using a good template makes life a lot easier. I like Clean Thesis: (http://cleanthesis.der-ric.de/) but there are many others.
- There are some good books on scientific writing for CS/math, I really like Writing for Computer Science by Justin Zobel.
- Avoid using ChatGPT for writing scientific text. ChatGPT and other LLMs often produce text that is not concise and can appear bloated. This style is generally not well-received in scientific writing! However, you can use LLMs to catch errors or enhance formulations.
- Please use an LLM to review your LaTeX code. Common mistakes include incorrect quotation marks, inconsistent spacing, and inconsistent equation usage.
- Use Grammarly or something similar to find obvious errors.
- Make sure the thesis is structured such that your contribution is clear. Don’t mix your contribution with previous work.
- It is highly encouraged that you make your code as accessible as possible, for example, by providing a HuggingFace interface or a Colab link for off-the-shelf execution.
- Use Turnitin to check for plagiarism: https://www.uni-saarland.de/en/administration/turnitin.html.
- I like to use capitalizemytitle.com (APA style) for consistent titles. You can also use a style guide for consistency.
- Creating visually appealing and informative figures is a common challenge for students.
- Use vector graphics (practially, that means using .pdf files) if possible.
- I often export matplotlib figures as PDF and then use a PDF editing tool to finalize the image. Tools like Inkscape or pdfresizer.com or simply Keynote help with small edits.
- Make sure the text in the figures is easily readable. The font size within a figure should not be (much) smaller than the actual text. You can check out Figure 3 here for a reference.
- Make sure you use a meaningful and consistent color scheme that is readable when printed on paper.
- If you use external figures, cite the source in the figure caption.
- Ensure reproducibility of the results by exporting the data to a .csv file, and generating the resulting figure through a separate plotting script.
- Watch How to MASSIVELY enhance clarity in your science figures and Principles of Beautiful Figures for Research Papers or conduct similar resources before you start writing the thesis.
- To find a proper color palette, you can use Coolors or ColorBrewer.
- Provide a link to the code (GitHub link in the abstract of your thesis, if not agreed otherwise) to ensure experiments are fully reproducible.
- Invest time and effort in creating clear and beautiful visualizations. This not only aids in code debugging and explanation but also enhances the overall quality and professionalism of your thesis.
- Compare your method to as many relevant baselines as feasible.
- If possible, conduct ablation studies to analyze the impact of different components in your method.
- For all evaluations, perform multiple runs with varying random seeds and report results comprehensively.
- Perform proper cross-validation and hyper-parameter tuning on a validation set.
- Follow field-specific best practices in formatting and presenting your results tables.
- Ensure that the method description in your thesis is sufficiently detailed for easy re-implementation by others.
- The goal is to tell a self-consistent story.
- Always prioritize concreteness, simplicity, and clarity.
- Slides are a visual medium. Explain everything visually that can be explained visually. Complete sentences should be the exception.
- Don't overcrowd your slides: Use minimal text and avoid bullet points. Your audience shouldn't have to read information that's already being explained verbally.
- Put time and effort into creating visualizations and preparing (running) examples.
- Don't be sloppy! Creating consistent slides and illustrations takes time, energy and multiple iterations.
- Present concrete examples before introducing abstract concepts.
- Focus on intuition, high-level understanding, and contextualization, not on technical details.
- Use slide numbers.
- It is of utmost importance that the following questions are answered very clearly and without any ambiguity:
- What problem are we solving?
- Why is this problem worth solving?
- How do we solve it?
- Submit your slides as .pdf one week before your talk (or whatever is specified on the group seminar website).
- If you use Keynote, you can use LaTeXiT to get proper LaTex vector graphics on your slides.
- Your final slide should include a summary to stimulate questions and discussions.
- Writing for Computer Science by Justin Zobel
- Foundations of Computer Vision by Torralba et al. has some nice chapters and scientific writing and giving talks.
- How to Give a Great Research Talk by Simon Peyton Jones is a great resource (but dont overcrowd your slides like that).
- Likewise, How to Write a Great Research Paper is great.
- The Science of Science (Wang, Barabási, 2021) provides some interesting information on the process of scientific discovery in general.
- Ten simple rules for developing good reading habits during graduate school and beyond
- If you consider pursuing a PhD, Jilles Vreeken wrote a nice survival guide.
- Likewise, the PhD survival guide provides some useful tips also relevant for thesis students.