View
213
Download
1
Tags:
Embed Size (px)
Citation preview
Technical Writingfor Computer Science
Part 1: Content and Organization
Research Careers Lecture SeriesJuly 13, 2009
Michael J. Lewis, Director
Department of Computer Science
Binghamton University (SUNY)
NSF REU Technical Writing
CS Research Papers
Every paper is different, but most should be organized like this:• Abstract
• Introduction
• Related Work
• Design
• Implementation
• Performance
• Summary and Future Work
• References
NSF REU Technical Writing
CS Research Paper (cont.)
Abstract• 150 – 300 words
• Identify the problem
• Some background OK, but get to the point
• Identify the key contribution explicitly
• don’t let others decide
• Don’t keep secrets… report the main results
• Many more people will read your abstract than your paper…
NSF REU Technical Writing
Introduction
Do not start with a quote! Provide some background
• (1-2 paragraphs) Get to the point Identify the problem (yes, again) Identify your contribution (yes, again) Preview most important results (yes,
again)
NSF REU Technical Writing
Related Work
Report the background research• Categorize other papers
• Briefly summarize them (1-2 sentences each is often all you have room for)
• Draw the most important distinctions with your work
• About ½ to 1 page…
NSF REU Technical Writing
Related Work: How?
People (your advisor, graduate students, other professors, etc.)
Manuals, websites, specifications, etc.• If it’s not officially “published,” be careful
• Use Wikipedia for trivia about Saturday Night Fever
• Do not use Wikipedia for CS background research
Published research papers
NSF REU Technical Writing
Why?
Research must be new• Otherwise it’s a waste of time
• Especially important if it’s an “old problem”
Others have good ideas you can build on• Reading other work can spark ideas
• (it can also inject biases, be overwhelming, etc…. no magic answer to this problem…)
Others may identify problems for you• They may also show which problems are “too hard”
• E.g. NP-Complete problems need heuristics
NSF REU Technical Writing
CS Publications
(from the “Publishing Game” talk...) Publication Venues
• Journals
• Conferences
• Workshops
• Technical Reports
You have to find everything
NSF REU Technical Writing
How do you find “everything”
Build a list of venues that are likely to report research on this topic• Talk to your advisor and other group members
• Browse conference lists, look at "Calls for Papers“
• Browse by key words to find some recent papers
• Google, Google Scholar, INSPEC, ACM Digital Library, IEEE digital library
Check the last several years of proceedings in these venues • Online or printed copy in the library
NSF REU Technical Writing
Find some papers
Now get your hands on some papers• Read them -- are they relevant?
• If so, they’ve probably cited relevant work• Go find those papers, too
• Use the Related Work and Reference list of relevant papers, to find others• Use title, author, conference, etc.
NSF REU Technical Writing
Browse by Author or Group
Make sure you get the latest work from the group or author of relevant papers• Statements in a paper are only necessarily true at the
time it is published• “open problems” may be solved
• Performance numbers may be irrelevant
• “new” approaches may be old…
• Find the author or research group’s Web page• Don’t count on it being up to date!
• Browse databases/libraries by author
NSF REU Technical Writing
Shortcuts
You will not be able to read everything thoroughly• You don’t have to!
• (notice before I said you have to find everything)
• Read abstract, intro, related work, summary• Then decide whether to read the whole paper
Gold nuggets in your background research• “Taxonomies”, or “Surveys” (not always called that)
• E.g. ACM Computing Surveys
NSF REU Technical Writing
Use Citation Counts and Info
Some papers will pop up over and over• Make sure you read and cite these
• If only for practical reasons… for reviewers to see…
Google scholar and Citeseer• Reports citation counts
• Read and cite the heavily cited papers (see above)
• Allows you to browse by “Cited by…”• If others are citing the same work you are, they might be
working on similar problems
NSF REU Technical Writing
Writing a Related Work Section
Group and categorize other approaches Distinguish your work succinctly Be diplomatic and nice Start with the most “important” work If something is very closely related
• Describe it in more detail
• Be more specific about differences Make it clear why (you think) your paper is
novel
NSF REU Technical Writing
Brief aside…
Make it easy for others to find your work• Pick good titles for your papers
• Post your papers on a web page
• Post full citations on your page
• So others can simply cut and paste into their papers
It’s easier to stay “current” than to get current• Track top conferences, related groups, and authors
• Seek them out at conferences and talk to them
• Potential for collaboration
Staying current is like eating healthy and exercising…
NSF REU Technical Writing
Design and Implementation
Depend heavily on content of the paper
Best to separate Design from Implementation• But not always… and sometimes impossible
Not every implementation detail is important• Focus on those that are novel and important to the
contribution of the paper
NSF REU Technical Writing
Performance
Clearly describe your experimental setup• Ideally others should be able to reproduce your results
• Computer scientists seldom achieve this goal
Then describe your results• Capitalize “Figure 1” but not “this figure”
• ALL figures and tables should be called out in the text
• Interpret the results and “lesson” of every graph, figure, table, etc.• Don’t require the reader to do this for himself or herself…
NSF REU Technical Writing
Summary and Future Work
Say what you’re going to say (Intro) Say it (Body) Say what you said (Summary)
Summaries are not Conclusions
• Draw conclusions throughout the paper
Future Work
• Show that there’s more to do… don’t reveal too much
NSF REU Technical Writing
The Process
You do not need to set aside a whole day!• Write in small blocks of time
• Reread often, later, on paper…
Get a first draft done, somehow, fast• This is the “clay” to sculpt from
• But be willing to throw away most of it eventually
NSF REU Technical Writing
Miscellaneous ideas
Be clear… “Hold the reader’s hand”• Assume your reader is lazy
• Make it easy to find the information
Focus on contributions, not the journey Name new things…
• acronyms, capital letters, descriptive names, bold face or italics (the first time), etc.