Thesis guide
This short guide is intended to give you a brief guideline on how to organise and conduct your thesis. This guide covers both, a master and a bachelor thesis.
Managing your Thesis
A thesis is a complex task, similar to a software project has to be managed properly. It can be seen to have four stages, which are iterated several time.
Define the goal of your thesis together with your supervisor. Write them down as bullet point list. This list should have 3-5. If there are more points, you have to aggregate them and if you can not aggregated them, then you have set yourself too many goals. Note that goals are not tasks. Goals determine what you want to find out with your thesis and form the basis of the research questions. Most likely you will refine your goals throughout the thesis. That is OK because your knowledge on the domain gets better and therewith you are able to write down more accurate questions.
It is often underestimated, but very important to search what others did. Most likely others worked on similar topics and so you have to set out searching for what they did. Use search engines like Goolge Scholar or grab a recent Book on the topic of your thesis and start your literature research from there. A in depth research allows you to avoid the unpleasant suprise that after 6 months of work one identifies the same solution made by somebody others. Moreover, it builds up your background knowledge in the domain. Only with sufficient background knowledge you are able to take the correct decisions.
Good implementation starts with a workplan that has tasks, milestone (i.e. what to achieve when) and thoughts on how to get there. You do not have to create a full fledged Gantt and Pert Chart, a simple task list might be sufficient to structure your work. Use a issue tracking system or something similar, because it also helps you to keep track of things your already tried (and it gives a good feeling when closing open issues).
This is the most important part, which is often overlooked. You have invested a most time in implementing/realising your goals, and so it seems that evaluation is annoying and time consuming. However, it is the evaluation of your system that answers your research questions or let you judge whether you achieved your goals or not. So plan your evaluation before the implementation by writing down a coarse-grained evaluation plan, and, reserve enough time for it.
Note that this is not a linear, but a iterative process. In your evaluation you discover the something does not work out and so you have to adapt your evaluation or even your goals. But that is pretty fine since you learn as you go. If you already would know it from the beginning, there is no need for research.
Templates and Further Ressources
- Structure+Hints for Seminar, Bachelor, Master and PhD Talks
- Latex Template for MA/BA Thesis
- Scientific Writing
- Hints on Scientific Presentations - although focused on Theoretical Computer Science, most parts are also relevant for Computer Science in general (where proofs are not given in a formal way but by implementation and/or empirical analysis)
How to conduct a good scientific thesis
Regardless whether you are a Bachelor, Master or PhD Student (or later on a researcher), there is always the central question on how to conduct a good thesis. Sadly, there are no strict “rules” for doing so and it requires a lot of expertise. Fortunately, some simple tips allow you to bootstrap the quality of writings, presentations and your thesis in general and enable you to develop a critical thinking, but open mind – the most important tool for any future career.
In this article i want to give you some tips on how to bootstrapp your scientific skills. So what are scientific skills? Science is about discovering stuff nobody has known before and to explain your discovery to other people. Explaining your discovery is important, since it
- allows others to validate your work
- helps yourself in gaining a deeper understanding
- enable future discovery based on what you have found out.
That is not only true for research, but for nearly any industry jobs for academically educated presons. How to convince your boss that your solution for a particular project is the best one? How to argue that the current roadmap does not make sense? How to convince your team members to invest time in a particular functionality? How to judge the validity of your own decisions?
Conducting a good scientific thesis requires you to do a decent job and communicate the results. Hence it involves
- Motivation
- Reading Skills
- Writing Skill
- Presentation Skills
- Discussions
- Critical Thinking and self-reflexion
I will cover all three points below and give tips on how to bootstrap the particular skills. In my seminars and when i have to judge thesis, i apply those principles as criterions for the grade you obtain. So at least my students should take the advices seriously ;)
Disclaimer: it is by no means exhaustive and only my personal opinion/experience. The most important thing to do is to find your own way, while giving credit to all the people that walked the way before and trying to learn from their experience. An attitude not only important in science and research.
One of the most important skills is motivation. Once upon a time a student asked the teacher how to learn uninteresting stuff efficiently. The short answer is you can’t, at least not for beyond the exam. So the key insight to motivation is in choosing stuff you really like to do. Often student make the error in going the easy way, taking courses where exams are “easy going”. That is a waste of time since it is by far harder to learn boring stuff, the really interesting stuff. Think of it when you have watched a really entertaining movie. You can remember nearly all details and you had a good feeling after watching it. How do you feel after a bad movie?
So when you are choosing a topic for a scientific thesis, take one that makes you feel every day like you have watched the best movie ever. Most supervisors give you the freedom to adjust a particular topic of a thesis so that it fits the motivation of the student better. So engage a critical discussion with your supervisor and what you want to do and what not. Of course this requires you to go deeper on potential topics and to explore what best fits your interest. But especially when you are studying computer science, you should have a natural habit on being attracted by strange, nerdy stuff.
Key lesson: Learn to motivate yourself and take topics that you are excited about it.
- Read with a purpose (start with questions to the article. the more specific, the better)
- Discuss what you read with others
- Write a short summary of your key findings. either do it graphically (Mindmaps, Rhino Maps) or textually.
Write often; write concise. Writing requires you in expressing your (parallel, mostly non-linear) thoughts on a linear medium. And this is very difficult. But the medium forces you to express your thoughts in a clear manner and connecting each thought with each other (the so called flow or read thread in German). That is difficult and learning good writing techniques covers whole courses and books. However, for getting started there are five simple rules:
- Write down the 3-6 most important questions you want to answer. Two sentences per question maximum
- Write down the motivation, why those questions are important
- Give an example for every question
- Write down how you will answer the three questions.
- Write down the answer to the questions
If 2. and 3. do have nothing in common, you have put the wrong questions together in the same box.
Presentations follow the same rules as writing, with the exception that oral presentations does not allow you to present all your details. So avoid explaining every little detail, because you will loose the audience. In general your talk should be structured similar to your written thesis
- Motivation: Why is your talk relevant. Give an example.
- State-of-the-Art: What did others do in the context of your talk?
- Questions: What questions will you answer in this talk?
- Methodology: How will you answer the questions?
- Experiments: How did you implement the methodology?
- Evaluation: What is the answer to every question? What did you learn?
- Future Work: What are the loose ends of your work (a work without loose ends is most often not very helpful)
Keep that simple structure and use the question to guide the audience through your thoughts and findings. Stick to the KISS principle (Keep it short and simple). Your audience will appreciate it.