- Do not use the first person singular pronoun "I"
even if a paper was written by a single author.
Similarly, don't use "my" and use "our" instead.
It is also very unusual to use
the second person singular/plural pronoun "you"
in a technical article.
Bad: I present the time complexity of an algorithm in this paper.
OK: We present the time complexity of an algorithm in this paper.
Better: The time complexity of an algorithm is presented in this paper. [traditional style: passive voice]
This paper presents the time complexity of an algorithm. [modern style: active voice]
If the subject of a sentence is truly an author or authors,
the first person plural pronoun "we" is OK.
Otherwise, it is recommended to write the subject explicitly
and avoid a pronoun unless what the pronoun refers to is
definitely obvious to the readers, where the subject is an agent
of the action (i.e., verb) mentioned in a sentence.
Bad: We first sort points in the nondecreasing order of their x-coordinate values.
Then, we find a closest pair of points.
Good: An algorithm first sorts points in the nondecreasing order of their x-coordinate values.
Then, the algorithm finds a closest pair of points.
- Write sentences in the simple present tense
unless another tense is definitely needed
(e.g., in the last section "Conclusions",
sentences summarizing a paper are written in the past tense).
Examples:
"This paper models a problem of finding
shortest paths from a single source to
all other vertices in a digraph."
"This paper presents an algorithm for
determining whether a given positive integer
is prime."
Examples of Exceptions:
"In 1883, the puzzle called the Towers of Hanoi was invented
by the French mathematician Édouard Lucas."
"E. W. Dijkstra proposed a greedy algorithm
for finding single-source shortest paths in
1959."
"Although we have presented an O(n log n)
algorithm for MPT, it remains unknown whether
the algorithm has an optimum time complexity.
That will be one of our future research topics."
- Keep sentences simple and short.
Avoid to write a lengthy sentence that connects clauses one after another.
- Do not use contractions of two words
such as "isn't", "can't", "we've", and "haven't".
- Organize a paper hierarchically with
sections that may be decomposed into subsections
which are further broken down to paragraphs.
To begin writing a paper, design "Table of Contents"
first as an outline of the paper.
Then, for each section or subsection, try to list important
phrases or sentences that will turn into paragraphs
by elaborating them.
→ Step-wise Refinement in Top-Down Design
One Paragraph ←→ One Issue (Modularity)
- "Abstract" summarizes a paper, typically within
100 ~ 200 words.
An abstract of a paper should be written
in order to attract potential readers to its main content.
It is often used to advertise the paper in research indexes
and databases for article search.
"Keywords and Phrases" are sometimes given
next to the abstract.
- The first section (typically entitled "Introduction")
commonly describes some of the following (but not
limited to):
- Overall picture (background) of the topic addressed in the paper
- Related work with a survey about relevant fields
- Major achievement / contribution to the relevant fields
- Organization of the paper at the end of the first section
Example:
This paper is organized as follows. Section 2
presents necessary definitions and notations on
transactions in a distributed database system.
Section 3 discusses properties of a transaction
that are required for fault tolerance. Based on
the properties, Section 4 presents a distributed
algorithm for recovery from failures of
transactions in a distributed database system.
Then, Section 5 analyzes the communication
complexity of the algorithm and compares it with
those of the previously proposed algorithms.
Finally, Section 6 summaries our results and
discusses future directions of our research.
- Sections are serially numbered
(The first section is "Introduction" and the last section is "Conclusion").
"Acknowledgments" and "References" following the last section
are not regarded as sections and hence their headings are not numbered.
- Make a paper "self-contained" as much as possible
in the sense that everything is written in the paper
and the paper can be understood by reading it.
Only exceptions are the knowledge expected to readers
(such as knowledge covered in discrete math textbooks) and
citations from references listed at the end of the paper.
- The template of a technical report that I've posted is just an example.
No need to stick to a section heading in the template.
Customize the template for what you intend to write.
Organize your paper by yourself.
- List references in the IEEE Style:
Refer to pp.5-13 of
IEEE Editorial Style Manual
Each reference should be referred to in the main text
at least once by using its label (usually, a
serial number).
Example:
"It is widely known that NP-complete problems
are difficult to solve [2,5].
.
.
.
References
[1] E. W. Dijkstra, "A note on two problems
in connexion with graphs," Numerische
Mathematik, vol. 1, pp.269-271, 1959.
[2] M. R. Garey and D. S. Johnson, Computers
and Intractability: A Guide to the Theory
of NP-Completeness, W. H. Freeman and Co.,
1979.
.
.
.
The IEEE Style requires to list references
in the order of occurrences of their citations in the main text,
although it is also common to list references in the alphabetical order of
last names of their first authors
with tiebreaking by the chronological order of their publication dates.
- Be careful to use online documents as references.
They are not always reliable source of information.
Double check authoritative source of information such as
books and journals specialized to the relevant topic.
- Fully justify text to the both sides.
- Do not use the notations of the textbook that I told you are unsual.
- Although the textbook uses V[G] and E[G] for a graph,
these sets should be denoted by simply V and E, respectively,
assuming that a graph is defined as G=(V,E) in advance.
- A set should be written in the set-builder form { x | p(x) }
while the textbook uses another notation { x : p(x) }.
A colon is not the common notation in computer science,
although it may sometimes be used in Mathematics.
- A "technical article" unlikely has a table of contents
(probably because it's not lengthy)
unless it is a thesis or dissertation.
In contrast, a book usually has a table of contents.
- A page number starts from the first page of the first section
(or chapter in case of a book).
A page number is an arabic number and printed typically
in the center of the bottom margin,
although the IEEE class and style file IEEEtran.cls layouts
a page number at the upper right or upper left in the top margin
for an odd or even page number, respectively.
If a paper has a cover page, no page number is given to the cover page.
If there are pages between the cover page and the first page of p.1,
you can put a "roman number" as a page number.
- "p." stands for a page number and "pp." stands for page-to-page.
- Place a symbol just next to the word defining the
semantics of the symbol, e.g.,
A nonempty set F of n factories fi (1 ≤ i ≤ n)
where F denotes a set and fi denotes a factory.
- Pay attention to capitalization of words.
Examples:
- Chapter, Section, Subsection
- All reserved words denoting control flow are in lower case.
if ... then ... else ...
for
while
- The data type boolean is commonly in lower case while the technical term
"Boolean" should be capitalized in text.
- Revise a paper several times.
Do proofreading.
- Macro-level revision: Better organization of the paper
- Micro-level revision: Clearer, simpler sentences/phrases/definitions/notations/etc.
It's common for a designer to find a flaw in an algorithm while trying to verify it.
The designer learns how to avoid design flaws through such mistakes.
Thus, verification is very helpful to design a correct algorithm.