Cal Poly CSC Dept. FJK Home Courses Exchange Programs
Franz J. Kurfess

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.
Google Scholar http://scholar.google.com.
CiteSeer http://citeseer.nj.nec.com.
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.
IEEE Digital Library http://ieeexplore.ieee.org/DynWel.jsp.
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.
ACM Digital Library://www.acm.org/dl/>http://www.acm.org/dl/.
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.
Google http://google.com.
Sometimes brings up a lot of irrelevant things, but quite often it also identifies interesting material.
A collection of links at Carnegie Mellon University.
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:

Intelligent Formatting

As professionals in the field of computing, I expect you to produce documents that are of professional quality. The specific formatting requirements for a Master's thesis are described by the The Office of Research and Graduate Programs in the document http://www.calpoly.edu/~rgp/thesis.html; a similar document for Senior Projects is on the Cal Poly Library Web site at http://www.lib.calpoly.edu/srproj/guidelines/spformat.html.

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.

Cal Poly CSC Dept. FJK Home Courses Exchange Programs
Project-Writing-Hints.shtml
last modified:
Saturday, October, 29, 2011, 18:34:46 PDT
© 2000-2024
Franz Kurfess