Writing a Thesis/Paper
Writing a thesis or a paper on your work is how you communicate your work to others. The quality of your writing directly influences how your research is perceived and evaluated. Therefore, it is mandatory to invest considerable energy into the quality of your writing.
In the following, I will go through the structure of a typical CS paper or thesis and comment on the important aspects of the respective section.
CS papers and also (to a certain extent) theses typically follow a similar structure:
- Main Technical Part
- Experimental Evaluation
- Related Work
This structuring is not set in stone. For example, sometimes it might be better to put related work in front of the main part or coalesce it with the background section. Sometimes, there is no experimental evaluation because the work is entirely theoretic. The frame never changes: Abstract, Introduction, ..., Related Work, Conclusion.
The abstract of a paper is typically used by reviewers of a conference to bid for a paper (to express the willingness to review it). Make your abstract short, concise, interesting. Imagine a reviewer looks at all the abstracts of the 350+ papers submitted to the conference. You want the expert reviewers to review your paper, so make it interesting to them.
A good abstract has (no more than) 5 sentences. See the next section for a more detailed discussion.
- Problem Statement
In a thesis, the abstract can be a bit longer and is essentially a very brief summary of the thesis that helps people to quickly get an impression what the thesis is about and if they want to continue reading.
The purpose of the introduction is to allow other people to inform themselves quickly and efficiently about what you have done. In terms of communication, it is the most important part of your thesis/paper. If this is not very well written, your paper/thesis will have a hard time.
The introduction sets the scene for the entire thesis/paper. If you do this properly, the reader has a clear expectation of the rest of the thesis.
Introductions (similar to abstracts) typically follow the following structure:
For a thesis, you briefly motivate your problem, essentially by describing on a high level what the general topic is and why your problem is in important one. A detailed motivation is typically not necessary for a conference paper (people there know the currently pressing problems in their field).
- What is the problem?
If possible, use a good and concise example to illustrate the problem.
- What is your contribution and how does it improve on the state of the art?
(what can you do what others couldn't?)
Ideally you reuse the example to demonstrate the important aspects of your approach.
- What are the results?
How well did you perform? How successful were you?
Note that the introduction is not a related work section. Although you might want to motivate your work with drawbacks that you identified in earlier work, make sure to not discuss related work in too much breadth. This is done in other parts (see below). Use suitable references to related work where necessary (if you refer to a specific technique directly).
Be explicit about your contribution. Be sure to make absolutely clear to say what you do, what is new, how it improves on the state of art and what the advantages are. This is what people are interested in. The reader will not try to gather that from a lengthy text. Ideally, you conclude the introduction with a list of bullet points that summarizes your contributions.
This part (if necessary) provides background information that is necessary to understand what follows. These are theories, methods, techniques that are considered to belong to the standard repertoire in your field but typically are not part of an introductory course or textbook.
Note that this is strongly dependent on your audience. For a thesis, it might be good to give some background for your secondary reviewer. For a very specialized conference, you certainly can assume more background knowledge from your readers.
The goal of this part is to provide a precise and factual description of your work. It has to be written such that another person is able to reproduce what you have done.
Structure this part well and prepend it with a small introduction that guides the reader through your various findings. Relate to existing work where necessary using proper citations.
This part can be and should be technical and less "exciting" to read. However it has to comprehensively state your findings.
Make sure that you properly cite every piece of text and every figure you reference from the work of others.
This part comprehensively sets your work into context with existing work. The purpose of this section is to inform the reader, who is also an expert in your field, of what sets your work apart from other work and where it is similar. It helps researchers in a field to quickly understand in what way your work is different from the work they already know. Provide them this information.
It is not sufficient to just mention and cite related work. You need to put it into the context of your work.
Focus on work that is directly related to your work. You don't need to explain and cite standard notions that have been well-established in textbooks over the last decades. However, in every field there are seminal papers that are not part of, say undergrad textbooks, that need to be cited if your work relies on them.
Summarize the contributions and results of your work and describe the parts of what you learned that is interesting for others.
Assume, you'd be somebody else and you'd be interested in applying your technique. The conclusion should be the part of your work where this person can find the answer to the question "What can I expect?"
If a reader has little time, he/she wants to know what your work is about and how well it worked. This has to be possible by just reading the introduction and the conclusion.
Consider this section as handing over the baton to the next researcher. Ideally, you can also lay out some of the future work that would be interesting to conduct based on your findings.
Here is loose collection of language problems I frequently encounter. Some are specific to German native speakers.
- Use the active voice.
- Make short sentences. In doubt, split a sentence in two.
- Use simple language. Don't use fancy language. Try to avoid jargon whereever possible.
- Know the hyphenation rules.
- Know the difference between that and which.
- Know the rules for articles.
- Know your audience. Know who you are writing for. What can they know when they read your thesis/paper?
- Put yourself into the place of your reader over and over again. Can you follow your own argumentation? Is it always clear what you mean?
- The introduction and conclusion should be useful to anyone with a bachelor's degree in the same science but not necessarily in your field. Outsiders have to be able to read it quickly and efficiently to get an idea of what this work is about and if it is worthwhile for them to continue reading.
- Writing is about communication. You are not writing for you but for others.
- Reading is also about efficiency. Stating facts is not enough. You have to lay out your thoughts in such a way that they are easy to follow.
- Consider that your reader has limited time and wants to extract the important information as quickly as possible. If he/she has the feeling that you are wasting his/her time, he/she will struggle hard to continue reading.
- Being clear is the top priority. Nobody will invest the energy to redo your work and rethink your thoughts just to figure out what you might have meant. Even if something looks apparent for you know (after having worked on your topic), lay out your thoughts clearly for the reader.
- Pay attention to proper visual appearance of your work. Your work speaks for you. If your are not diligent in crafting your document, how diligent were you doing your science? Don't confuse diligence with fanciness, though.
- Refrain from flowery, fancy language and jargon where ever possible. Make your language as simple as possible. Simplify your sentences. Over and over.
Here are lists of books and web material that I found helpful. If you're in a hurry, read watch Derek Dreyer's and Simon Peyton Jones' video.
- Justin Zobel. Writing for Computer Science.
- Strunk and White. The Elements of Style.
- Vernon Booth. Communicating in Science.
- Michael Alley. The Craft of Scientific Writing.
- Derek Dreyer. How to Write Papers so People Can Read Them.
- Simon Peyton Jones. How to write a great research paper.
- A series of videos by Matthias Dobbelstein on writing theses.
- Donald Knuth et al. Mathematical Writing.
- Philip Koopman. How to Write an Abstract.
- Duke University. Scientific Writing Course.