Template for a Term Paper Chip Klostermeyer CIS Department University of North Florida klostermeyer@hotmail.com Abstract 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. 1. 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: (1) journals are archived, meaning they are kept in permanent collections in libraries (web sites are an example of sources that are likely not permanent); (2) 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 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. 2. 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 give. 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,” “Information Processing Letters,” 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 “SIAM Journal on Computing” and “Journal of Computer and System Sciences.” 3. Results The meat of a paper is contained 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. 4. Format Proper grammar is essential. Proper style is also essential: informal style, casual style, 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 written in Word. 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 is the best choice. LaTex is available for free on the internet. 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. See the CIS Department web site for format guidelines for a thesis, as prepared by Dr. Winton. 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. Sample size must be indicated. 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. Algorithms must be presented is a clear, readable format with lots of comments. If possible, use a typewriterstyle font (the “tt” font in LaTex, for example). An example follows, Addition Algorithm Input: Output: Method: integer n integer m, where m = n + n 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 has the value n */ for i=1 to n m = m+1; end; /* indent to make code readable */ /* 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 5. 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. 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. I can also provide a LaTex template for a paper. See my web site for an example of a term paper and the LaTex file for that paper. References 1. M. Garey and D. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman, San Francisco, 1979 2. L. Lamport, LaTex 2e: A Document Preparation System, Addison-Wesley, Reading, Mass., 1994 3. K. Appel and W. Haken, “Every Planar Map is 4-colorable,” Bull. Amer. Math. Soc., vol. 82 (1976), pp. 711-712 4. D. Knuth, Mathematical Writing, Mathematical Association of America, 1989 5. 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.