Writing and Presenting

On this page you will find tips, advice, and best practices regarding the preparation, writing, and evaluation of theses, talks, reports, and students' research projects.

Bachelor's and Master's Theses

If you are interested in writing your Bachelor's or Master's thesis in the field of software engineering, you are welcome to inquire about open topics in our group. In addition to general open topics, we offer supervision for personalized topics on an individual basis, as well as accept your own suggestions, as long as they fit our research profile so that we can offer competent supervision. Supervision of external Bachelor's and Master's theses is only possible under special circumstances, such as particular interest in the topic on our side, or close relation to our research activities and the potential for reuse of the results in our research.
Proper supervision is vital for the successful completion of Bachelor's and Master's theses and also very important for us. In order to guarantee intensive and individual supervision, we expect matching commitment, enthusiasm, and independent initiative from our students. Individual appointments for the discussion of the progress, emerging problems, and potential solutions are arranged on a regular basis, roughly every 1-3 weeks. Additional appointments and e-Mail discussions can be arranged on demand as well.
Bachelor's and Master's theses should be written in English whenever possible. German is acceptable only in exceptional cases. The completed thesis must also be presented in a graduate seminar. The results from outstanding theses may be published in scientific journals and conferences.
Our evaluation and grading scheme for Bachelor's and Master's theses is available here (in German).

Student Research Projects

Participation in student research projects is possible only in combination with a subsequent Master's thesis supervised by our group. The student research project should be related to ongoing research activities of our group. It could also involve collaboration on research publications. Inquiries about topic suggestions are always welcome. We gladly discuss open topics with students on an individual and personalized basis. It is also possible to work on student research projects in small teams.


Participation in seminar courses typically involves attending an introductory organizational session, during which seminar topics and presentation appointments are introduced and assigned to the participants. Should you be unable to attend the introductory session, it is also possible to register for the course per e-Mail or personally, preferably before the introductory session. Upon being assigned a topic and corresponding topic-related materials, you are expected to prepare a seminar presentation according to the guidelines defined for the seminar course. The presentation, as well as potential topic-related issues, should be discussed with the seminar and/or topic supervisor well in advance of the actual presentation (at least 2-3 weeks ahead), for which you should arrange appointments as necessary. Suggestions from the supervisor should then be included in the final presentation. All seminar participants are expected to attend all presentation sessions and demonstrate active participation in the discussions after the seminar presentations. Depending on the seminar, participants may be required to submit a written report on the assigned topic. Participants are encouraged to discuss a preliminary version of their reports with the seminar and/or topic supervisor before the final submission. Suggestions can then be integrated in the final report.
The general evaluation scheme for successful participation in seminar courses consists of a grade for the presentation, which accounts for 40% of the final grade and a grade for the written report, which accounts for 60% of the final grade. The grading scheme may vary for individual seminar courses (where no written report is expected, for example).
During presentations, the following aspects are evaluated:

  • Quality of the presentation materials
  • Preparation of the presenter
  • Structure and organization of the presentation
  • Work on the topic (e.g. independent research in further resources)
  • Answers to questions

For written reports, the following aspects are subject to evaluation:

  • Completeness
  • Scientific content
  • Form and style

For tips on the preparation of presentations and written reports, please consult the corresponding sections below.

Writing Technical Documents

Writing technical documents is in many ways different from writing other types of documents. Technical documents are, e.g., Bachelor's and Master's theses, term papers, and reports for work on student research projects. The following books provide some guidelines and best practices on writing technical documents:

  • Writing in English
    • Lyn Dupre. Bugs in Writing - A Guide to Debugging Your Prose. Addison-Wesley, Revised Edition, 7th Printing, 2003, ISBN: 020137921X.
    • Justin Zobel. Writing for Computer Science. Springer Verlag, Second Edition, 2004, ISBN: 1-85233-802-4.
  • Writing in German
    • Peter Rechenberg. Technisches Schreiben - (nicht nur) für Informatiker. Carl Hanser Verlag, Munich, 3. Edition, 2006, ISBN: 978-3-446-40695-7.
    • Marcus Deininger, Horst Lichter, Jochen Ludewig, Kurt Schneider. Studien-Arbeiten - ein Leitfaden zur Vorbereitung, Durchführung und Betreuung von Studien-, Diplom-, Abschluss- und Doktorarbeiten am Beispiel Informatik. vdf Hochschulverlag AG, ETH Zürich, 5. Edition, 2005, ISBN: 3-7281-3012-5.

You must refrain from citing and referencing secondary literature, such as encyclopedias. Secondary literature only provides an overview on a topic and references fo further reading. Thus, instead of citing an article in an encyclopedia, you should rather consult the relevant resources referred to in the article and cite them. Always try to cite primary literature.

Presenting Scientific Work

Presenting scientific work in a seminar, and even more so the results of you own Bachelor's or Master's thesis, is an exceptional challenge. When giving such a talk, you are not only presenting a topic, but you are also presenting yourself as a whole. Thus, every talk you give is, in a way, a business card that reflects your abilities and your personality. As a consequence, talks should be planned and prepared carefully and systematically. A number of resources regarding the planning and preparation of scientific talks are available both online and offline. A few selected materials are listed below:

Technical Tips

Whether you are working on your implementation or preparing a final report or a thesis, some technical tips should always be taken into consideration.


Always backup your work and your data! Regularly! For backups of your reports, as well as program code, you can use remote software versioning and revision control systems. We recommend using Subversion (SVN) for managing the source code of your implementation, as well as for the files of your written work. The SVN online book provides a good overview of SVN. The Gforge portal provides a complete project environment, including an SVN server. You can create an account and a project yourself. Public project hosting portals, such as GitHub, also provide complete project environments open to a wider audience. For Bachelor's and Master's theses, as well as participation in student research projects, our research group provides access to our own SVN server.  For further information on this, you should contact your supervisor.


During the implementation stages of your work, you should make sure that:

  • Your source code is properly documented. This influences your final grade!
  • Your build process is fully automated. For this purpose, you should use tools, such as ant, maven, or make to automate the build process of your implementation. An automatic build process ensures that your source code can be built after you have finishing your work on it, and that it can be used further for subsequent projects building upon the results of your work.
  • Your implementation is well tested. You should develop automated tests, for example, with JUnit or TTCN-3. Upon request, research licenses for TTworkbench can be made available to students.
  • You are encouraged to use an Integrated Development Environment (IDE), such as Eclipse, which provides a multitude of tools to support and improve your work on the source code of your implementation, as well as frontends for the various build automation and testing tools.

Document Preparation

You are strongly advised to use LaTeX for the creation of reports and theses. Learning LaTeX is a one-time investment that pays well off even with the very first report you create with it. Citation references, acronyms, listings, and figures are all much easier to manage in LaTeX than in other word processing software. In addition, change tracking and management is identical to that of implementation source code. LaTeX can is avaliable for Windows, Linux, and OS X. Up-to-date instructions for setting up the LaTeX environment on your platform of choice are available online. There is also a multitude of editors available for the various platforms. A good cross-platform option is TeXlipse, which, as the name suggests, is a plugin for Eclipse. Using TeXclipse enables you to work on your code and your written report in the same familiar environment, using similar or identical technologies for versioning and backup. A vast number of resources related to working with LaTeX are available both online and offline. Some books on LaTeX are also available in the student's library of the institute, such as:

  • Helmut Kopka. LaTeX - Band 1: Einführung. Pearson Education Deutschland GmbH, 2002, ISBN: 978-3-8273-7038-9.
  • Helmut Kopka. LaTeX - Band 2: Ergänzungen. Pearson Education Deutschland GmbH, 2002, ISBN: 978-3-8273-7039-6.
  • Helmut Kopka. LaTeX - Band 3: Erweiterungen. Pearson Education Deutschland GmbH, 2002, ISBN: 978-3-8273-7043-3.

For all Bachelor’s and Master’s theses, you should use the LaTeX template of the Institute of Computer Science. For the preparation of seminar and project reports, we suggest using the standard document class report or book. BibTeX should be used for the management of references. Abbreviations are supported by the LaTeX package acronym. For illustrations of source code, the LaTeX package listings should be used. TTCN-3 syntax highlighting configuration for the listings package is available from our group upon request.

Main menu 2

2011 © Software Engineering For Distributed Systems Group