Department of Computer Science
Master’s Project and
Thesis Guidelines
Fall 2016 Edition
ii
F 2003 edition by Allen Holliday
Revised: August, 2016, Mariko Molodowitch
iii
Table of Contents
Introduction ...................................................................................................................................... 1
Prerequisites ................................................................................................................................... 2
Subject Categories .......................................................................................................................... 2
Development Project .................................................................................................................. 2
Research Project ......................................................................................................................... 3
Thesis .......................................................................................................................................... 3
Proposing a Project or Thesis .......................................................................................................... 4
Select Topic or Problem ................................................................................................................. 4
Select Advisor and Reviewer / Committee .................................................................................... 5
Project ......................................................................................................................................... 5
Thesis .......................................................................................................................................... 5
Prepare Proposal ............................................................................................................................. 5
Objectives ................................................................................................................................... 5
Activities .................................................................................................................................... 5
Environment ............................................................................................................................... 6
Reports and Products .................................................................................................................. 6
Schedule ..................................................................................................................................... 6
Submit Proposal ......................................................................................................................... 7
Performing The Work ...................................................................................................................... 8
Progress Reports ............................................................................................................................. 8
Draft Documents ............................................................................................................................ 8
Demonstration / Presentation ......................................................................................................... 8
Final Submission ............................................................................................................................ 8
Project ......................................................................................................................................... 8
Thesis .......................................................................................................................................... 9
Final Evaluation ............................................................................................................................. 9
Appendix A: Project / Thesis Definition Form .............................................................................. 10
Appendix B: Project / Thesis Proposal ........................................................................................... 12
Appendix C: Schedule Example ...................................................................................................... 13
Appendix D: Development Project Report .................................................................................... 15
Appendix E: Research Project Report ........................................................................................... 16
Appendix F: Approval Cover Page ................................................................................................. 17
1
Introduction
Every student in the Master of Science in Computer Science program at California State
University, Fullerton must complete a computer science project or write a thesis. This
document describes the process that you must follow when completing a project or thesis.
Much of the process is the same for either project or thesis; where there are differences, they
are clearly identified.
The following two paragraphs are taken from the University’s 2016-2017 Catalog’s
Dissertations, Theses and Projects section.
A thesis is defined as the written product of a systematic study of a significant topic. Within
the body of the paper, the student identifies the problem, states the major assumptions,
explains the significance of the undertaking, sets forth the sources for and methods of
gathering information, analyzes the data, evidence or patterns to offer a conclusion or
recommendation. The finished product provides clear evidence of originality, critical and
independent thinking, and organization and format, as appropriate for discipline. Normally,
an oral defense of the thesis is required.
A project is a significant undertaking appropriate to the fine and applied arts or to
professional fields. It also evidences originality and independent thinking, appropriate form
and organization, and a rationale. It is described and summarized in a written abstract that
includes the project’s significance, objectives, methodology and a conclusion or
recommendation. An oral defense of the project is strongly encouraged.”
You may refer to this Catalog section for more information about the University’s gener5al
regulations, format guidelines and style manuals, deadlines and final procedures. This section
may be found by going to the University Catalog website (http://catalog.fullerton.edu/
) and
then choosing Graduate Regulations -> Dissertations, Theses, and Projects.
A project involves the analysis of a computer science problem and the solution of that
problem. The analysis and solution show that you have mastered the knowledge and skills of
computer science, which you have gained from the courses you have taken and the activities
you have performed throughout the master’s degree program in computer science.
A thesis involves study of a significant area of computer science. It shows your ability to
think critically and independently, and to develop original ideas from your research. Most
projects involve the development of a software product, although a research project can also
be done. A thesis usually covers a more intensive research topic; it has more formal
documentation requirements and involves a more rigorous approval process.
When you are deciding between a project and a thesis, remember that they are more than a
requirement for the Master’s degree; they are also something you can use when you apply for
a job or to a graduate school.
2
Prerequisites
You must register in CPSC 597 Project or CPSC 598 Thesis to complete this
requirement for your degree. To enroll in either class you must have already completed
CPSC 589 and have Classified Standing (See the Graduate Handbook’s Classification
section for the description of this term.) You must file an approved project proposal in
the Computer Science department office no later than the two weeks before the last day
of instruction of the preceding semester before you plan to register in CPSC 597 or 598..
For the Fall semester, this deadline is usually the first day after the Fall break, and for
the Spring semester, it is usually May 1, but students should check with the office for the
actual deadline each semester.
Subject Categories
A project or thesis involves the systematic creation and execution of a plan for
addressing a significant computer science problem. You demonstrate the skills and
knowledge that you have acquired by finding a solution to the problem you chose, or by
conducting research into a significant area of computer science.
Computer Science projects can come from either of these categories:
1. Software Development
2. Research Project
Development Project
A development project produces a working implementation of a problem solution. You
use software engineering techniques and computer science principles to develop software
by:
1. analyzing and specifying requirements.
2. designing a software solution to the requirements specifications.
3. implementing the design in computer programs.
4. testing and integrating the programs.
5. writing the required documents.
6. demonstrating the project.
7. delivering the software program and documents.
Examples of software development projects are: software development aids, user
interface tools, Internet applications, and various business or scientific application
programs. Some development tools may interact with a special hardware environment.
Examples are: program debuggers, device drivers, network systems, code generators,
and linkage editors.
3
Research Project
In a research project, you investigate a computer science problem or topic by
1. analyzing the problem or topic.
2. conducting extensive research.
3. summarizing your findings from your research investigation.
4. recommending additional research on the topic.
5. drawing conclusions from your research.
6. documenting the results of the study.
7. presenting your results.
Research projects may or may not include software development; such software is
normally experimental and is not expected to be production quality.
Before you choose a research project, you must work closely with your faculty advisor
to make sure that the requirements are clearly defined and that a quality final report can
be delivered.
Thesis
A thesis is an endeavor of more significance and difficulty than a research project. It
involves:
1. analyzing the problem or topic.
2. conducting extensive research.
3. summarizing your findings from your research investigation.
4. recommending additional research on the topic.
5. drawing conclusions and making recommendations.
6. documenting the results of your research..
7.defending your conclusions and recommendations.
4
Proposing a Project or Thesis
You must prepare a proposal for your project or thesis, and have it approved before you may
enroll in CPSC 597 or CPSC 598.
The project must demonstrate your understanding of computer science principles and
practices, and prove your ability to:
1. Identify a computer science problem.
2. Perform an analysis of the problem.
3. Postulate a solution.
4. Investigate current research to support your solution.
5. Solve the problem.
6. Test the problem.
7. Document the results.
8. Demonstrate your program or present your results.
9. Deliver the final product.
The thesis must demonstrate your understanding of computer science principles and
practices, and prove your ability to:
1. Identify a significant computer science problem.
2. Perform extensive research in the topic’s subject area.
3. Analyze the results of that research.
4. Form conclusions and develop recommendations.
5. Document the results of your research in the required form.
6. Present and defend your results.
Select Topic or Problem
You should start thinking about a computer science problem early in your degree
program. The graduate courses you take, especially the CPSC 589 Seminar, provide an
opportunity to explore interesting areas of computer science. By the time you finish this
course, you should have identified one or more problems of interest.
The Computer Science Department’s Graduate Handbook has a link to a list of faculty
and their interests, which may suggest project topics and identify potential advisors.
You should discuss possible topics and problems with faculty members. If you cannot
think of a topic or problem, these faculty members may suggest some.
5
Select Advisor and Reviewer / Committee
Project
You must have a faculty advisor and a faculty reviewer for your project. The advisor
must be a full-time faculty member; it is preferable to have a full-time faculty member
as a reviewer, but a part-time instructor may serve if he or she agrees. They review the
project proposal, observe the demonstration or presentation, and evaluate the final
report.
You and your advisor should maintain a close working relationship throughout your
project. You should meet regularly and often, usually every two weeks or so.
You will see the reviewer primarily at the beginning or the end of your project. The
reviewers responsibility is evaluation of the final products, although you may ask him
or her to comment on draft versions.
Thesis
You must have a committee of three faculty members to supervise and review your
thesis. The chair of this committee will be your thesis advisor and must be a full-time
faculty member. It is preferable to have full-time faculty members as other committee
members, but a part-time faculty may serve if he or she agrees. All members should
have an interest in the problem area that you select. They review the proposal, observe
and evaluate your defense.
You and your advisor should maintain a close working relationship throughout your
project. You should meet regularly and often, usually every two weeks or so.
You will see the other committee members primarily at the beginning or the end of your
thesis. Their responsibility is the evaluation of the final products, although you may ask
him or her to comment on draft versions.
Prepare Proposal
You must write a proposal for your project or thesis, have it approved by your advisor
and reviewer or committee, and submitted to the Computer Science Department. See
Appendix A Project/Thesis Definition form and Appendix B Project/Thesis Proposal for
information on format and organization.
Objectives
State clearly what is to be accomplished and why it is significant enough for a master’s
project or thesis.
Activities
Describe in detail how the objectives will be achieved. Describe the development
phases and the tasks that will be performed.
6
Include charts, graphics and project models if they will show your activities more
clearly.
Environment
Describe the computers, programming languages, and software tools that will be used in
your development or research.
Reports and Products
Project
Define clearly what the final products of the project will be. Identify what you will
deliver to your advisor for demonstration and what you will deliver to the Computer
Science Department when your project is completed. Possible deliverables include:
1. Final report ( required of all projects).
2. Source code.
3. User’s manuals.
Appendices D and E provide sample tables of content for the required project reports.
Thesis
The thesis format and content is described in a manual available from the Graduate
Studies Office. You should get a copy as soon as possible and become familiar with its
content.
Schedule
The schedule is a significant part of the project or thesis proposal. It defines what you
are going to do and when you are planning to do it. You should consider how long each
activity is going to take, which activities must precede others, and how much overlap is
possible or desirable. The schedule identifies tasks to be performed, milestones to be
met, and the estimated number of hours for each task.
You should work closely with your advisor to develop the schedule. It will help you
define the scope of your project and establish a baseline for measuring progress.
A project or thesis should be sized so that they will require 150200 hours of effort.
Your schedule should be for a one-semester project. If there are unforeseen difficulties,
you should discuss with your advisor about extending it for another semester.
Project
Allow enough time for analysis and design. One of the common scheduling errors in
development projects is having an analysis and design phase that is too short, and coding
and integration phase that is too long and drawn-out because of inadequate analysis and
design. Schedule time for analysis and design and the use the time to come up with a
well-thought out design.
An example of a project schedule is provided in Appendix C.
Thesis
7
The University Catalog’s Dissertations, Theses and Projects section has a detailed
description of the preparation and approval process. Be sure that you are familiar with
the deadlines given in this section. Allow enough time for your advisor, your
committee, and the university thesis reader (from the Graduate Studies Office) to read,
comment, and approve your thesis. Be prepared to modify your thesis in response to
their comments, and to resubmit the updated version.
Submit Proposal
When you, your advisor, and your reviewer or committee agree that the proposal is
complete, attach it to a completed Project /Thesis Definition form (see Appendix A) and
submit it to the Computer Science Department.
(At this time, a hard copy of the proposal and the form with all required signatures
should be submitted, but in the future, the Department may switch to submitting digital
documents to a special site.)
8
Performing The Work
Progress Reports
Make periodic progress reports to your advisor; every two weeks is recommended.
Compare your actual progress with your schedule and discuss any problems with your
advisor. Adjust your schedule if necessary.
Draft Documents
Create draft versions of the required documents and submit them to your advisor for
review. Incorporate comments when preparing the final documents.
Demonstration / Presentation
Project
Demonstrate the final project to your advisor and your reviewer. For research projects,
an oral presentation will substitute for the demonstration.
Thesis
Present your results to your committee and defend your conclusions and
recommendations.
Final Submission
Project
When your demonstration or presentation and your final project report have been
approved by your faculty advisor and your reviewer, you must submit to the Computer
Science Department the following:
1. Project Approval form (Appendix E.)
The form must be complete with the signatures of your advisor and reviewer. The
office staff will scan the form so that the Department will retain it digitally, and return
the original form for you to keep.
2. Project deliverables
This will be the project report and any other final products such as source code and user
manuals. They must be submitted in digital form using a link that your advisor will give
you.
9
The report must include an abstract – a short (100 words or less) one-paragraph
summary of the topic and results, which may be posted on the Computer Science
website. It must also include a list of keywords that can be used in a database to help
faculty and students locate projects addressing specific topics.
Thesis
The University Catalog’s Dissertations, Theses and Projects section has a detailed
description of the requirements for approval signatures, reading by the University thesis
reader, and binding and microfilming. Contact the Graduate Studies Office to make sure
you know all the requirements for submitting a thesis and getting it approved.
Final Evaluation
Your grade on your project is based on your advisor’s and reviewer’s assessment of
1. The quality of the final report.
2. The quality of the product developed.
3. The thoroughness of the individual tasks that you performed.
10
Appendix A:
Project / Thesis Definition Form
11
12
Appendix B:
Project / Thesis Proposal
A sample table of contents and outline for the proposal:
Cover page (Title of project/thesis, your name)
Table of Contents (including Tables, Figures, and Appendices)
1. Introduction
2. Objectives
3. Activities
4. Research / Development Environment
5. Reports and Products
6. Schedule
7. References
8. Appendices (as needed, for supporting documentation.)
13
Appendix C:
Schedule Example
14
Project Schedule Example
2016 February March April May Summary
Tasks:
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 5 Hours Percent
Requirements
12
12
8
6
38
17.9%
Design
4
6
12
8
30
14.2%
Code & Unit Test
4
8
12
6
30
14.2%
Integrate & Test
4
6
12
12
12
12
8
66
31.1%
Write User’s
Manual
6 8 14 6.6%
Write Final Report
6
12
12
30
14.2%
Demonstrate
4
1.9%
Hours
12
12
12
12
16
16
16
12
12
12
12
12
14
14
12
12
212
100.0%
15
Appendix D:
Development Project Report
A sample table of contents for the final report for a development project is shown below:
Approval Cover page (see Appendix F)
Abstract (short!)
Keyword List
Table of Contents (including Tables, Figures, and Appendices)
1. Introduction
a. Description of the Problem
b. Project Objectives
c. Development Environment (software and hardware)
d. Operational Environment (software and hardware)
2. Requirements Description (external functions and interfaces)
3. Design Description (architecture, internal functions, and interfaces)
4. Implementation (organization of source file structure, reference list of files)
5. Test and Integration (plan and results)
6. Installation Instructions
7. Operating Instructions
8. Recommendations for Enhancement
9. Bibliography (citing all references used)
16
Appendix E:
Research Project Report
A sample table of contents for the final report for a research project is shown below:
Approval Cover page (see Appendix F)
Abstract (short!)
Keyword List
Table of Contents (including Tables, Figures, and Appendices)
1. Introduction
a. Definition of the Problem
b. Objective of the Study
c. Significance of the Problem
d. Review of Significant Research
e. Assumptions and Limitations
2. Research Approach or Methodology
3. Research Results and Analysis of Results
4. Summary and Conclusions
5. Bibliography (citing all references used)
17
Appendix F:
Approval Cover Page
18