Recommended outline for M.S. theses
Prof. Neil Rowe, Version of April 2017
Abstract: a summary of the main points of the thesis. You should try to have at least one sentence corresponding to ach chapter of the thesis except the first and last. Mention your most important accomplishments, and minimize background information.
Chapter 1: Introduction (2 to 6 pages)
Chapter 2: Previous attempts to solve this problem, and other problems like it, with computer programs or methodologies (4 to 12 pages)
Chapter 3: Description of the problem you are trying to solve (2 to 10 pages)
Chapter 4: Description of your program or methodology (8 pages minimum)
Chapter 5: Discussion of results (2 to 8 pages, not counting tables and figures)
Chapter 6: Conclusion (1 to 8 pages)
Appendix A: Test runs if interesting to the reader (if there are several, make this several different appendices)
Appendix B: Text of programs if interesting to the reader (should not exceed 50 pages)
Some general guidelines for thesis writing
Thesis writing is a form of technical writing. Technical writing tries to convey difficult concepts and so it needs to be especially clear compared to other kinds of writing. That means sentences should be kept short and should use the minimum number possible of specialized words.
1. Always use the same term for the same thing; don't try to be poetic. You want to make things easy as possible for your readers.
2. Use your own words to describe things; use quotations from other people sparingly. If you do use quotations, enclose them in quotations marks and give a formal citation immediately afterwards. This is important because universities treat plagiarism very seriously.
3. The purpose of a thesis is to describe interesting things you did. So don't spend a lot of space on other peoples' work unless it's unique or you need it to make a point about it. So don't describe a well-known algorithm in detail just because you use it in your program.
4. Use past tense to describe what you did. Use "we", "us", "our", and "ours" where you can. And use active voice for verbs, not passive. Some examples:
Be aware that some conferences and journals disagree with this guideline and want you to use third person to sound more scientific. But in a thesis it is more important to distinguish what you did from what someone else did.
5. Be careful to use hyphens properly to group multiple modifiers of the same noun. This is particularly important when you use words as modifiers that are normally used as nouns. For instance, in "large artificial-intelligence program" you should hyphenate the two middle words since "intelligence" is a noun and the reader who is not familiar with your topic might think there is something called an "intelligence program" of which there are particular subtypes that are "large" and "artificial". Some more examples of correct hyphenation:
Notice you shouldn't hyphenate an expression unless the whole cluster of words functions as an adjective; for instance, you should write "I work on applied artificial intelligence" but also "I work on applied artificial-intelligence programs".
6. Avoid one-sentence paragraphs except for numbered items of a list.
7. Minimize mention of names of specific files or exact names of procedures. These things are usually too hard for the reader to remember.
8. Avoid acronyms as much as possible, e.g. write "NPS" as "Naval Postgraduate School" or by its principal noun as "School". Acronyms are used by bureaucracies to make it harder for readers outside a small group to understand what is described, but your goal in a thesis is to communicate. If you must use one, write out its words in parentheses the first time you use the acronym.
9. "Internet" and "Web" (when referring to the World Wide Web) should be capitalized since they are "proper nouns", nouns referring to only one thing in the world. On the other hand, "intrusion-detection system" should not be capitalized since it refers to many things in the world, despite frequently being seen as a capitalized acronym "IDS" (which is another reason to avoid acronyms).
10. Standard citation formats in computer science are either in the form of parenthesized author-year pairs (e.g. "(Rowe, 2008)") or numbers in brackets (e.g. "") where the number is that of an item in your reference list. Given a choice, you should prefer the first form because it is clearer. Do not use footnotes for references. Also, try to avoid citing the same reference more than once unless the previous citation was on a different page. You should have a reference list at the back with references in alphabetical order of the first author's last name. The citation should go at the end of the first sentence referring to the ideas contained in the reference.
11. Do not repeat something you said earlier unless you have something new to say; cross-reference instead. Technical papers are not usually read in order.
12. In your reference list, conference papers are more desirable than Web pages. Journal papers, book chapters, and books (if not too general) are more desirable than conference papers. But usually you need to include a few conference papers to cover recent work on your topic.
13. Some common phrases to avoid: "utilize" (use "use" instead), "in order to", (use "to" instead), "one of the" (use "one" instead), "some of the" (use "some" instead), "in fact" (delete), "actually" (delete), "a kind of" (use "a" instead), "a type of" (use "a" instead). Avoid emotional language because you should try to be objective about your subject.