550 likes | 683 Views
The Craft of Writing a Research Paper. Brian A. Malloy Computer Science Department Clemson University. What is it?. Craft Art Learned skill. Papers as patterns. Learn the pattern Stay within the pattern Stray outside the pattern: Prospectus Documentation
E N D
The Craft of Writing a Research Paper Brian A. Malloy Computer Science Department Clemson University
What is it? • Craft • Art • Learned skill
Papers as patterns • Learn the pattern • Stay within the pattern • Stray outside the pattern: • Prospectus • Documentation • In this talk, I describe a pattern for a research paper
Outline • What is research • Where to send • How to organize a paper • Sections of a paper • Figures & tables • Ingredients of powerful writing • Ingredients of lucid writing
Sources • Reviewers • Colleagues • “Bugs in Writing” by Lyn Dupre
What is research? • Identify a problem • Find out what others have done • Develop a solution • Show your solution: • Works • Better • Sound & complete
Suggested organization of a research paper • Intro/motivation • Background • Overview of my solution • My solution • Results • Related work • Concluding remarks
identify a problem find out what others have done develop a solution show your solution works/better/sound intro/motivation background overview of my solution my solution results related work concluding remarks Comparison ofwhat is research? & organization
Conference: Workshop Journal TR Where to send?
Conference: 3 kinds accept “everything?” IEEE (less than 50% accept rate) Less than 20% accept Quick Where to send?
Journal archival respectable experience magazine Where to send?
Workshop PASTE IWPC Where to send?
TR Not refereed Large as you like Where to send?
Conference: 3 kinds Accept “everything?” IEEE (accept less than 50%) Accept less than 20% Quick Workshop PASTE IWPC ICSE Workshops Journal Archival Respectable Experience Magazine TR Not refereed Large as you like Where to send?
Introduction: 4 parts • Set the scene & motivate • High level view of what others have done and why it’s inadequate • In this paper… • In the next section …
Background vs related work • Background is a review of information the reader will need to understand your paper • Related work is what other researchers have done
Overview of “my solution” • A high level view of the system – works best w/ a figure! • Show how the “bits & pieces” fit together • Can highlight the advantages of your approach
Describing my approach • Most important thing to remember: You know it, they don’t! • Write as if you’re writing to your grandmother! • Every new word s/b italicized and followed by a definition • Picture is worth 1000 words
Results • Experiment • Results • Case study
Results • Describe the platform, processor, OS, language, compiler, compiler optimizations • Describe the test suite, which s/b legit! You can’t just make up the test programs!! • Use tables: describe each row & column • Sometimes a graph is better than a table graphs are great!
Impact of Results • How many times did you perform each experiment? • Validity of results • Any weaknesses of the test suite • Anything “hokey” about the approach • Threats to generalize • Can you really generalize: why/why not • Is it automatable or automated?!
Most important! • Do not claim more than you did • Do not generalize from one study or result • Do not claim that because it worked well on a few test cases that it will work well on all test cases, all platforms and for all inputs!
Figures Figures are important! • Cannot simply “drop” them into paper (see Figure 3) • Writers are immersed in the subject -- readers are not!! • When referring to a specific Figure/Section/Table, use upper case, otherwise use lower case: • The overview in Figure 3 is better than the other figures. • Should describe each item in a figure: “The icon in the upper left corner of the figure represents…” • Should motivate the figure: “This figure provides an overview of our system, including input …”
Figures (cont) • If they contain code, number each line • Refer to specific lines, or sets of lines, in the text • s/b either pseudo-code, or language specific (tell them what the language is!) • All elements of figure/graph s/b marked (key or legend) • Each figure should have a tag and a caption
More powerful writing Use active voice & present tense!
You & your reader • Must remember that you’re familiar with the work & the reader is not! • Every term must be defined at its first use: highlight the definition with italics UGLY: The careful reader may consult the dragon book for an explanation of control flow graphs (see [1]). We use CFG’s to compute… GOOD: A control flow graph, CFG, is a graph whose nodes represent basic blocks and whose edges represent the flow of information into and out of the basic blocks.
Engage the reader • Writing has changed in the last 10 or 20 years: UGLY: The careful reader will learn the figure without any explanation on the part of this author! UGLY: The reader will observe a novel algorithm if she … GOOD: We suggest here a novel algorithm for computing data flow information on a control flow graph, CFG.
You & your reader (cont) • RULE: Speak directly to the reader • If single author: I or we • Coauthors: we • The reader: you
You & your reader (cont) UGLY: In this discussion, it is assumed that it is possible to get a closed form for at least one of the equations. GOOD: We assume that we can compute a closed form for at least one of the equations. structure vs meaning
Avoid passive voice! • Can only say that an event took place: without admitting who or what did it! UGLY: The data sets were lost. The data sets were lost by the first author. UGLY: The first algorithm fails to compute the result in a timely manner because a solution to the traveling salesman problem is required.
Use active voice • Take responsibility for your work! GOOD: We lost the data sets. GOOD: Our first algorithm is too slow because the computation requires a solution to the traveling salesman problem.
passive voice is vague BAD: By removing an item from the list during each iteration, it is guaranteed that the loop will terminate. The first part of the sentence suggests that you will reveal who or what is removing. To what does “it” refer? GOOD: We remove an item from the list during each iteration of the loop; thus, the loop is guaranteed to terminate. GOOD: In the algorithm of Figure 3, we remove …
Active voice is stronger & clearer UGLY: In a queue, insertions are performed at the rear and deletions are performed at the front; therefore a pointer to the front and the rear must be maintained. GOOD: We use a queue, a structure that permits insertions at the rear and deletions from the front. We maintain a pointer to the front and rear of the structure.
Use present tense • Present tense is stronger than future tense WEAK: In this paper, we will show… STRONG: In this paper, we show that …
Use present tense • Past tense degrades into “diary writing” BAD: In this work we wanted to … GOOD: The goals of our work are to …
Don’t change tense BAD: In this chapter, we have described what happens when we do the wrong thing. We examined the behavior and determine that they are correct. BAD: The analysis reported in the preceding section will show that Nick can differentiate shod from shoddy.
More lucid writing Consistency, Symmetry & Correctness!
You MUST read each of your sentences for: • Content/meaning • Structure • Style
Be consistent: call a spade a spade! • Can’t change terminology, even for a good reason, w/out explanation remote proxy vs proxy data structure vs structure
Use symmetry when structuring sentences, paragraphs & sections We describe both a stack and a queue: a queue is a FIFO structure and a stack is a LIFO structure. In this section, we review background information about program representations and computation of data flow information using the program representations. To compute data flow information … "overview" is a noun!
Which vs that • that identifies the object about which you are speaking • which provides further info about the object GOOD: The car that is speeding down the road is about to crash into a pole. GOOD: The car, which is speeding down the road, is about to crash into a pole.
Avoid fuzzy words • very, easily, actually, truly, in fact, some, thing • etc. BAD: In comparing our algorithm with the algorithm described in reference 17, we see that ours is very fast. BAD: In this section, we define the terms node, tree, graph, etc. cop out!