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

Master's Theses and Senior Projects

This document describes the requirements for Master's Theses and Senior Projects done under my guidance. Please note that there are additional requirements by the department and Cal Poly that you may need to satisfy (see below). Some of this material is based on similar documents by Prof. Stearns, Prof. Buckalew, and Prof. Hitchner.

Choosing a Topic

I'm keeping a collection of Web snippets that might be relevant for senior projects and Master's theses in a Google notebook. This list is not exclusive, and not always completely up to date; if you have your own ideas, I'm certainly willing to consider them.


Plan on spending an entire academic year on your project or thesis. Very few people complete their thesis work in two quarters; it is feasible for senior projects, but especially if you're not sure about your topic, starting earlier is much better. You can earn credit for the additional quarter(s) by taking CSC400/500; alternatively, you can enroll multiple times for the project or thesis. In any case, you should always be enrolled in some course if you are working on your project with me as your advisor.

Schedule and Progress Reports

I expect you to prepare a general schedule for your overall project and a more specific one for each quarter (possibly including the summer). Then you need to update me on a regular basis about the progress you've made. This can be done in weekly meetings, or through electronic means (e.g. email or Blackboard). However, it is your responsibility to provide me with these updates; I will not chase after you, or push you to adhere to deadlines. I do this on purpose because I believe it is important for you to set your own schedule, and follow through with it. If you expect to have difficulties with this, I recommend to set up weekly meetings with me.

Software Development Process

You should use a formal development process for your project. This can be a process you've used in a Software Engineering class, or some other method. A good reference for a professional software process is Humphrey, Watts' A Discipline for Software Engineering, Addison-Wesley, 1995.

Typically, the project will involve the following phases:

For most of these phases, the delivery of the respective documentation is an appropriate milestone that should appear in your schedule. You can find suggestions for the form of the documentation, especially the final report, on Prof. Stearns' and Prof. Hitchner's Web pages.

Deliverables and Deadlines

The schedule you turn in when you start your project and at the beginning of each quarter must list the deliverables and deadlines for the respective quarter. Again, it is up to you to determine the deadlines, but you need to take into consideration that I need a reasonable amount of time to read your material. In general, I need at least a draft version of that work by the end of the eighth week.


I use the following guidelines for grading:

General Senior Project Requirements

The CSC Dept. has a printed form, "Senior Project Checklist" that describes these requirements. Computer Science Department guidelines for Senior Projects are also available outside the CSC office (14-254). See also the CSC Department Web site for

Links to project ideas, guidelines, and forms.

A description of the requirements for submitting a senior project report to the library can be found on the Cal Poly Library Web site at

General Master's Thesis Requirements

The Office of Research and Graduate Programs has guidelines for completing graduate theses and reports on their Web site at They are also available from the Graduate Office (38-154).

The Computer Science department maintains a Web page for the graduate program at, with a thesis completion check list at

There is also a Wiki resource with material related to Master's theses, Cal Poly CSC Master's thesis wiki. In particular, it contains a LaTeX template for the Cal Poly thesis format. Alex Scherling produced an updated version of this template. Especially if your thesis is going to be relatively long and you use a large collection of bibliographic references, it might be worth while to use LaTeX instead of a Word processor. I'm not aware of the existence of a similar template for MS Word or OpenOffice.

For your thesis, you also need to have the forms below completed. (I'm trying to keep this up to datek, but please check the Graduate Office Web page to make sure that you're following their procedures, and you have the most recent versions of the forms).

The first two will be part of your thesis, and should be printed on high-quality ("Bond") paper. It is a good idea to have these forms ready to be signed by the committee member at the time of your defense. This can also be done later, but then you may have to chase after the committee members individually.

The Thesis Defense

The completion of a Master's in CSC requires an oral presentation to be given on the topic of the thesis; this is referred to as the thesis defense. In the following, I'll describe the typical structure of such a thesis defense. There may be some variations, and I'm not aware of any specific thesis defense requirements here at Cal Poly (if there are any, let me know).


About two weeks before the presentation, the candidate should make a draft or final version of the thesis available to the committee members in order to give them time to read it before the defense. Around the same time, contact the CSC department office (Diane Nott) for room arrangements, and send her the title and abstract of the thesis so she can send out the announcement. She will also prepare a signature sheet for the thesis committee. This is the "administrative" one (Thesis Committee Membership and Signatures; there is also one that goes into the bound copy of the thesis, which needs to be prepared by the candidate and printed out on high-quality paper.


The time scheduled for the defense is typically two hours. However, this does not mean that the candidate's presentation should last that long, since it also includes other activities, such as a meeting of the program committee. The candidate's advisor typically acts as informall "master of the ceremony"; he (or she) makes sure that all committee members are present, briefly introduces the candidate, and then hands control to the candidate for his/her presentation. The presentation itself is typically about 45-60 minutes long. Usually questions are ok during the presentation, but the candidate or the advisor may request to hold questions (or at least those that are not simply clarifications) until after the presentation.

Here is a typical structure of a thesis presentation. Again, it may vary, depending on the type and topic of the thesis, and possibly the personal preferences of the advisor and the candidate.

You should discuss the structure of your thesis with your advisor. Some advisors request to see a draft or the final version of the slides, and some may arrange a rehearsal with the candidate. Even if this is not the case, you should practice the presentation, ideally several times, in order to be comfortable with the material (which you should be anyway), and to get the timing right. It helps to have an audience for the rehearsal, even if they don't understand all the gory details.


The presentation is typically followed by a questions and answers session. If questions were asked during the presentation, it may be very short. Sometimes this section is structured such that the general audience is given an opportunity to ask questions first, and then the committee members.

Thesis Committee Meeting

After the questions have been answered (or time is getting short), the candidate and the general audience is asked to leave the room so the committee can hold its thesis approval meeting. In this meeting, the quality of the overall work is discussed, and a decision is made if the candidate has passed the defense. It is rare for a candidate not to pass the defense, but it may happen. More typically, the committee will point out potential deficiencies in the thesis, and discuss possible remedies. In many cases, the committee members make suggestions for modifications and improvements, and authorize the advisor to make sure that these are incorporated into the final version of the thesis. Committee members also may request to view the final version of the thesis themselves. Assuming that the candidate has passed the defense, and the thesis is approved overall, the committee members sign the committee membership form and the approval form (if available). They also fill out an evaluation sheet about qualitative aspects of the thesis. This feedback is used for accreditation purposes, and does not influence the approval or the grade.


After the defense, the candidate revises the thesis document according to the suggestions made by the committee. Once this is done, the final draft of the thesis is forwarded to the Office of Graduate Studies, which enorces fomratting and editorial aspects of the thesis. Then the candidate delivers a final printout on high-quality paper for the bound copy of the thesis. By this time, the advisor should have submitted the grade for the thesis, and -- if necessary -- any grade changes for previous quarters.

Please note that this writeup contains my observations and interpretations of the thesis process in the Computer Science department. While I tried to include any official policies that I'm aware of, it is possible that I overlooked or misinterpreted some. If you have doubts, talk to your advisor, the CSC graduate coordinator, Prof. Gene Fisher, or somebody from the Office of Graduate Studies at Cal Poly.

Cal Poly CSC Dept. FJK Home Courses Exchange Programs
last modified:
Saturday, October, 11, 2014, 02:13:42 PDT
© 2000-2021
Franz Kurfess