Question? Leave a message!




How to Write a Research Paper in Computer Science

How to Write a Research Paper in Computer Science 28
How to Write a Research Paper in Computer Science Compiled by Christoph Wernhard International Center for Computational Logic Technische Universitat ¨ Dresden Germany Version: 6 October 2014 16:00 I Sources, Literature and Links I Preliminary Note: The Idea of Formalized Scientific Knowledge I I: The Structure of a Research Paper I II: Miscellanous Important Points I III: Important Points in Mathematical Writing I IV: Citations and Bibliography I V: Criteria for Assessing the Quality of the Presentation I Summary Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 1Sources, Literature and Links I Alan Bundy: How to Write an Informatics Paper http://homepages.inf.ed.ac.uk/bundy/howtos/writingGuide.html I Donald E. Knuth, Tracy Larrabee, and Paul M. Roberts: Mathematical Writing Research Report, Stanford University http://wwwcsfaculty.stanford.edu/ knuth/papers/cs1193.pdf Video tapes: http://scpd.stanford.edu/knuth/index.jsp A I Instructions for Authors, LT X 2 class for Lecture Notes in Computer Science " E http://www.springer.com/lncs I Alan Bundy: Notes to CADE12 Referees (1997) http://homepages.inf.ed.ac.uk/bundy/howtos/refereenotes.pdf Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 2Preliminary Note: The Idea of Formalized Scientific Knowledge Definition 1 8x8y subset(x;y) 8z z2 x z2 y. def Definition 2 8x8y8z x2 union(y;z) x2 yx2 z. def Theorem 1 8x8y subset(x; union(x;y)). Proof 1. 8x8y subset(x; union(x;y)) theorem statement 2. iff 8z z2 x z2 union(x;y) expanding Def. 1 3. iff 8z z2 x z2 xz2 y expanding Def. 2 4. iff true. logical equivalence Theorem 2 8x subset(x; union(x;x)). Proof Follows immediately from Theorem 1. Theoretical Research Practical Research I Definitions introduce concepts I Techniques or systems are defined I Theorems make claims about concepts I Hypotheses make claims I Proofs verify theorems I Empirical evaluation A network emerges, created by many people over a long period of time Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 3Part I: The Structure of a Research Paper I The Importance of Hypotheses I Default Structure of an Experimental Research Paper . Title and Abstract . Introduction . Optional Introductory Sections . Optional Sections of the Main Part . Theorem Terminology . The Evaluation . Optional Sections of the Concluding Part . Conclusion . Appendices I Excercise Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 4The Importance of Hypotheses I It is not enough to describe some new technique or system, some claim about it must be stated and evaluated I In experimental research, hypotheses typically take one of these two forms: . Technique/system X automates task Y for the first time . Technique/system X automates task Y better, along some dimension, than each of its rivals, where the dimensions are typically: II Behavior: X has a higher success rate or produces better quality outputs than Y II Coverage: X is applicable to a wider range of examples then Y II Efficiency: X is faster or uses less space then Y II Dependability: X is more reliable, safe or secure than its rivals II Maintainability: X is easier to adapt and extend than its rivals II Usability: Users find X easier to use than its rivals I In theoretical papers, the hypotheses are the statements of theorems and the supporting evidence is their proofs Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 5Default Structure of an Experimental Research Paper I Title I Abstract I Introduction I Literature Survey I Background I Notation and Preliminaries I Theory I Specification I Implementation I Evaluation I Related Work I Further Work I Conclusion I Appendices Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 6Title and Abstract I Title . summarizes the hypothesis of the paper The reader should be able to work out what the paper is about from the title I Abstract . states the hypothesis . summarises the evidence that supports or refute it . mentions the key contributions of the paper Most readers will not read beyond the abstract Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 7Introduction I Motivates the contribution of the paper I Places it in context I Questions to be addressed in a succinct and informal manner: . What is the problem . Why is the problem important . What has so far been done on the problem . What is the contribution of the paper on the problem . Is the contribution original Explain why . Is the contribution nontrivial Explain why I Ends with a short summary of the rest of the paper The rest of the paper is structured as follows: In Section 2 we ... Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 8Optional Introductory Sections I Literature Survey . is a broad and shallow account of the field, which helps to place the contribution of the paper in context II What are the rival approaches II What are the drawbacks of each II How has the battle between different approaches progressed II What are the major outstanding problems (This is where you come in) I Background . describes previous work in more technical detail . as far as needed for a proper understanding of the contribution of the paper I Notation and Preliminaries Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 9Optional Sections of the Main Part I Theory . describes the underlying theory of techniques or system . where appropriate, uses a mathematical style of definitions, lemmas, propositions, theorems, corollaries, remarks . illustrates the main definitions and theorems with simple but meaningful examples I Specification . formally specifies techniques that underlie the implementation . states the requirements of the implementation I Implementation . describes only the final state of the implementation . identifies the major design decisions and gives their reasons . describes the overall structure of the system and key algorithms in abstract form . illustrates the main algorithms with simple but meaningful examples Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 10Theorem Terminology I Definition A statement (definiens) that specifies the meaning of a term (definiendum) I Theorem A statement that follows from definitions and other theorems . Comes in different kinds, distinguished by role; Distinction is often blurred II Theorem (in the narrow sense) Important theorem, a result of the paper II Lemma Important stepping stone used to prove important theorems II Proposition Theorem of no particular importance (e.g., stating a property of a concept) II Corrollary Theorem that follows with little of no proof from a definition or theorem I Proof I Remark Can be used to introduce implicit preconditions, introduce ways of speaking, clarify properties I Example Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 11The Evaluation I Gathers evidence to support or refute the hypothesis . Technique/system X automates task Y for the first time . Technique/system X automates task Y better, along some dimension, than each of its rivals, where the dimensions are typically: II Behavior: X has a higher success rate or produces better quality outputs than Y II Coverage: X is applicable to a wider range of examples then Y II Efficiency: X is faster or uses less space then Y II Dependability: X is more reliable, safe or secure than its rivals II Maintainability: X is easier to adapt and extend than its rivals II Usability: Users find X easier to use than its rivals I Experimental results are often best presented graphically Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 12Optional Sections of the Concluding Part I Related Work . compares narrow but deeply between system X and its main rivals at their critical points of difference . belongs “logically” to the evaluation since it establishes the originality of the contribution . is different in purpose, position, breadth and depth from the literature survey I Further Work . describes future research and new directions suggested by the contribution . in particular, research that would improve the evidence for/against the hypothesis Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 13Conclusion I Summarizes the research and discusses its significance . The hypothesis and the evidence for and against it are briefly restated . The original motivation is recapitulated . The state of the field in the light of this new contribution is reassessed Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 14Appendices I Provide information whose inclusion could assist the reader in understanding or assessing the research, but . would detract from the flow of the main body of the paper . does not fit into a prescribed page number I Contain for example . a glossary of technical terms . technical background that only some readers may require . examples of program code . a trace of the program on one or more examples . more details of the examples evaluated and the experimental results . the full versions of proofs . an index Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 15Conclusion: Default Structure of an Experimental Research Paper I Title I Abstract I Introduction I Literature Survey I Background I Notation and Preliminaries I Theory I Specification I Implementation I Evaluation I Related Work I Further Work I Conclusion I Appendices Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 16Exercise I Inspect some papers from your field with respect to the presented issues: . What is the hypothesis II How is it expressed . What are the key contributions of the paper II How and where are they expressed II Do they seem original and nontrivial . What is the context of the paper II How is the paper placed into it . How are the claims made in the paper evaluated Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 17Part II: Miscellaneous Important Points I Capitalization and NonCapitalization I Abbreviations, References to Numbered Items I Your Assertions must be True and Verifiable I General Hints Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 18Capitalization and NonCapitalization I Depends on the style, here we consider LNCS I The following should always be capitalized: . All words in headings except, unless at the beginning: II conjunctions, prepositions on, of, by, and, or, but, from, with, without, under, ... II definite and indefinite articles the, a, an . Expressions with numbers such as Table 5, Sect. 2, Theorem 2 I The following should not be capitalized: . The words figure(s), table(s), equation(s), theorem(s) in the text without accompanying number . Figure legends and table captions except for names and abbreviations Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 19Abbreviations, References to Numbered Items I If abbreviations of names or concepts are used throughout the text, they should be defined at first occurrence The DavisPutnamLogemanLoveland Procedure (DPLL) is a ... I Chap(s)., Sect(s)., Fig(s). should always be abbreviated unless at beginning of sentence (in LNCS style) I Ensure that expressions like “formulaF” or “Sect. 1” are not disrupted by a line break: “formula˜ F”, “Sect.˜nreffsecintroductiong”. Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 20Your Assertions must be True and Verifiable I Only make assertions that are true and can be verified Bad: This has never been considered before. Good: The authors are not aware of any other work where this has been considered. Bad: All other works apply the slow method. Good: In 2,4,8 the slow method is applied. Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 21General Hints I Before you give a draft to your colleagues for proof reading: . Remove typos and incoherent notation because these distract the reader’s attention . Read it by yourself Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 22Part III: Important Points in Mathematical Writing Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 23Some Important Points in Mathematical Writing (1) 1. Symbols in different formulas must be separated by words. Bad: ConsiderS ,q p. q Good: ConsiderS , whereq p. q 2. Don’t start a sentence with a symbol. n Bad: x a has n distinct zeroes. n Good: The polynomialx a hasn distinct zeroes. 3. Don’t use the symbols);8;9;; replace them by the corresponding words (except in logic formulas, of course). Possible exceptions: Symbols( and) for “Lefttoright” and “Righttoleft” in bullet position to indicate subproofs. Symbols8;9; if consistently and unambiguously used, e.g., in tabular proof presentations. 4. The statement of a theorem should usually be selfcontained, not depending on the assumptions in the preceding text. 5. The word “we” is often useful to avoid passive voice. It should be used in contexts where it means “you and me together”. “I” should be avoided, unless the author’s persona is relevant. Even in that case “the author” or “the first author” might be better. Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 24Some Important Points in Mathematical Writing (2) 6. Read what you have written, and change the wording if it does not flow smoothly. 7. Don’t omit “that” when it helps the reader to parse the sentence. Bad: AssumeA is a group. Good: Assume thatA is a group. 8. Sentences should be readable from left to right without ambiguity. Bad examples: “Smith remarked in a paper about the scarcity of data.” “In the theory of rings, groups and other algebraic structures are treated.” 9. Vary the sentence structure and the choice of words, to avoid monotony. But use parallelism when parallel concepts are being discussed. Bad: Formerly, science was taught by the textbook method, while now the laboratory method is employed. Good: Formerly, science was taught by the textbook method, now it is taught by the laboratory method. 10. Don’t use the style of homework papers, in which a sequence of formulas is merely listed. Tie the concepts together with a running commentary. Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 25Some Important Points in Mathematical Writing (3) 11. Motivate the reader for what follows. 12. Keep the reader in mind: . What does the reader know so far . What does the reader expect next and why . How could the reader misunderstand me here 13. Try to state things twice, in complementary ways, especially when giving a definition. This reinforces the reader’s understanding. 14. All variables must be defined, at least informally, when they are first introduced. 15. Many readers will skim over formulas on their first reading of your exposition. Therefore, your sentences should flow smoothly when all but the simplest formulas are replaced by “blah” or some other grunting noise. 16. Display important formulas on a line by themselves. If you need to refer to some of these formulas from remote parts of the text, give reference numbers to all of the most important ones, even if they aren’t referenced. n n nbeginfequationg nendfequationg Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 26Some Important Points in Mathematical Writing (4) 17. Don’t use the same notation for two different things. Use consistent notation for the same thing when it appears in several places. Don’t say “A for 1 j n” in one place and “A for 1 k n” in another j k place. Typographic conventions (like lowercase letters for elements of sets and uppercase for sets) are also useful. 18. Set element notation can be used to avoid subscripted subscripts. It is often troublesome to start out with a definition like “LetX =fx ;:::;xg” if you’re 1 n going to need subsets ofX, since the subset will have to defined as fx ;:::;x g, say. Also you’ll need to be speaking of elementsx andx all the i i i j m 1 time. Don’t name the elements ofX unless necessary. Then you can refer to elementsx andy ofX in your subsequent discussion, without needing subscripts; or you can refer tox andx as specified elements ofX. 1 2 19. Resist the temptation to use long strings of nouns as adjectives: consider the packet switched data communication network protocol problem. In general, don’t use jargon unnecessarily. Even specialists in a field get more pleasure from papers that use a nonspecialist’s vocabulary. Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 27Some Important Points in Mathematical Writing (5) 20. Small numbers should be spelled out when used as adjectives, but not when used as names. Bad: The method requires 2 passes. Good: Method 2 is illustrated in Fig. 1; it requires 17 passes. The count was increased by 2. The leftmost 2 in the sequence was changed to a l. 21. The opening paragraph should be your best paragraph and its first sentence should be your best sentence. If the beginning flows smoothly, the reader will be hooked and won’t notice occasional lapses in the later parts. Probably the worst way to start is with a sentence of the form “An x is y.” For example, Bad: An important method for internal sorting is quicksort. Good: Quicksort is an important method for internal sorting, because Bad: A commonly used data structure is the priority queue. Good: Priority queues are significant components of the data structures needed for many different applications. Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 28Part IV: Citations and Bibliography I Purposes of a Citation I A Citation Gives Credit I Some Ways to Embed Citations in the Text I The Components of BibTeX I Some Important LaTeX Bibliography Styles I Verbosity vs. Brevity I About Some Types of References Supported by BibTeX I Referencing Online Resources I Possible Conventions I Hints Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 29Purposes of a Citation I Giving Credit . Upholding intellectual honesty . Attributing prior or unoriginal work and ideas to the correct sources . Acknowledging the relevance of the works of others to the topic at the spot where the citation appears I Helping the reader to identify and relocate the source work . Allowing the reader to determine independently whether the referenced material supports your argument in the claimed way I Providing evidence that your position is wellresearched . Helping the reader to gauge the strength and validity of the material you have used Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 30A Citation Gives Credit I Proper citations should be given for all material that is not by yourself, except common knowledge as can be found in standard textbooks I Cite the original publication about the referenced work Do not cite where you have first read about it (e.g., Wikipedia, a textbook) Citing a work does not imply that you have actually read it I Sometimes there are different versions of a work. The “most valuable” version is typically the main reference to be cited: journal article conference proceedings workshop proceedings technical report It can be useful for historic accuracy to cite also earlier versions I Citation indexes are used as a measure for scientific excellence, e.g.: http://academic.research.microsoft.com/Author/1085332/franzbaader Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 31Some Ways to Embed Citations in the Text I So far, improvements have been considered, such as symmetry breaking 2,6, and... I As described in 2, ... I However, the approach of 2 is superior in the case where... I As Drescher et al. 2 describe,... Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 32The Components of BibTeX I A database (BibTeX file) with entries for publications I The ncite command to make citations I The nbibliographystyle command to specify how references and the bibliography should be rendered I The nbibliography command: it is automatically replaced by the bibliography, which contains just the cited items in nicely rendered and properly sorted form Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 33Some Important LaTeX Bibliography Styles I In the mentioned styles, the bibliography is sorted according to author name, year, title I plain: References like 1, 2, 3 I abbrv: Similar to plain, but all first names of authors are abbreviated + I alpha: References like Dre11, DE11, DEF 11b Helps the reader to get an idea about authors and date of the referenced works I For examples of these and further styles see: http: //amath.colorado.edu/documentation/LaTeX/reference/faq/bibstyles.pdf Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 34Verbosity vs. Brevity I Depends on where it is published I Consistency among your references is important I Found BibTeX entries (e.g., DBLP, CiteSeer) often have to be adapted I Verbose version + DEF 11f Christian Drescher, Thomas Eiter, Michael Fink, Thomas Krenn wallner, and Toby Walsh. Symmetry breaking for distributed multi contextsystems. InJamesP.DelgrandeandWolfgangFaber, editors, Logic Programming and Nonmonotonic Reasoning 11th Interna tional Conference (LPNMR 2011), volume 6645 of Lecture Notes in Computer Science, pages 2639. Springer, 2011. I First names abbreviated; Editors of proceedings volume omitted + DEF 11a C.Drescher, T.Eiter, M.Fink, T.Krennwallner, andT.Walsh. Sym metry breaking for distributed multicontext systems. In Logic Pro gramming and Nonmonotonic Reasoning 11th International Con ference (LPNMR 2011), volume 6645 of Lecture Notes in Computer Science, pages 2639. Springer, 2011. Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 35Verbosity vs. Brevity (2) I Common terms abbreviated: Acronyms of well known series Abbreviated journal names (lists of abbreviations can be found in the Web) + DEF 11b C.Drescher, T.Eiter, M.Fink, T.Krennwallner, andT.Walsh. Sym metry breaking for distributed multicontext systems. In Logic Pro gramming and Nonmonotonic Reasoning 11th Int. Conf. (LPNMR 2011), volume 6645 of LNCS, pages 2639. Springer, 2011. I Short name of the conference + DEF 11b C. Drescher, T. Eiter, M. Fink, T. Krennwallner, and T. Walsh. Symmetry breaking for distributed multicontext systems. In Logic Programming and Nonmonotonic Reasoning (LPNMR 2011), volume 6645 of LNCS, pages 2639. Springer, 2011. I Only the acronym of the conference; Series and publisher omitted + DEF 11d C.Drescher, T.Eiter, M.Fink, T.Krennwallner, andT.Walsh. Sym metry breaking for distributed multicontext systems. In LPNMR 2011, pages 2639, 2011. Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 36About Some Types of References Supported by BibTeX I book author, title, edition (if not the first), volume, address (i.e. place of publication), publisher, year I article – Article in a journal author, title, journal, volume, number, year, month, pages I inproceedings – Article in conference proceedings author, title, year, booktitle (i.e. title of the proceedings volume), pages, address, publisher, series, (possibly also volume editors) I techreport – Technical report author, title, institution, year, series, number, url I mastersthesis, phdthesis author, title, school, address, year I Unpublished work given to you by others: Cite with misc aspersonalcommunication author, year I Unpublished papers by yourself: Add note likesubmitted orpresentedat... Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 37Referencing Online Resources I Adding a URL BibTeX field url is supported by some styles (see DOI below) Another possibility is note = ”Available nurlfhttp://...g” This requires the package hyperref I Adding a DOI (Digital Object Identifier) http://dx.doi.org/10.1017/S1471068410000220 BibTeX field doi is supported by some styles, e.g., alphaurl http://www.tex.ac. uk/texarchive/bibliography/bibtex/contrib/urlbst/alphaurl.bst and also the natbib package I Citing a Web Resource . author (if known) . title . note = Internet: URL,DATEUPDATED, accessedDATEACCESSED (DATEUPDATED only if known) Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 38Hints I Bibliography entries that are not referenced can be produced with nnocite I The proper dash for number ranges is “” pages = f323345g I Protect proper names etc. in titles of articles against downcasing by BibTeX: fSATg, fBgoolean But do not protect the whole title against downcasing I Prevent wrong hyphenation of words in other languages Technninsche I Prevent pagebreaks in acronyms SAT14, nmboxfSAT 14g I Bibtool is useful to merge and maintain BibTeX databases http://www.ctan.org/texarchive/biblio/bibtex/utils/bibtool/ I Check the warnings issued by BibTeX I Use uniform conventions for all entries in your bibliography I Proofread also the bibliography Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 39Possible Conventions I Usually you have to specify some conventions that are consistently obeyed in your or your group’s bibliography I Examples of possible such conventions that apply independently of space restrictions: 1. No address for publishers wellknown in computer science such as Springer, Elsevier, Morgan Kaufmann 2. Acronyms for wellknown series such as LNCS 3. Subseries LNAI is written LNCS (LNAI) in accord with Springer’s practice 4. First names should always be supplied – BibTeX generates abbreviations, depending on the style I Examples of conventions that apply under moderate space restrictions: 5. No editor for conference and workshop proceedings (but of course for other types of collections of papers) 6. Names of conferences (booktitle of inproceedings) written as BooktitleoftheProceedingsVolume(ACRONYM) Logic Programming and Nonmonotonic Reasoning (LPNMR 2011) Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 40Possible Conventions II I Debatable examples of possible conventions under moderate space restrictions: 7. Common abbreviations such as Proc., Int., Conf. 8. Established “long” abbreviations for journal names J. Autom. Reasoning, Artif. Intell., Theor. Comput. Sci., J. ACM in contrast to JAR, AI, TCS, JACM PRO: DBLP uses such “long” abbreviations, there are also lists of them, they are understood also by people outside of the core community 9. Dropping phrases like Proc. of the 11th Int. Conf. on CON: Titles of books should be respected I It may be useful to use BibTeX macros stringfAI=”Artificial Intelligence”g journal = AI CON: Entries are not selfcontained (e.g., on the homepage) Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 41Part V: Criteria for Assessing the Quality of the Presentation I Organization I Readability I English Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 42Assessing the Organization of the Presentation I Is all the material present I Is any material unnecessary I Is the material in the right order I Is the paper selfcontained I Are the title, abstract and conclusion an accurate precis of the work done I Is terminology defined before it is used I Is there an adequate use of diagrams, examples and formalism I Is related work discussed I Is the bibliography adequate Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 43Assessing the Readability of the Presentation I Is the meaning always clear I Are the arguments crisp or woolly I Are there any cryptic or obtuse sentences I Does the paper ramble I Did the paper hold your attention Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 44Assessing the English of the Presentation I Are there any spelling errors I Are there any typographical errors I Are there any grammatical errors Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 45Summary I The importance of the hypothesis I Default structure: Title / Abstract / Introduction / Literature Survey / Background / Notation and Preliminaries / Theory / Specification / Implementation / Evaluation / Related Work / Further Work / Conclusion / Appendices I Important details: Capitalization / Abbreviations / Mathematical Writing I Citations and bibliography: Purposes: giving credit, allowing to relocate, show that work is wellresearched / Types of references and their support by BibTeX / Need for conventions I Quality criteria of a written presentation: Organization / Readability / English Compiled by Christoph Wernhard How to Write a Research Paper in Computer Science 46