Writing Hints for Master's Theses and Senior Projects
This document contains a collection of practical hints that hopefully
will make the writing process for Master's Theses and
Senior Projects easier. It is intended to be used in combination
with the document that outlines my requirements for
Master's Theses
and Senior Projects.
That document also contains pointers to general requirements
for Master's Theses and Senior Projects at Cal Poly.
Conducting Research
In most cases, a thesis or project will discuss related work
performed by others. Sometimes, this could be previous projects
done at Cal Poly, work published in books, journals, conferences,
and technical reports, or commercial systems.
Finding Relevant Material
Here are some sources that I use on a regular basis when I try
to find material for my research work:
Cal Poly Library
In addition to the books and journals in paper form,
our library provides access to various on-line catalogs
and repositories. You can also contact Wayne Montgomery,
the Computer Science specialist there, if you need help.
The NEC Research Institute has a great bibliographic tool
with a good collection of publications in the field of computer science.
It lets you search by keywords, provides the usual bibliographic
information about the publications, and often has links to the full text.
In addition, it analyzes various aspects of the content, such as similarities
to other documents and the use of citations.
Cal Poly has a subscription with access to the abstracts and full texts
of IEEE jorunals, transactions, and magazines published since 1998.
The IEEE Intelligent Systems magazine frequently has articles
that I find interesting.
You need to access it from a computer with a Cal Poly domain address.
The Association of Computing Machinery also has a digital library
with access to their collection of journals, magazines, transactions
and conference proceedings. You may need a subscription for some material.
Please let me know if you regularly use a source that might be useful for others as well,
and I'll add it here.
Collecting Material
It's easy to get carried away when you're plowing through all that interesting stuff you find.
Make sure that you keep track of the material that is of interest for your project;
right now, you probably remember which piece of information came from which source,
but when you write your report in a few weeks (or months), you may have to re-do a lot
of your search since you don't remember what came from where, and I keep on bugging you
about adding references for material that is based on other people's work.
I suggest to use a bibliography tool like Endnote http://www.endnote.com,
which helps you collect, organize, use, and insert bibliographic references in your document.
Cal Poly has a key server version of Endnote available;
check http://keyserver.calpoly.edu.
Preparing Your Documentation
Write It Down
No matter what phase of your project you're currently in, you should
document what you're doing. Again, it's much easier to write about
something when you're in the middle of doing it, rather than postponing
all the writing activities to the very end. Here are some reasons for this:
You'll remember all the details, because it's fresh in your mind.
You can show it to me, and get early feedback. If you wait until the end,
and give me your whole volume during finals week,
I won't have much time to go through it.
And you won't have much time to make improvements, either ;-)
Formulating your thoughts in writing usually results in
a better analysis of the material.
In addition to following the requirements, you should use
the capabilities of modern word processing tools such as templates,
styles, hyperlinks for crossreferences, or the automatic generation of
listings for the table of contents and figures.
Since many of you are using MS Word, it would be great to have a template
that adheres to the respective requirements for Cal Poly, but to my knowledge,
such a template is not available (if you know about one, I'd be happy
to put a pointer to it here). Nevertheless, you should plan the use of
styles and other features as early as possible.
This way, even if your formatting isn't quite right, you can change the
definition for a particular style once, and it is applied to all instances,
rather than having to explicitly change it for every single instance.
As alternatives to MS Word, you can use systems like LaTeX or
DocBook, which have a much cleaner separation of content and style.
I've used LaTeX for the formatting of my PhD thesis, which was
published as a book in a revised version, and I'm working on
a book on Knowledge Management for which I'm using the DocBook system
http://www.docbook.org.
It is based on XML, and is used by publishers like O'Reilly,
and for the documentation of many open source projects.
Work in Progress
This document is a work in progress, and I'll update it whenever
something (or someone) bugs me enough to write it down ;-)
It is intended to help you with the writing of your documentation,
and to make my life easier when I review what you wrote.