Introduction

Prof. Xiaokui recommended us a great speech about how to give a great research talk by Simon Peyton Jones from Microsoft weeks ago. I didn’t find it until clearing my E-mail box yesterday. Recursively speaking, this speech itself is a great talk with lots of practical suggestions as well. Thanks for your sharing, Prof. Simon and Prof. Xiaokui.

By exploring on the web page of this speech, I find that it comes from the Microsoft Research Cambridge Lab PhD Summer School in 2016 and 2017, and there are many other valuable courses, including one course on how to write a great research paper.

This post is to note down suggestions and good practices for a great research paper. A former post focuses on the one for giving a great research talk.

Here are related resources for your convenience:

Name Video Slides Paper
How to Give a Great Research Talk YouTube PDF PDF
How to Write a Great Research Paper YouTube PDF -

In this course, Simon shared seven simple and actionable suggestions that will make papers better. They are:

  1. Don’t wait: write.
  2. Identify your key idea.
  3. Tell a story.
  4. Nail your contributions to the mast.
  5. Related work: later.
  6. Put your readers first.
  7. Listen to your readers.

1. Don’t wait: write

There are two common writing models:

  1. Get your idea, do the research and write paper.
  2. Get your idea, write paper and do the research.

Simon suggest that the second model is better, because it:

  1. Forces us to be clear, focused.
  2. Crystallises what we don’t understand.
  3. Opens the way to dialogue with others: reality check, critique and collaboration.

As he says, writing papers is a primary mechanism for doing research, not just for reporting it.

2. Identify your key idea

When writing a paper, our goal is to convey a useful and re-usable idea:

  1. You want to infect the mind of your reader with your idea, like a virus.
  2. Papers are far more durable than programs.

Remember that the greatest ideas are (literally) worthless if you keep them to yourself.

Don’t be intimidated. We don’t need to have a fantastic idea before being able to write a paper.

Write a paper and give a talk about any idea, no matter how weedy and insignificant it may seem to you:

  1. Writing the paper is how you develop the idea in the first place.
  2. It usually turns out to be more interesting and challenging than it seemed at first.

For the idea you want to present, remember:

  1. Your paper should have just one “ping”: one clear and sharp idea.
  2. You may not know exactly what the ping is when you start writing; but you must know when you finish.
  3. If you have lots of ideas, write lots of papers.

Many papers contain good ideas, but don’t distil what they are. So please make certain that the reader is in no doubt what the idea is. Be 100% explicit, for example:

  1. “The main idea of this paper is …”
  2. “In this section we present the main contributions of the paper.”

3. Tell a story

Imagine you are explaining at a whiteboard to your friend:

  • Here is a problem.
  • It’s an interesting problem.
  • It’s an unsolved problem.
  • Here is my idea.
  • My idea works (details, data).
  • Here’s how my idea compares to other people’s approaches.

We can translate the logic above to the structure of a conference paper:

  • Title (1000 readers)
  • Abstract (4 sentences, 100 readers)
  • Introduction (1 page, 100 readers)
  • The problem (1 page, 10 readers)
  • My idea (2 pages, 10 readers)
  • The details (5 pages, 3 readers)
  • Related work (1~2 pages, 10 readers)
  • Conclusions and further work (0.5 pages)

4. Nail your contributions to the mast

One page for the introduction is enough:

  1. Describe the problem.
  2. State your contributions.

Describe the problem

Use an example to introduce the problem. For example:

describe-problem-example.jpg

Bad Example:

Computer programs often have bugs. It is very important to eliminate these bugs [1,2]. Many researchers have tried [3,4,5,6]. It really is very important.

Good Example:

Consider this program, which has an interesting bug. <brief description>. We will show an automatic technique for identifying and removing such bugs.

State your contributions

  • Write the list of contributions first.
  • The list of contributions drives the entire paper: the paper substantiates the claims you have made.
  • Reader thinks “gosh, if they can really deliver this, that’s be exacting; I’d better read on.”

Very important! Don’t leave the reader to guess what your contributions are! Just make bulleted list of contributions:

bulleted-list-contributions.jpg

Your contributions should be refutable.

Bad example:

  • We describe the WizWoz system. It is really cool.
  • We study its properties.
  • We have used WizWoz in practice.

Good example:

  • We give the syntax and semantics of a language that supports concurrent processes (Section 3). Its innovative features are…
  • We prove that the type system is sound, and that type checking is decidable (Section 4)
  • We have built a GUI toolkit in WizWoz, and used it to implement a text editor (Section 5). The result is half the length of the Java version.

Remember that your introduction makes claims; the body of the paper provides evidence to support each claim.

One important thing is to check each claim in the introduction, identify the evidence, and forward-reference it from the claim. Your evidence can be analysis, comparison, theorems, measurements and case studies.

Hence, don’t write “The rest of this paper is structured as follows. Section 2 introduces the problem. Section 3 …Finally, Section 8 concludes.”

Instead, use forward references from the narrative in the introduction. The introduction (including the contributions) should survey the whole paper, and therefore forward reference every important part.

DO NOT put the related work between the introduction and the problem! DO NOT put it before your idea. Instead, put it after the details and before the conclusions.

If you put it too early, there are two problems:

  1. The reader knows nothing about the problem yet; so your (highly compressed) description of various technical tradeoffs is absolutely incomprehensible.
  2. Describing alternative approaches gets between the reader and your idea.

In addition, write credit, sincerely:

  • Warmly acknowledge people who have helped you.
  • Be generous to the competition.
  • Acknowledge weaknesses in your approach.

Giving credit to others does not diminish the credit you get from your paper.

6. Put your readers first

When you are presenting your idea:

  • Explain it as if you were speaking to someone using a whiteboard.
  • Conveying the intuition is primary, not secondary.
  • Once your reader has the intuition, she can follow the details (but not vice versa).
  • Even if she skips the details, she still takes away something valuable.

To convey the intuition, introduce the problem, and your idea, using EXAMPLES and only then present the general case. Remember to explain it as if you were speaking to someone using a whiteboard. Good example:

background-example.png

DO NOT recapitulate your personal journey of discovery. This route may be soaked with your blood, but that is not interesting to the reader. Instead, choose the most direct route to the idea.

7. Listen to your readers

Get your paper read by as many friendly guinea pigs as possible:

  • Experts are good.
  • Non-experts are also very good.
  • Each reader can only read your paper for the first time once! So use them carefully.
  • Explain carefully what you want. (“I got lost here” is much more important than “Jarva is mis-spelt”.)

You can even send you draft to the competition:

  • A good plan: when you think you are done, send the draft to the competition saying “could you help me ensure that I describe your work fairly?”.
  • Often they will respond with helpful critique (they are interested in the area).
  • They are likely to be your referees anyway, so getting their comments or criticism up front is Jolly Good.

You should treat every review like gold dust. Be (truly) grateful for criticism as well as praise.

Appendix: Language and Style

Basic stuff:

  • Submit by the deadline.
  • Keep to the length restrictions.
  • Always use a spell checker.

Visual structure:

  • Give strong visual structure to your paper using:
    • sections and sub-sections,
    • bullets,
    • italics.
    • and laid-out code.
  • Find out how to draw pictures, and use them.

Use the active voice; don’t use the passive voice!

Use simple and direct language!