Computer Science Master's Thesis/Project Guidelines

As you know, the master's degree requirements include either a 3-credit (1 semester) project or a 6-credit (2 semester) thesis. This page outlines some guidelines for these.

The important question to start with is which option to pick. The fundamental difference is that a thesis involves research while a project does not. Since a thesis involves 2 semesters of work, the level of effort will be twice as long.

A general guideline is that the project is a better option if your goal is to go on to an industrial job, while a thesis is the right choice if you are planning on going on to a PhD program (note that research jobs generally require PhD's, whether in industry or academia). If you are unsure of whether research is in your future, the thesis might be a good option to decide if research is for you since a master's thesis shares similarities to a PhD thesis, though its much smaller in scope. In the best case, your master's thesis will lay a foundation for your PhD thesis! As a side benefit, this may also save you some time in your PhD program, though you obviously don't want to do that if you decide you prefer a different area.

Whichever option you pick, if you are graduating this semester you should follow directions in the faq to apply for graduation (early in the semester).


Project

The goal of a project is to develop some application of interest to you. Most projects will involve the development of a large piece of software, though you are not restricted to purely software projects (e.g., embedded systems are fine). Most projects will have many of the following characteristics:

Although the goal of a project is not to do research, some project tasks might involve reading research papers and implementing ideas based on these papers.

Picking a topic/mentor:

There is no single way to pick a topic, and it ultimately comes down to something that you and your mentor agree on. Some models are:

You and your mentor should decide upon the 'rules' for the project. While it is ultimately decided between you and your mentor, we recommend that you write a short proposal with the following:

Timeline:

The project is a 1 semester 3-credit course, and we strongly recommend that you have the proposal alluded to above before the start of the semester. A sample timeline for a 15 week semester (14 + finals week) might be (weeks in brackets, negative numbers done before semester):

The deadline for everything is the end of semester. If you are taking the project in your semester of graduation, the administrative deadline is particularly tight.


Thesis

The goal of a thesis is to do independent research in some [possibly interdisciplinary] subarea of computer science. It should be in the area of your mentor, though some great theses might integrate your background with your mentor's area; for example solving problem X that you have experience in, using techniques that your mentor does research on.

The final deliverable for the thesis is a document following guidelines by the School of Arts & Sciences; in computer science, resulting code/experiments is also often placed in a public repository. These theses are stored in the Hunter library and accessible around the world, so you may wish to see some other theses.

Picking a topic/mentor:

Some common models are:

As the thesis is a 2 semester effort, you want to pick as soon as possible.

You and your mentor should decide upon the goals of your thesis, and we recommend that you write a proposal. A good proposal will save you time in the end, as it may form a part of your final thesis. Although proposal contents vary widely by area, one common outline is:

You also want to come to agreement with your mentor on how/when you will interact (possibly in the context of a larger group). These interactions typically take the forms of  individual meetings, progress reports, research group meetings, meetings to present/discuss research papers, etc. (all done on a regular schedule).

Thesis Process and Timeline:

Although your mentor is the primary overseer of the thesis, you will need to form a committee composed of:

  1. Mentor: Primary overseer of the thesis
  2. Reader: As the title suggests, this person will be a secondary reader of your thesis. If your thesis spans two research areas, you should make sure to pick the mentor and reader from the two different areas. You may also choose to have >1 reader. 
  3. Director: General overseer. If the program director is a mentor or reader, an alternate acting director will be selected.

The administrative process is:

  1. Write proposal
  2. Perform research
  3. Write thesis; get preliminary approval by mentor
  4. Submit thesis to committee, schedule defense at least 2 weeks later.
  5. Defense: present thesis to audience (committee + anybody interested in attending). The committee decision will be either accept, accept with minor revisions (most common if you have been working closely with mentor), accept with major revisions, or reject.
  6. Revise thesis as per above and get approval by committee. 
  7. Submit thesis to Hunter with committee approval

It takes time to go through all these stages! The deadline for submitting final theses is set each year by the school of Arts & Sciences (see guidelines). A sample timeline for a September-May thesis might be:

The above dates are just a general guideline and will of course be decided by you/mentor (and also vary widely by area); however, the final tasks have strict date constraints.

Unlike PhD theses, masters theses don't require published papers; however, you should strive to publish a paper especially if you plan on entering a PhD program. This imposes additional scheduling constraints, as most good CS conferences have a 2 month gap between submission and notification of acceptance - you can do the math.