A template is provided for writing paper reviews or term papers. Terminology relevant to writing a paper is also
defined. For example, an abstract is a fifty to two hundred word summary of
your paper that appears at the beginning of the paper.
- Introduction
The introduction should define the problem you are studying, discuss the history of the problem and state
its importance in the field. Applications of the problem can be discussed and basic examples should be given
to illustrate the concepts, using figures if possible. Basic terminology should be defined and explained.
In the introduction, and throughout your paper, it is most important to cite the sources of your information.
Sources may include textbooks, magazine or newspaper articles, web sites, and journal articles.
Most journal articles will follow a format similar to that espoused in this template, including the manner
in which sources are cited and referenced. Journals are the best source of information for two main reasons:
- journals are archived, meaning they are kept in permanent collections in libraries (web sites are an
example of sources that are likely not permanent);
- journal articles are refereed, meaning the information they contain has been read and approved by independent reviewers.
To cite a source, you typically use "[ ]" notation. For example, one of the most cited sources in the field of
computer science is the text by Garey and Johnson [1]. In this case, Garey and Johnson are the authors.
Sometimes, we will omit the authors' names and just give the citation. For example, a great deal of
information on NP-completeness can be found in [1]. It is important that you give up-to-date references where
possible. That is, if you are writing a paper on the history of the integrated circuit and your most recent
reference is 1965, it is likely that you have not done a thorough job of researching your topic.
- Background
In some cases, you may need to divide the introductory material in your paper into two sections. Oftentimes,
a second section called the "Background" section is used. In the Background section, additional terms are
defined and more historical information, such as previous results and a review of related papers, is given.
It is in the Introduction and Background sections that you must ensure that your reader understands the problem
and the terminology as well as show the reader that you have done your homework, in terms of your library work.
Note that, today, much of your "library work" can be done on the internet. The UNF library has electronic
access to many journals (such as the Journal of the ACM, Discrete Mathematics,
Theoretical Computer Science, and many more) and to indexes such as MathSciNet that index and review
thousands of papers. Some journals, such as ACM Computing Surveys contain survey articles on various topics
in computing (a survey article summarizes the important literature on a topic). In fact, most any article in
ACM Computing Surveys is likely a good template for a term paper. Other on-line search engines
are available for perusing the literature, most notably The Collection of Computer Science Bibliographies.
The UNF library also has paper subscriptions to important journals such as the SIAM Journal on Computing
and the Journal of Computer and System Sciences.
- Results
The meat of a paper is contained in the next section(s), where the results are stated and explained.
More than one section may be used in order to break the paper into logical, readable modules.
In a survey paper or term paper, you will summarize, organize, and synthesize the results from the papers
you read in the Results section(s). In general, in a term paper or survey paper, you must discuss most
of the important ideas on a particular topic, which means that several papers will likely need to be used
as sources of information. This implies you need to choose a topic that is narrow enough to cover
thoroughly in a short paper. For example, the topic of "algorithms" is certainly too broad to be surveyed
in a single paper (unless you are writing what I would call an "overview" paper, aimed at the lay person).
Even the topic of "scheduling algorithms" might be too broad, as there are many types of scheduling algorithms,
such as disk scheduling, on-line scheduling, and so on.
Note that a "review" paper is a smaller version of a term paper in which just a single paper is discussed
and summarized.
- Format
Proper grammar is essential. Proper style is also essential: informal style, casual style, and personal style are
all inappropriate for a professional paper. Read papers to get a sense of the proper style and tone to use.
Note the use of subsections in this section.
4.1 Choice of Word Processor
This template was originally written in Word and transferred to HTML. This choice was made so that the document
could be easily accessed via the internet. However, Word may not be a good choice for writing serious papers,
such as theses or papers containing a lot of mathematics, cross-references, or figures. In this case, LaTex may
prove to be the best choice. LaTex is available for free on the internet
(see
http://www.latex-project.org/ and
http://miktex.org/).
A great introduction to LaTex can be found in [2].
4.2 Layout
I prefer papers that are single or 1.5 spaced, using 11 or 12 point font. Margins should be one inch on each side.
Italics are commonly used when a new term is introduced. For example, a snark is a very special kind of graph
whose properties I shall not enumerate at this time. Figures, tables, diagrams, theorems, and the like should
be captioned and numbered in a logical fashion. For example,
Theorem 1. Any planar graph can be colored using at most four colors [3].
In Theorem 1, I provided a citation, as the theorem was proved by Appel and Haken, and not by me.
Other instructors or organizations may have their own preferences. For example, see the School of Computing web site for
format guidelines for a thesis
(
http://www.unf.edu/cse/cis/SoCpdf/SoCThesisGlines.pdf).
4.3 Data Presentation
Whenever experimental data is presented in a paper, it must be presented in an unbiased fashion and in a readable
format. Tables and charts are useful to aid the reader. The data must be labeled with its units and care must
be paid to the number of significant figures presented. If you use averages of some values, state this clearly
and provide the sample size, i.e., the number items averaged. If you make a conclusion about two or more
quantities of data, such as "apples are heavier than oranges," you need to support this conclusion with a
statistical test. Otherwise, you must say something to the effect of:
"Based on our limited observations of fruit grown in Antarctica, it appears that apples are heavier,
on average, than oranges. Further study is needed to support this observation."
If you did experiments in which random numbers were generated, indicate which random number generator was used,
as each has its own characteristics.
4.4 Algorithms
Algorithms or pseudo-code are often presented in papers. Unless your subject matter deals explicitly with a
particular language, pseudo-code is advised. If possible, use a fixed width, typewriter-style font
(the "tt" font in LaTex, for example, or "Courier" in Word). Algorithms must be presented in a clear,
readable format with lots of comments. An example follows,
Addition Algorithm
| Input: |
integer n |
| Output: |
integer m, where m = n + n |
| Method: |
n + n is computed by doing a lot of convoluted steps in order to show
how an algorithm can be presented. |
input(n);
m = 0; /* m is an integer */
/* After the following "for" loop, m will have the value n */
for i=1 to n
m = m+1; /* indent in a way to make code readable */
end;
/* Try to avoid page breaks in an algorithm ... */
/* If you cannot avoid, break at a logical point */
m = add(m, n);
/* At this point, m = n + n */
print(m);
end;
function add(integer x, integer y) return integer
return(x + y);
end add;
|
Algorithm 1. Computes n + n
- Conclusions
It is common to include a Conclusions section to summarize the content of your paper, discuss future directions,
and state any open problems or conjectures.
A conjecture is something the authors believe to be true, but cannot prove.
For example, one of the most famous, and most difficult, problems in graph theory is the following.
Conjecture 1. (Total Coloring Conjecture) The edges and vertices of a graph can be colored with at
most Ð+2 colors, where Ð is the maximum degree of any vertex in the graph
Valuable additional information on technical writing for computer scientists can be found in [3, 4].
Zobel's book contains information on format, style, grammar, punctuation, and other material of a fundamental
nature, while Knuth's book is aimed at the person aiming to write serious mathematics or computer science papers.
- References
- M. Garey and D. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness,
W.H. Freeman, San Francisco, 1979
- L. Lamport, LaTex 2e, Addison-Wesley, 1999
- K. Appel and W. Haken, "Every Planar Map is 4-colorable," Bull. Amer. Math. Soc.,
vol. 82 (1976), pp. 711-712
- D. Knuth, Mathematical Writing, Mathematical Association of America, 1989
- J. Zobel, Writing for Computer Science, Springer-Verlag, New York, 1997
- Appendix
Sometimes you may require one or more appendices, where data, information, or details can be
collected that would otherwise make the body of the paper hard to read. "Raw data" from experiments,
source code, and so on may be placed in an appendix.
- Examples
Besides the sources mentioned above, I am happy to provide you with papers to read that may prove
useful in aiding your understanding of what a paper should look like.
If you want to use LaTex to format your paper, a LaTex template
(download example) is normally used for producing the LaTex
script that describes your document's formatting. A LaTex compiler is then used to convert your script into
a "dvi" file to be printed or displayed (by a suitable driver). For
the unique environment of web display the dvi file is usually converted to
"pdf" (portable document format).
The template example actually includes a complete term paper. It can be compiled (in our case
by the
MiKTeX
version of LaTex to produce the "dvi" file) and then converted to
pdf (in our case using the "dvipdfm" facility included with MiKTeX).
Click here to see the result (requires the freeware
Adobe Acrobat Reader, which is probably
already installed with your web browser). This example illustrates the basic style and structure for the
typical computing sciences term paper.