Guide for Writing Plan B Essay or Plan C Thesis

Greetings! If you have made it to this page, you are currently considering writing an essay or thesis with me as part of your graduate studies. The intent of this document is to facilitate this process for you. A disclaimer is in order: the proceeding represents my own guidelines for students working with me, and in no way represents any official requirements put forth by the Department of Computer Science.

This document is a work in process. I will be adding other ideas and suggestions over time. In addition, I will post abstracts from my students as they become available.

The following is a framework for all written work that I would like my students to follow. Each section of your written work should answer specific questions.

1) Abstract

    - What is the problem ?
    - Why is it important ?
    - How do you propose to address the problem ?

The abstract is the first thing you write, and in practice should be completed in the semester prior to when you plan to undertake your research. The abstract should be approximately one half page long (or about 2 or 3 long paragraphs). The abstract should be written in a "high level language" , that is, the writer may assume that the reader is well versed in the technicalities of the research. For example, an abstract dealing with databases should not explain what third normal form is, nor should an abstract on design patterns in object oriented languages define polymorphism. In preparing your abstract, ask yourself if you have addressed the preceeding  questions. If the answer is no, then you may not have defined your work adequately to proceed.

2) Introduction

    -What is the problem ?
    -Why is it important ?

Informally, the introduction is where you get to say what you wanted to in the abstract, but didn't have enough room. The level of discourse should be "medium level"; that is, you should assume your audience is a little less familar with the technicalities than the reader of your abstract. It is (vitally) important that you revisit the first two questions (the third question will be addressed later). After reading the Introduction, there should be no question in the readers mind about what the problem is and why it is important.

3) Literature Survey (or History)

    -What have others done related to this problem ?

So your problem is important ? Prove it. What have others done in this area ? What problems did they encounter ? You say no one else has addressed this problem? That certainly is a possibility and would relieve you from writing this section of your paper, but I have yet to encounter such an original idea. The literature survey should present the history of the problem (and related problems) as well as the sequence of results from others. At the same time you write the literature survey, you are, of course, also writing the bibliography.

4) Your Work!!

    - What are you going to do ?
    - How are you going to do it ?

The time has finally arrived. You get to present your ideas. How are you addressing the problem? Have you developed a new algorithm, theorem or idea to address it? When introducing a new idea (like an algorithm), make sure to provide an actual example of the idea at work.

5) Results

    -What did you do ?

Provide discussion and data supporting whether you have successfully answered the problem you set out to solve. It should be noted that failure to solve a problem is a successful result; namely that you have shown that a particular method is not suitable to solve this problem!

6) Conclusion and Future Work

    - Did you accomplish what you set out to do ?
    - What more would you do if you had more time ?

Did you succeed ? Where should this research go from here ? If you had unlimited time, what would you do next ? Can you provide ideas for others to try ?

7) Bibliography
Citation of all work referenced in your paper. A plan B research paper should have minimally 10 references (probably much more), a plan C many,many more.

Some other notes:

- Program listings and documentation should be provided in an appendix. The corpus of your text should not contain extensive code listings, I would recommend pseudo-code.
- Has your text been through a spell-checker ? Is the grammar somewhere on target ?
- Are you keeping other members of your committee up to date on your progress ?