Guidelines for Master’s Projects and Theses

This page is intended for Computer Science and Data Science graduate students who are pursuing master’s degree projects and theses.

Project or Thesis?

Three semester hours (SH) of CSCI 6995 – Research Project or up to 6 SH of CSCI 7000 – Thesis can be applied towards meeting the requirements of Master of Science in Computer Science (MSCS) degree. Likewise, 3 SH of SENG 6290 – Software Engineering Project or up to 6 SH of SENG 7000 – Thesis can be applied towards meeting the requirements of Master of Science in Software Engineering (MSSE) degree. The master’s research/software engineering project typically takes about six months to complete, whereas the master’s thesis work requires one year of effort. A master’s thesis typically involves theoretical or applied research. The goal is to apply mathematical foundations, algorithmic principles, computer science theory, and software engineering methods to solving a research problem. The end result is a scholarly report which documents research findings. The report should contain sufficient original research for publication in a scholarly journal or conference. In contrast, a master’s project involves substantial implementation and results in a working software system. It may also involve providing a comprehensive survey of recent research in a specialized area of Computer Science and Software Engineering. It is essential, especially for master’s thesis, that students acquire sufficient academic background through graduate courses in the area before initiating thesis work.

A Roadmap for Master’s Projects

As indicated earlier, master’s projects are of two types: implementation and survey.

Implementation-type Master’s Projects

They involve development of proof-of-concept systems that demonstrate a recent research result, or developing a complete system which provides or enhances functionality that is not available in current software systems. These projects require production of a professional software system with complete supporting documents. Producing a scholarly research paper is not a requirement for implementation projects. However, a project report is required. Students should ask themselves and answer the following questions before finalizing a topic for an implementation project: • How is my CSCI 6995 or SENG 6290 implementation project different from any projects that I have done before as part of Computer Science and Software Engineering courses? • Precisely, what problem is solved by my project? • What are the business drivers for my project? • What are the technical drivers for my project? • What technical challenges am I addressing in my project? • What characteristics makes this implementation suitable for a master’s research project experience? • What mathematical knowledge is needed for modeling, designing, and implementing a solution? • What algorithmic principles and data structures are needed for modeling, designing, and implementing the solution? • What Computer Science or Software Engineering theory and tools are needed for modeling, designing, and implementing the solution?

Survey-type Master’s Projects

They involve locating relevant research literature, reading and understanding existing solutions to a problem, summarizing and providing a unified perspective. In addition, classifying solutions in the literature into conceptual categories, comparing and contrasting these categories is also needed. Essentially, a vast body of knowledge in a specialized area is crystallized into a precise, concise, and comprehensive report. The primary end product is a research report which is suitable for publication in a scholarly journal or refereed conference. Publication venues are not limited to the following:

  • IEEE Computer
  • IEEE Software
  • IEEE Internet Computing
  • IEEE Computing Science & Engineering
  • IEEE Security & Privacy
  • IEEE Intelligent Systems
  • IEEE Cloud Computing
  • IEEE Pervasive Computing
  • IEEE Computing Now
  • Communications of the ACM
  • ACM XRDS
  • ACM eLearn
  • ACM Inroads
  • ACM Ubiquity
  • ACM acmqueue
  • ACM Computing Surveys

Students will engage in the following activities:

  • Demonstrate how to search literature in a specialized area using online resources such as the ACM and IEEE Digital Libraries, and Google Scholar.
  • Demonstrate how to read and understand research papers.
  • Demonstrate how to classify and summarize research literature and produce a technical report.

Before You Register for CSCI 6995 and SENG 6290

  1. The student should identify a faculty member who has the relevant expertise and willingness to work with the student. This faculty member is your project advisor.
  2. Obtain a sample CSCI 6995 or SENG 6290 project report from the project advisor. Study this report to get a feel for the scope and effort required for completing a master’s project.
  3. Identify any special software and hardware requirements for the proposed project. Discuss these needs with your project advisor and ensure that they are available when you start the project.
  4. Prepare the vision and scope document for the master’s project using the prescribed document template. Get the approval of your project advisor.
  5. Prepare a plan which shows the schedule of the master’s project. This should include all the major tasks, start and finish dates for each task.
  6. In addition to the project advisor, identify two other faculty members who are willing to serve on the project committee. Submit the project vision and scope document and project plan to the committee members and get their approval.
  7. Prepare a project intention document using the prescribed template. It includes project title, student name, project advisor and committee member names along with their signatures, and project plan. Submit the signed document to the CS Department office. Students are not allowed to register for CSCI 6995 and SENG 6290 unless this document is on file in the CS Department office.

Master’s Project Execution

  1. Set up a biweekly meeting time with your project advisor. Use this time to appraise the advisor about your project status and seek guidance and solutions to outstanding issues.
  2. Collect relevant research literature and study. Use software such as Evernote to make notes, Bibsonomy for bibliography management, and cloud-hosted and collaborative document preparation platforms such as sharelatex.com and Overleaf. Identify various facets of the area, existing solutions, and their limitations. Use the bibliography manager to store your summary and annotations of the papers read.
  3. Classify and summarize the literature. Identify challenging problems and their impact if solutions are found. Your project report is the document that captures the results of these activities.
  4. Writing the project report is not something that you do in one go towards the end of the semester. Prepare the report using the prescribed template. Writing and revising should happen as a regular weekly activity. Request the project advisor to provide feedback as the document evolves.
  5. Your project draft report should be ready by the twelfth week into the semester. Submit the report to the project committee. Allow them two weeks to provide you feedback.
  6. Incorporate all suggestions made by the project committee by revising the project report.
  7. During the fourteenth week, consult the CS Department administrative assistant (Admin) to advertise your project presentation event. The Admin will post this information in prominent places in the CS building as well as inform the faculty and students via email.
  8. Prepare slides for your presentation. Plan on having no more than 25 slides. You will have 40 minutes for the presentation, and another 10 minutes for answering audience questions. The project committee will deliberate on your project work and inform you whether or not the project is acceptable.
  9. The project committee may accept your document as is. But in reality, they will suggest a number of changes. Make these changes and email the final copy to the project committee and the CS Department Admin.

A Roadmap for Master’s Thesis

A Master’s thesis involves substantial effort and is suitable for students who seek employment with premier computing technology companies or those who plan to pursue Ph.D. degrees. Students will engage in the following activities:

  • Demonstrate how to search research literature in a specialized area using online resources such as ACM and IEEE Digital Libraries.
  • Demonstrate how to read and understand research papers.
  • Demonstrate how to classify and summarize research literature and identify open research problems.
  • Propose potential solutions to a research problem and investigate a select solution.
  • Develop solutions to the research problem. %and present solutions at professional venues.
  • Write a paper about your solution to the research problem and submit it to relevant and refereed professional conference or journal.

Before You Register for CSCI 7000 or SENG 7000

  1. Take courses in the area in which you plan to do your thesis during your first year of graduate study. Use implementation projects and annotated bibliography projects in these courses to identify potential topics for thesis research.
  2. Identify a faculty member who has the relevant expertise and willingness to work with you. This faculty member is your thesis advisor.
  3. Obtain a sample CSCI 7000 or SENG 7000 report from the thesis advisor. Study this report to get a feel for the scope and effort required for completing a master’s thesis.
  4. Identify any special software, hardware, and data requirements for the proposed thesis. Discuss these needs with the thesis advisor and ensure that they are available when you start thesis work.
  5. Prepare a thesis statement in consultation with the advisor. This document states the goals of the thesis and expected results. Use the prescribed document template.
  6. Prepare a thesis plan which shows the schedule of the Master’s thesis. This should include all the major tasks, start and finish dates for each task.
  7. In addition to the thesis advisor, identify two other faculty members who are willing to serve on the thesis committee. Submit the thesis statement and thesis plan to the thesis committee members and get their approval.
  8. Prepare a thesis intention document using the prescribed template. It includes thesis title, student name, thesis advisor and committee member names along with their signatures, and thesis plan. Submit the signed document to the CS Department office. Students are not allowed to register for CSCI 7000 or SENG 7000 unless this document is on file in the CS Department office.

CSCI 7000 or SENG 7000 — First Semester

  1. Set up a biweekly meeting time with your thesis advisor. Use this time to appraise the advisor about your thesis progress and seek guidance and solutions to outstanding issues.
  2. Collect relevant research literature and study. Use software such as Evernote to make notes, Bibsonomy for bibliography management, and cloud-hosted and collaborative document preparation platforms such as sharelatex.com and Overleaf. Identify various facets of the area, existing solutions, and their limitations. Use the bibliography manager to store your summary and annotations of the papers read.
  3. Classify and summarize the literature. Identify challenging problems and their impact if solutions are found.
  4. Prepare and submit a review paper to a journal.
  5. Formulate a research problem for your thesis and explore potential solutions.

CSCI 7000 or SENG 7000 — Second Semester

  1. Your solution to the problem identified in the previous semester may simply be an algorithm whose implementation is outside the thesis scope. However, it may need mathematical proofs related to its correctness, space and time complexity. In other cases, algorithmic solutions may need implementation to demonstrate their effectiveness in solving a problem. If so, implement the solution and test it.
  2. Use the results from the above step and the review paper results from the previous semester in writing your thesis.
  3. Thesis draft report should be ready by the twelfth week into the semester. Submit the report to the thesis committee. Allow them two weeks to provide you feedback.
  4. Incorporate all suggestions made by the thesis committee by revising the draft.
  5. During the fourteenth week, consult the CS Department administrative assistant (Admin) to advertise your project presentation event. The Admin will post this information in prominent places in the building as well as inform the faculty and students via email.
  6. Prepare slides for your presentation. Plan on having no more than 25 slides. You will have 50 minutes for the presentation, and another 10 minutes for answering audience questions. The thesis committee will deliberate on your work and inform you whether or not the thesis is acceptable.
  7. The thesis committee may accept your document as is. But in reality, they will suggest a number of changes. Make these changes and email the final copy to the thesis committee, the CS Department Admin, and the Graduate School Dean.