Writing a thesis is a complex project, that requires planning, self-organization and perseverance. Additionally, when working on a new topic, you will need some time to understand the surroundings of your topic. This post is a collection of my experiences from writing a bachelor and master’s thesis for a computer science degree.
Find a topic
Finding a topic for your thesis is probably the hardest part. In general there are different approaches to find a topic. First, you can search for open topics within the research groups of your department. This will be the easiest way, as there are people who now what topics are available in their current field and the can provide you with literature and feedback.
Secondly, there is always the way to find a topic on your own. For that you have to read literature and come up with an idea. This is the harder way, but will give the benefit that you already know some literature in the field and have at least some personal connection with the topic. Besides that you can search as long as you want to find an interesting topic.
Finally, you can search for topics within companies. They often offer a topic and support (in form of a mentor, cloud resources, …) for a thesis, so they can get to know you and offer you a position after you have finished your degree. At least this is a thing in Germany.
As I already said, it is hard to find a topic you will be interested to work on for multiple months. So take your time and do your research!
Where to find Literature?
Literature research is a major part of academic writing, that will need a lot of time. The first question that arises is where to start searching for articles, papers or books? The answer is not straight forward as it depends on your academic field and research topic. As I wrote multiple thesis about (applied) computer science, I can provide you with my workflow and methods to find literature. I mostly use the following sites to search for literature:
https://dl.acm.org/ Association for Computing Machinery (short ACM) is a well known society within the computer science world. They publish a lot of (peer-reviewed) journals, so you can mostly rely on articles published in their journals.
https://ieeexplore.ieee.org/Xplore/home.jsp The other big player is the Institute of Electrical and Electronics Engineers (IEEE). IEEE has a broader scope than ACM, as the name implies they also handle the physical or hardware layer of computer science.
https://scholar.google.com/ Google Scholar is fantastic to search through all major academic resources. They also provide a cite counter, so you can ensure your sources are well known in the academic field of your work. Besides that you can find newer research that uses concepts or ideas from older papers.
Method of reading Papers
The most important note is that you should not read a paper from top to bottom if you are not sure if it provides some new insight for your work. Academic literature (mostly papers not whole books) always follow the same structure. Therefore, they all provide an abstract, that will give you a quick overview about the used methods and results within a few sentences. Additionally, all papers provide a summary that summarize the whole paper and the findings. So before reading a whole paper, read the abstract and summary and decide if it is worth you time. If yes, go ahead and read it, if no don’t hesitate and drop it (at least for now).
Write a proposal
A thesis proposal is a good way to validate if your topic is worth writing a thesis about. Furthermore, you can validate that there is enough literature in the field you want to write about. A proposal should include the major ideas you have, which question you want to answer and at least some relevant literature. Your supervisor can then provide you with feedback, if your idea is good or needs some improvements.
Working on the thesis
Working on a thesis is not only about writing. At first, you have to think about the general structure of your thesis, write some background, present your methods and so on. But the main task of the thesis is not writing it. It is doing the work needed to have something to write about. As both, my bachelors and master’s thesis, were in the field of applied computer science, I had to do some coding before I started writing. Even if you are working in a larger concept and only want to build a small prototype, I would suggest to work on the implementation. It will give you insights if your idea is actually working, before you have spent weeks in building a concept in your head. So working on the thesis is an on and off process between researching new concepts, reading literature, building prototypes and writing.
Writing is no linear process! It could be a more or less linear process if you start writing in the last few weeks, but I would not recommend that. In my case I prefer to write the background chapter at first, as it gives me a chance to form what I’ve learned about e.g. some obscure protocol, in my own words. Start with taking notes about a chapter or a section within your thesis, then form whole sentences and try to connect them with the surroundings.
There are multiple persons that can provide you with feedback. At first there is your supervisor, whom should have a general idea what you are doing, but is maybe not as deep in the technical details as you are. Furthermore, there could be other employees or students in the research group. Talk to them about your topic, problems or understanding of your topic. But don’t waste their time with superficial question. Take your time to prepare meetings (especially with your supervisor!) and ask the questions you have thought about at least a few hours. Writing a thesis is not a straightforward process, therefore it is completely normal to invest a week or two in something that will not work or end up in the thesis itself.
Find people that can read your thesis and correct mistakes. This goes from simple typos or spelling mistakes to misunderstood concepts. Therefore, you need at least two different groups of people to read, one that can help you with grammar and spelling, and another that works in the field and understands your research. Together they can drastically improve your work.
Writing a thesis is a month-long process that requires discipline to give the time it needs to read a lot of literature and form your own ideas out of it. So don’t give up if something is not working as intended and you have to go back a few steps and try again. All of this is part of the process! There are also parts of the process which are very enjoyable, like finding a new concept that actual works. So take your time and enjoy the time you have to get really deep in a specific topic.