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
?