BSc/MSc Thesis
Our research group offers various interesting topics for a BSc or MSc thesis, the latter both in Computer Science and Scientific Computing. These topics are typically closely related to ongoing research projects (see our Research Page and Publications). Below, we outline the basic procedure you should follow when planning to do a thesis in our group. Please read the following carefully! You also might want to take a quick look at past topics students covered in their theses. Please also note that we currently cannot accommodate all requests for advising a thesis as in current semester as well as in the upcoming summer semester 2024 we are already advising numerous MSc and BSc theses.
Requirements
A key requirement is that you have taken some advanced courses offered by our group. This includes Data Science for Text Analytics or Complex Network Analysis (ICNA) and the more recent master level class on Natural Language Processing with Transformers (INLPT). Student should also have some background in machine learning, ideally in combination with NLP. We also strongly recommend that prior to starting a thesis (especially a BSc thesis) in our group, you do an advanced software practical to become familiar with the data and tools we use in many of our projects. Most students typically do this in the semester before they officially start their thesis. Further requirements include
- very good programming experience with Python (strongly preferred, including framework like pandas and numpy)
- solid background in statistics and linear algebra
- (optionally) experience with the machine learning frameworks such as PyTorch
- (optionally) experience with NLP frameworks such as spaCy, gensim, LangChain
- (optionally) experience with Opensearch or Elasticsearch
- knowledge using tools such as Github and Docker
It is also advantageous if you have taken some graduate courses in the areas of efficient algorithms (e.g., IEA1) and in particular machine learning (e.g., IML, IFML or IAI). Being familiar with frameworks like scikit-learn, Keras or PyTorch is advantageous.
If you have only taken the undergraduate course introduction to databases (IDB) and none of the other above courses, it is unlikely that we can accommodate your request.
Make also sure that you are familiar with the examination regulations ("Prüfungsordnung") that apply to your program of study.
Getting in Contact
Prior to getting in contact with us you should, of course, read this page in its entirety. If you think your interests and expertise are a good fit for our group and research activities, send an email to Prof. Michael Gertz with the subject "Anfrage BSc Arbeit" or "Anfrage MSc Arbeit" and include the following information:
- your current transcript (as PDF). You can download this from the LSF.
- information about your field of application ("Anwendungsfach"), in particular the courses you have taken
- your programming experience and projects you worked on
- areas of interest based on the research conducted in our group
- any other information you think might strengthen your request
We will then review this information and get back to you with the scheduling of an appointment in person to discuss further details.
Thesis Expose
Once we agree on a topic for your thesis, before you officially register for a thesis, we would like to get an idea of how you approach scientific research and whether you are able to do scientific writing. For this, we require that you write an expose of your planned thesis research (see, e.g., here or here) . This document is about 4-6 pages and has to include a description of
- the context of your project and research
- problem statement(s)
- objectives and planned approaches
- related work
- milestones towards a timely completion of the thesis
Especially for the related work, it is important that you get a good overview early on in your thesis project; of course, your advisor will give you some starting points. Most of the time, such an expose becomes an integral part of the introductory chapter of your thesis, so there is no time and effort wasted. The expose needs to be submitted to your advisor on schedule (which you arrange with your advisor), who will then discuss the expose with you and coordinate the next steps. Occasionally we also have students give a 10-15 minute presentation of their research plan in front of the members of our group in order to get further ideas, comments, suggestions, and pointers on their thesis.
Official Registration
In agreement with your advisor, after you have submitted an expose of good quality, you plan for an official start date of the thesis. For this, please fill out the form suitable for your program of study:
- Für Anmeldung einer Bachelorarbeit, siehe hier.
- For officially registering your master's thesis, see here.
- Registration form for a MSc thesis in Scientific Computing (please see Mrs. Kiesel to obtain a form).
Hand in this form to Prof. Michael Gertz who will then turn in the signed form.
Thesis Research and Advising
After you submitted the registration form, it is up to you to schedule the further steps with your advisor (please do not expect us to inquire about the thesis - if we have to ask about your progress, this is a good indication that you are falling behind schedule). For both types of thesis, BSc or MSc, there will typically be a bi-weekly meeting or meetings based on demand. Since your thesis is ultimately your own work on the agreed upon topic, these meetings should serve to answer questions and discuss how to proceed based on your deliberations, findings, and input - don't expect to simply be told what to do next. Prior to meetings, it is thus important that you send the topics to discuss to your advisor, for example, a sample section of your thesis you have written and you want to discuss. This helps your advisor to prepare himself for an efficient meeting and it helps you to structure your questions.In order to help you to organize the hard part of your thesis, namely writing the thesis itself, we provide you with a thesis template you are supposed to use (see below). Please note that you are required to use LaTeX for your thesis as it is the scientific standard in computer science. You are free to improve the template if necessary (within reason). You are also encouraged to write your thesis in English. In the past, we had several students who did excellent work in their thesis that could subsequently be published at international conferences and workshops, where the language, of course, is English. In fact, we prefer a thesis written in English, as this is the language used in IT, Computer Science and most research.
It is your responsibility to ensure that your thesis meets the requirements of a scientific paper. We do not provide support regarding format and style of your thesis as these issues are discussed in the seminars that are part of your curriculum. Carefully review the information provided on the university's website. There is a lot of useful information about the curriculum in general and about requirements for writing a thesis, especially the page on Safeguarding of good academic practice and the document on Rules for safeguarding good academic practice (PDF), which also includes aspects of plagiarism.
Helpful guidelines are listed, for example, in the following documents:
- Here are some hints on grammar and style we maintain locally.
- Some easy, purely syntactic hints on writing good research papers (from Prof. Felix Naumann)
- Dos and don'ts, Universität Heidelberg, Prof. Dr. Anette Frank
- Leitfaden zur Abfassung wissenschaftlicher Arbeiten, Ruhr-Universität Bochum, Katarina Klein
- Leitfaden zur Abfassung wissenschaftlicher Arbeiten, TU Dresden, Maria Lieber
In addition, you can find a detailed description how to write a seminar paper using our template for seminar papers. The hints in this template might also be crucial when you are writing a thesis: [seminar template .zip] [report sample pdf] [slides english pdf] [slides german pdf]
Feel also free to ask us for copies of BSc/MSc thesis students did in the past in our group.
Thesis Template
We provide you with a fairly generic LaTeX template for your thesis. You have to use this template for your thesis! Although the template is targeted towards a Master thesis in Computer Science written in German, it can easily be adapted to a Bachelor thesis or a thesis written in English.- Thesis template [.zip]; see a sample PDF here.
Thesis Presentation
Once you have submitted your thesis to the respective examination office (Mrs. Sopka for Computer Science, Mrs. Kiesel for Scientific Computing), together with your advsior, you schedule the presentation of your thesis. Once we have determined a date and time (in the case of a MSc thesis, the second reviewer also has to have time), we will arrange for a room. Note that the presentation is open to the public and will be announced via mailing lists in the Institute for Computer Science.You have about 20-25 minutes time for the presentation. Please keep in mind that the audience partially consists of people who are not very familiar with your research. Thus, make sure to clearly state the problem setting and objectives of your research. Please make sure that your presentation is adequate for a scientific talk (e.g., do not use fancy animations or overly distracting colour schemes, include slide numbers for a better discussion after the talk, etc.). We recommend that you use the LaTeX Beamer template provided below to create your slides, or at least use a somewhat similar style and layout.
- English LaTeX-Beamer template for the presentation: template [.zip], sample PDF
- German LaTeX-Beamer template for the presentation: template [.zip], sample PDF