+ All Categories
Home > Documents > How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer...

How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer...

Date post: 04-Jan-2016
Category:
Upload: thomasina-higgins
View: 213 times
Download: 0 times
Share this document with a friend
27
How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale
Transcript
Page 1: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

How to Write Technical PapersEssential Skill for Computer Science Students

Dr. Mengxia Zhu Computer Science DepartmentSouthern Illinois University Carbondale

Page 2: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

what is the “elevator pitch” of your story?

1: Every paper tells a story

the story is not what you did, but rather what you show, new ideas, new insights why interesting, important?

why is the story of interest to others? universal truths, hot topic, surprises or unexpected

results?

know your story!

elevator pitch = summary that is short enough to give during an elevator ride

Page 3: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

2. Write top down

computer scientists (and most human beings) think this way!

state broad themes/ideas first, then go into detail context, context, context

even when going into detail … write top down!

Page 4: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

3 Introduction: crucial, formulaic

if reader not excited by intro, paper is lost

recipe: para. 1: motivation: broadly, what is problem area, why

important? para. 2: narrow down: what is problem you specifically

consider para. 3: “In the paper, we ….”: most crucial paragraph, tell

your elevator pitch para. 4: how different/better/relates to other work para. 5: “The remainder of this paper is structured as

follows”

Page 5: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

4. Master the basics of organized writing

paragraph = ordered set of topically-related sentences

lead sentence sets context for paragraph might tie to previous paragraph

sentences in paragraph should have logical narrative flow, relating to theme/topic

don’t mix tenses in descriptive text

one sentence paragraph: warning!

Page 6: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

5. Put yourself in place of the reader

less is more: “I would have sent you less if I had had time” take the time to write less

readers shouldn’t have to work won’t “dig” to get story, understand context, results need textual signposts to know where ‘story” is going, context to

know where they are good: “e.g., Having seen that … let us next develop a model for ….

Let Z be ….” bad: “Let Z be”

what does reader know/not know, want/not want? write for reader, not for yourself

Page 7: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

6. Put yourself in place of the reader

page upon page of dense text is no fun to read avoid cramped feeling of tiny fonts, small margins create openness with white space: figures, lists

enough context/information for reader to understand what you write? no one has as much background/content as you no one can read your mind all terms/notation defined?

Page 8: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

7. No one (not even your mother) is as interested in this topic as you

so you had better be (or appear) interested

tell readers why they should be interested in your “story”

don’t overload reader with 40 graphs: think about main points you want to convey with graphs can’t explore entire parameter space

don’t overload reader with pages of equations put long derivations/proofs in appendix, provide sketch in

body of paper

Page 9: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

8. State the results carefully

clearly state assumptions (see overstate/understate your results)

experiment/simulation description: enough info to nearly recreate experiment/description

simulation/measurements: statistical properties of your results (e.g., confidence intervals)

are results presented representative? or just a corner case that makes the point you want to make

Page 10: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

9. Don’t overstate/understate your results

overstatement mistake: “We show that X is prevalent in the Internet” “We show that X is better than Y”

when only actually shown for one/small/limited cases

understatement mistake: fail to consider broader implications of your work if your result is small, interest will be small “rock the world”

Page 11: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

10. Study the art of writing

writing well gives you an “unfair advantage”

writing well matters in getting your work published in top venues

highly recommended: The Elements of Style, W. Strunk, E.B. White, Macmillan

Publishing, 1979 Writing for Computer Science: The Art of Effective Communication,

Justin Sobel, Springer 1997.

who do you think are the best writers in your area: study their style

Page 12: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

11. Good writing takes times

give yourself time to reflect, write, review, refine

give others a chance to read/review and provide feedback get a reader’s point of view find a good writer/editor to critique your writing

starting a paper three days before the deadline, while results are still being generated, is a non-starter

Page 13: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Paper Types

The goal of a paper is to describe novel technical results. There are four types of technical results:

An algorithm;

A system construct: such as hardware design, software system, protocol, etc.; One goal of the paper is to ensure that the next person who designs a system like yours doesn't make the same mistakes and takes advantage of some of your best solutions.

A performance evaluation: obtained through analyses, simulation or measurements;

A theory: consisting of a collection of theorems.

Page 14: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Important Points

A paper should focus on describing the results in sufficient details to establish their validity;

identifying the novel aspects of the results, i.e., what new knowledge is reported and what makes it non-obvious;

identifying the significance of the results: what improvements and impact do they suggest.

Page 15: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Typical Outline

Abstract: typically not more than 100-150 words;

Introduction: Introduce problem, outline solution; the statement of the problem should include a clear statement why the problem is important (or interesting).

Related Work (or before summary).

Outline of the rest of the paper: "The remainder of the paper is organized as follows. In Section 2, we introduce ..Section 3 describes ... Finally, we describe future work in Section 5." [Note that Section is capitalized. Also, vary your expression between "section" being the subject of the sentence, as in "Section 2 discusses ..." and "In Section, we discuss ...".]

Page 16: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Outline

Body of paper: problem approach, architecture, implementation and results Approach: the mathematical model, algorithm design,

complexity analysis etc Implementation: contains actual implementation details when

implementing architecture isn't totally straightforward. Mention briefly implementation language, platform, location, dependencies on other packages and minimum resource usage if pertinent.

Evaluation results: How does it really work in practice? Provide real or simulated performance metrics, end-user studies, mention external technology adoptors, if any, etc.

Page 17: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Outline

Summary and Future Work: often repeats the main result

Acknowledgements

Bibliography

Appendix: detailed protocol descriptions proofs with more than two lines other low-level but important details

Page 18: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Abstract

The abstract must not contain references, as it may be used without the main article. It is acceptable, although not common, to identify work by author, abbreviation or RFC number. (For example, "Our algorithm is based upon the work by Smith and Wesson.") Avoid use of "in this paper" in the abstract. What other paper would you be talking about here?

Avoid general motivation in the abstract. You do not have to justify the importance of the Internet or explain what QoS is. Highlight not just the problem, but also the principal results. Many people read abstracts and then decide whether to bother with the rest of the paper. Since the abstract will be used by search engines, be sure that terms that identify your work are found there. In particular, the name of any protocol or system developed and the general area ("quality of service", "protocol verification", "service creation environment") should be contained in the abstract.

Avoid equations and math. Exceptions: Your paper proposes E = m c 2.

Page 19: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Introduction

Avoid stock and cliche phrases such as "recent advances in XYZ" or anything alluding to the growth of the Internet.

Be sure that the introduction lets the reader know what this paper is about, not just how important your general area of research is. Readers won't stick with you for three pages to find out what you are talking about.

The introduction must motivate your work by pinpointing the problem you are addressing and then give an overview of your approach and/or contributions (and perhaps even a general description of your results). In this way, the intro sets up my expectations for the rest of your paper -- it provides the context, and a preview.

Page 20: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Bad Introduction Example

Example bad introduction: Here at the institute for computer research, me and my colleagues have created the SUPERGP system and have applied it to several toy problems. We had previously fumbled with earlier versions of SUPERGPSYSTEM for a while. This system allows the programmer to easily try lots of parameters, and problems, but incorporates a special constraint system for parameter settings and LISP S-expression parenthesis counting. The search space of GP is large and many things we are thinking about putting into the supergpsystem will make this space much more colorful.

Page 21: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Good Introduction Example

A pretty good introduction, drawn from Eric Siegel's class: Many new domains for genetic programming require evolved programs to be executed for longer amounts of time. For example, it is beneficial to give evolved programs direct access to low-level data arrays, as in some approaches to signal processing \cite{teller5}, and protein segment classification \cite{handley,koza6}. This type of system automatically performs more problem-specific engineering than a system that accesses highly preprocessed data. However, evolved programs may require more time to execute, since they are solving a harder task.

Page 22: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Introduction: Previous or obvious approach

Previous or obvious approach:

(Note that you can also have a related work section that gives more details about previous work.)) One way to control the execution time of evolved programs is to impose an absolute time limit. However, this is too constraining if some test cases require more processing time than others. To use computation time efficiently, evolved programs must take extra time when it is necessary to perform well, but also spend less time whenever possible.

Page 23: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Introduction: Approach/solution/contribution

The first sentence of a paragraph like this should say what the contribution is. Also gloss the results.

In this chapter, we introduce a method that gives evolved programs the incentive to strategically allocate computation time among fitness cases. Specifically, with an aggregate computation time ceiling imposed over a series of fitness cases, evolved programs dynamically choose when to stop processing each fitness case. We present experiments that show that programs evolved using this form of fitness take less time per test case on average, with minimal damage to domain performance. We also discuss the implications of such a time constraint, as well as its differences from other approaches to {\it multiobjective problems}. The dynamic use of resources other than computation time, e.g., memory or fuel, may also result from placing an aggregate limit over a series of fitness cases.

Page 24: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Introduction: Overview

The following section surveys related work in both optimizing the execution time of evolved programs and evolution over Turing-complete representations. Next we introduce the game Tetris as a test problem. This is followed by a description of the aggregate computation time ceiling, and its application to Tetris in particular. We then present experimental results, discuss other current efforts with Tetris, and end with conclusions and future work.

Page 25: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Paper Body: Common Bugs

http://www.cs.columbia.edu/~hgs/etc/writing-bugs.html

Page 26: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

Acknowledgements

Acknowledge your funding sources. Some sources have specific wording requirements and may prefer that the grant number is listed. The NSF requires text like "This work was supported by the National Science Foundation under grant EIA NN-NNNNN.”

Generally, anonymous reviewers don't get acknowledged, unless they really provided an exceptional level of feedback or insight. Rather than "We thank X for helping us with Y", you might vary this as "X helped with Y.".

Page 27: How to Write Technical Papers Essential Skill for Computer Science Students Dr. Mengxia Zhu Computer Science Department Southern Illinois University.

References

Top-10 tips for writing a paper Jim Kurose Department of Computer Science University of Massachusetts 2006 CoNEXT student workshop panel

http://www.cs.columbia.edu/~hgs/etc/writing-style.html


Recommended