Hints on How to Prepare and Write a Thesis
A 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 thesis is concerned with practical issues.
Training Period and Definition of the Setting of the Task
Depending on the previous knowledge of the graduant, the actual thesis work starts with a training period, which covers the following tasks:
- Familiarizing with the literature in the chosen topic
- Familiarizing with the system environment, in which the implementation takes place
- Narrowing down the subject
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 comparitive 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 thesis and serious false estimations in expenditure of work and with this overdrawn working periods for theses. Therefore, it is also true for external theses, at which the institute is the second expert.
The results of this phase will be presented and discussed in our research seminar for students.
Working on the Thesis
In the actual 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 follows. 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 critcally evaluate the design alternatives from the point of view of computer science and if applicable of the application field (this includes later self-criticism of the chosen alternative). For a pracitcal work, the written formulation should include the following items. This list doesn't claim to be complete.
- Introduction into the topic of the thesis
- Narrowing down the task
- Answers to the questions: Why is the thesis useful? What is the goal of the work?
- Determine 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 the 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, useful future addtions,...)
- 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 soroughly 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. In addition, the 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."
The final presentation takes place after handing in the thesis. It will take one hour and consists of
- a 25 minute presentation of the graduant (20 minute presentation for bachelors),
- the reading of the expertises (not for a "Studienarbeit") and
- a discussion between graduant and the other participants of the presentation.
The presentation should include the following items:
- Short introduction to the problem,
- Short overview about relevant literature or rather methods and results from other projects that contributed to the diploma thesis,
- Presentation of the solution concept and implementation decisions (no program code, but important design decisions),
- Presentation of the results (short demonstration of the implemented system, if possible) and
- Summary, critical evaluation of the own work, and suggestions for future work.