The computer science diploma thesis is meant to demonstrate the ability to work on your own with methods of computer science in the scope of a larger project. In practical computer science, it is often done in the form of an extension of a larger software system, for example in the context of research done at the institute. In this case, it is compromised by an implementation (including documentation) and a written formulation of the theoretical basics.
A detailed discussion of the computer science problem and an analysis of used computer science methods is at least as important as the analysis of the application field, although the diploma thesis is concerned with practical issues.
HOW TO WRITE A THESIS PAPER
Training Period and Definition of the Setting of the Task
Depending on the previous knowledge of the graduand, the actual diploma work starts with a training period, in which the following must be done:
- Familiarizing with the literature on the chosen topic
- Familiarizing with the system environment, in which the implementation takes place
- Narrowing down the subject
The result of this phase should be a short description that precisely defines the exact setting of the task and specific goals. Ideally, this description should already include a comparative presentation of possible solutions considering the literature, a short description of the chosen solution, and a working schedule. This procedure is supposed to avoid problems in understanding when defining the diploma thesis and serious false estimations in an expenditure of work and with these overdrawn working periods for diploma theses. Therefore, it is also true for external diploma theses, at which the institute is the second expert.
MAKE YOUR THESIS STATEMENT
Working on the Diploma Thesis
The computer science thesis should include the following items:
- Title Page
- Abstract (one page at most)
- Table of Contents
- Table of figures and table of tables if applicable
- Table of abbreviations (consists of all used abbreviations and symbols)
- Appendix if necessary
- Declaration of independent work (signed), e.g.:
"With this, I declare that I have written this paper on my own, distinguished citations, and used no other than the named sources and aids".
In the actual diploma thesis, the work will be done according to the working schedule. This means that first of all the chosen solution will be worked out in detail. Then, the system will be implemented. After that, the evaluating analysis and documentation follow. Finally, the results will be worked out in a written form.
When grading the work, the quality of the implementation and formulation is as important as independent work in narrowing down the subject, literature research, and finding the solution. It is also important to critically evaluate the design alternatives from the point of view of computer science and the application field (this includes later self-criticism of the chosen alternative). For a practical work, the written formulation should include the following items:
- Introduction to the topic of the computer science diploma thesis
- Narrowing down the task
- Answers to the questions: Why is the computer science thesis useful? What is the goal of the work?
Determination and discussion of the starting point
- What relevant methods/techniques are already developed in this research area (literature research)?
- Which conditions (for implementation: hardware and software among others) exist?
Development of a (formal) solution model
- Critical evaluation of the literature: What can be used?
- Starting from the previous item, a concept for solving the task has to be developed
- Justification of the solution concept: Comparision to alternatives!
- This section must not include implementation details.
Implementation of a solution concept
- Selection of tools (e.g. programming language)
- Documentation of important design decisions
- Critical evaluation of the implementation (test runs with measured run times, case study if possible, gaps in the implementation, future addition)
- Summary: What are the important results?
- Future work: What can/must be done?
The formulation is not supposed to be a documentation of the developed programs. It is intended to show the ability to work with or develop methods of computer science independently. Used results out of the literature have to be marked thoroughly to separate them from the own work. Programming language expressions like "if a=b then s1" must be separated from common speech and other notations (like mathematical expressions) to avoid misunderstanding.