- Emergency Info
- Directories
- UR Self-Service
- Academic Calendars & Schedules
- Find a Person
- Search Classes & Build Schedule
- Future Grad Students
- Professional Programs
- MSc (Thesis Route)
- MSc (Project Route)
- MSc (Data Science)
- MSc (Human-Centred Computing)
- MSc (Course Route)
- Thesis Approval & Defence Procedures
- FGSR Regulations
- Course Descriptions
- Most Recent Course Syllabi
- Course Timetable
- Financial Support
- Graduate Program FAQ
- Undergraduate
- Classes & Labs
Thesis Examples
Latex Example (shortened M.Sc. with urthesis.sty) (ZIP)
Latex Example (complete M.Sc. with no .sty) (ZIP)
How to Write a M.Sc. Thesis
The following guide to writing an M.Sc. thesis was prepared by Howard Hamilton and Brien Maguire, based on previous guides by Alan Mackworth (University of British Columbia) and Nick Cercone (Simon Fraser University), with their permission.
Quick Guide to the M.Sc. Thesis
An acceptable M.Sc. thesis in Computer Science should attempt to satisfy one or more of the following criteria:
- Original research results are explained clearly and concisely.
- The thesis explains a novel exploratory implementation or a novel empirical study whose results will be of interest to the Computer Science community in general and to a portion of the Computer Science community in particular, e.g., Artificial Intelligence, Computational Complexity, etc.
- Novel implementation techniques are outlined, generalized, and explained.
- Theoretical results are obtained, explained, proven, and (worst, best, average) case analysis is performed where applicable.
- The implementation of a practical piece of nontrivial software whose availability could have some impact on the Computer Science community. Examples are a distributed file system for a mobile computing environment and a program featuring the application of artificial intelligence knowledge representation and planning techniques to intelligent computer assisted learning software.
Writing an acceptable thesis can be a painful and arduous task, especially if you have not written much before. A good methodology to follow, immediately upon completion of the required courses, is to keep a paper or electronic research notebook and commit to writing research oriented notes in it every day. From time to time, organize or reorganize your notes under headings that capture important categories of your thoughts. This journal of your research activities can serve as a very rough draft of your thesis by the time you complete your research. From these notes to a first M.Sc. thesis draft is a much less painful experience than to start a draft from scratch many months after your initial investigations. To help structure an M.Sc. thesis, the following guide may help.
One Formula for an M.Sc. Thesis for Computer Science
Chapter 1 Introduction: This chapter contains a discussion of the general area of research which you plan to explore in the thesis. It should contain a summary of the work you propose to carry out and the motivations you can cite for performing this work. Describe the general problem that you are working towards solving and the specific problem that you attempt to solve in the thesis. For example, the general problem may be finding an algorithm to help an artificial agent discover a path in a novel environment, and the specific problem may be evaluating the relative effectiveness and efficiency of five particular named approaches to finding the shortest path in a graph where each node is connected to at most four neighbours, with no knowledge of the graph except that obtained by exploration. This chapter should also explain the motivations for solving each of the general problem and your specific problem. The chapter should end with a guide to the reader on the composition and contents of the rest of the thesis, chapter by chapter. If there are various paths through the thesis, these should also be explained in Chapter 1.
Chapter 2 Limited Overview of the Field: This chapter contains a specialized overview of that part of a particular field in which you are doing M.Sc. thesis research, for example, paramodulation techniques for automated theorem proving or bubble figure modelling strategies for animation systems. The survey should not be an exhaustive survey but rather should impose some structure on your field of research endeavour and carve out your niche within the structure you impose. You should make generous use of illustrative examples and citations to current research.
Chapter 3 My Theory/Solution/Algorithm/Program: This chapter outlines your proposed solution to the specific problem described in Chapter 1. The solution may be an extension to, an improvement of, or even a disproof of someone else's theory / solution / method / ...).
Chapter 4 Description of Implementation or Formalism: This chapter describes your implementation or formalism. Depending on its length, it may be combined with Chapter 3. Not every thesis requires an implementation. Prototypical implementations are common and quite often acceptable although the guiding criterion is that the research problem must be clearer when you've completed your task than it was when you started!
Chapter 5 Results and Evaluation: This chapter should present the results of your thesis. You should choose criteria by which to judge your results, for example, the adequacy, coverage, efficiency, productiveness, effectiveness, elegance, user friendliness, etc., and then clearly, honestly and fairly adjudicate your results according to fair measures and report those results. You should repeat, whenever possible, these tests against competing or previous approaches (if you are clever you will win hands down in such comparisons or such comparisons will be obviated by system differences). The competing or previous approaches you compare against must have been introduced in Chapter 2 (in fact that may be the only reason they actively appear in Chapter 2) and you should include pointers back to Chapter 2. Be honest in your evaluations. If you give other approaches the benefit of the doubt every time, and develop a superior technique, your results will be all the more impressive.
Chapter 6 Conclusions: This chapter should summarize the achievements of your thesis and discuss their impact on the research questions you raised in Chapter 1. Use the distinctive phrasing "An original contribution of this thesis is" to identify your original contributions to research. If you solved the specific problem described in Chapter 1, you should explicitly say so here. If you did not, you should also make this clear. You should indicate open issues and directions for further or future work in this area with your estimates of relevance to the field, importance and amount of work required.
References Complete references for all cited works. This should not be a bibliography of everything you have read in your area.
Appendices include technical material (program listings, output, graphical plots of data, detailed tables of experimental results, detailed proofs, etc.) which would disrupt the flow of the thesis but should be made available to help explain or provide details to the curious reader.
- Privacy & Terms of Use
- Contact U of R
- Campus Maps
- U of R Home
- For Faculty and Staff
- City of Regina
Senior Thesis
A senior thesis is more than a big project write-up. It is documentation of an attempt to contribute to the general understanding of some problem of computer science, together with exposition that sets the work in the context of what has come before and what might follow. In computer science, some theses involve building systems, some involve experiments and measurements, some are theoretical, some involve human subjects, and some do more than one of these things. Computer science is unusual among scientific disciplines in that current faculty research has many loose ends appropriate for undergraduate research.
Senior thesis projects generally emerge from collaboration with faculty. Students looking for senior thesis projects should tell professors they know, especially professors whose courses they are taking or have taken, that they are looking for things to work on. See the page on CS Research for Undergrads . Ideas often emerge from recent papers discussed in advanced courses. The terms in which some published research was undertaken might be generalized, relaxed, restricted, or applied in a different domain to see if changed assumptions result in a changed solution. Once a project gets going, it often seems to assume a life of its own.
To write a thesis, students may enroll in Computer Science 91r one or both terms during their senior year, under the supervision of their research advisor. Rising seniors may wish to begin thinking about theses over the previous summer, and therefore may want to begin their conversations with faculty during their junior spring—or even try to stay in Cambridge to do summer research.
An information session for those interested in writing a senior thesis is held towards the end of each spring semester. Details about the session will be posted to the [email protected] email list.
Students interested in commercializing ideas in their theses may wish to consult Executive Dean Fawwaz Habbal about patent protection. See Harvard’s policy for information about ownership of software written as part of your academic work.
Thesis Supervisor
You need a thesis supervisor. Normally this is a Harvard Computer Science faculty member. Joint concentrators (and, in some cases, non-joint concentrators) might have a FAS/SEAS Faculty member from a different field as their thesis supervisor. Exceptions to the requirement that the thesis supervisor is a CS or FAS/SEAS faculty member must be approved by the Director of Undergraduate Studies. For students whose advisor is not a Harvard CS faculty member, note that at least one of your thesis readers must be a Harvard CS faculty member, and we encourage you to talk with this faculty member regularly to help ensure that your thesis is appropriately relevant for Harvard Computer Science.
It’s up to you and your supervisor how frequently you meet and how engaged the supervisor is in your thesis research. However, we encourage you to meet with your supervisor at least several times during the Fall and Spring, and to agree on deadlines for initial results, chapter outlines, drafts, etc.
Thesis Readers
The thesis is evaluated by the thesis readers: the thesis supervisor and at least one other reader. Thesis readers must include at least one Harvard CS faculty member/affiliate . Ordinarily all readers are teaching faculty members of the Faculty of Arts and Sciences or SEAS who are generally familiar with the research area.
The student is responsible for finding the thesis readers, but you can talk with your supervisor for suggestions of possible readers.
Exceptions to these thesis reader requirements must be approved by the Directors of Undergraduate Studies.
For joint concentrators, the other concentration may have different procedures for thesis readers; if you have any questions or concerns about thesis readers, please contact the Directors of Undergraduate Studies.
Senior Thesis Seminar
Computer Science does not have a Senior Thesis seminar course.
The thesis should contain an informative abstract separate from the body of the thesis. This abstract should clearly state what the contribution of the thesis is–which parts are expository, whether there are novel results, etc. We also recommend the thesis contain an introduction that is at most 5 pages in length that contains an “Our contributions” section which explains exactly what the thesis contributed, and which sections in the thesis these are elaborated on. At the degree meeting, the Committee on Undergraduate Studies in Computer Science will review the thesis abstract, the reports from the three readers and the student’s academic record; it will have access to the thesis. The readers (and student) are told to assume that the Committee consists of technical professionals who are not necessarily conversant with the subject matter of the thesis so their reports (and abstract) should reflect this audience.
The length of the thesis should be as long as it needs to be to present its arguments, but no longer!
There are no specific formatting guidelines. For LaTeX, some students have used this template in the past . It is set up to meet the Harvard PhD Dissertation requirements, so it is meeting requirements that you as CS Senior Thesis writers don’t have.
Thesis Timeline for Seniors
(The timeline below is for students graduating in May. For off-cycle students, the same timeline applies, but offset by one semester. The thesis due date for March 2025 graduates is Friday November 22, 2024 at 2pm. The thesis deadline for May 2025 graduates is Friday March 28th at 2pm.
Please be aware that students writing a joint thesis must meet the requirements of both departments—so if there are two different due dates for the thesis, you are expected to meet the earlier date.
Senior Fall (or earlier) Find a thesis supervisor, and start research.
October/November/December Start writing.
All fourth year concentrators are contacted by the Office of Academic Programs and those planning to submit a senior thesis are requested to supply certain information, including name of advisor and a tentative thesis title. You may use a different title when you submit your thesis; you do not need to tell us your updated title before then. If Fall 2024 is your final term, please fill out this form . If Spring 2025 is your final term, please fill out this form .
Early February The student should provide the name and contact information for the readers (see above), together with assurance that they have agreed to serve.
Mid-March Thesis supervisors are advised to demand a first draft. (A common reaction of thesis readers is “This would have been an excellent first draft. Too bad it is the final thesis—it could have been so much better if I had been able to make some suggestions a couple of weeks ago.")
March 28, 2025 Thesis is due by 2:00 pm. Electronic copies in PDF format should be delivered by the student to all three readers and to [email protected] (which will forward to the Director of Undergraduate Studies) on or before that date. An electronic copy should also be submitted via the SEAS online submission tool on or before that date. SEAS will keep this electronic copy as a non-circulating backup. During this online submission process, the student will also have the option to make the electronic copy publicly available via DASH, Harvard’s open-access repository for scholarly work. Please note that the thesis will NOT be published to ProQuest. More information can be found on the SEAS Senior Thesis Submission page.
The readers will receive a rating sheet to be returned to the Office of Academic Programs.
Late May The Office of Academic Programs will send students their comments after the degree meeting to decide honors recommendations.
Thesis Extensions and Late Submissions
Thesis extensions Thesis extensions will be granted in extraordinary circumstances, such as hospitalization or grave family emergency, with the support of the thesis advisor and resident dean and the agreement of all readers. For joint concentrators, the other concentration should also support the extension. To request an extension, please have your advisor or resident dean email [email protected] , ideally several business days in advance, so that we may follow up with readers. Please note that any extension must be able to fall within our normal grading, feedback, and degree recommendation deadline, so extensions of more than a few days are usually impossible.
Late submissions Late submission of thesis work should be avoided. Work that is late will ordinarily not be eligible for thesis prizes like the Hoopes Prize. Theses submitted late will ordinarily be penalized one full level of honors (highest honors, high honors, honors, no honors) per day late or part thereof, including weekends, so a thesis submitted two days and one minute late is ordinarily ineligible to receive honors. Penalties will be waived only in extraordinary cases, such as documented medical illness or grave family emergency; students should consult with the Directors of Undergraduate Studies in that event. Missed alarm clocks, crashed computers, slow printers, corrupted files, and paper jams are not considered valid causes for extensions.
Thesis Examples
Recent thesis examples can be found on the Harvard DASH (Digital Access to Scholarship at Harvard) repository here . Examples of Mind, Brain, Behavior theses are here .
Spectral Sparsification: The Barrier Method and its Applications
- Martin Camacho, Advisor: Jelani Nelson
Good Advice Costs Nothing and it’s Worth the Price: Incentive Compatible Recommendation Mechanisms for Exploring Unknown Options
- Perry Green, Advisor: Yiling Chen
Better than PageRank: Hitting Time as a Reputation Mechanism
- Brandon Liu, Advisor: David Parkes
Tree adjoining grammar at the interfaces
- Nicholas Longenbaugh, Advisor: Stuart Shieber
SCHUBOT: Machine Learning Tools for the Automated Analysis of Schubert’s Lieder
- Dylan Nagler, Advisor: Ryan Adams
Learning over Molecules: Representations and Kernels
- Jimmy Sun, Advisor: Ryan Adams
Towards the Quantum Machine: Using Scalable Machine Learning Methods to Predict Photovoltaic Efficacy of Organic Molecules
- Michael Tingley, Advisor: Ryan Adams
How to Write a Master's Thesis in Computer Science
Introduction, skills you will need, how to write your program, write a requirements document, write specification and design documents, other program related documentation.
Write a User's Manual
Write a Maintenance Manual
Write a Test Suite
How To Write Your Thesis
Write a thesis proposal, write an outline for each chapter, publish your results, collected guidelines, bibliography.
Writing Your Thesis
At this page, we provide some information necessary while writing a thesis. Basically, the same rules can be applied for any other scientific paperwork. We must admit that this information collected here is neither complete nor represents it a general rule set. Nevertheless, we try to keep it up-to-date and comprehensive. If you have comments or suggestions, please drop me a short note.
Presentation Templates
- The FAU provide templates for your presentations here
LaTeX Template
- We provide a template for your thesis: Download (new 27. July 2022) .
- Please try to stick with this layout.
General Rules and Hints
- How to write an abstract
- Motivation (Why do we care?)
- Problem statement (What problem are we trying to solve?)
- Approach (How did we go about it)
- Results (What’s the answer?)
- Conclusion (What are the implications of the answer?)
- Context: make sure to link where your work fits in
- Problem: gap in knowledge, too expensive, too slow, a deficiency, superseded technology
- Strategy: the way you will address the problem
- comment on employed hardware and software
- describe methods and techniques that build the basis of your work
- review related work(!)
- start with a theoretical approach
- describe the developed system/algorithm/method from a high-level point of view
- go ahead in presenting your developments in more detail
- whatever you have done, you must comment it, compare it to other systems, evaluate it
- usually, adequate graphs help to show the benefits of your approach
- caution: each result/graph must be discussed! what’s the reason for this peak or why have you ovserved this effect
- summarize again what your paper did, but now emphasize more the results, and comparisons
- write conclusions that can be drawn from the results found and the discussion presented in the paper
- future work (be very brief, explain what, but not much how)
- all papers and articles used in the thesis must be cited (and each reference must be used in the thesis!)
- a rough number is 20 references for a bachelor thesis and 30-40 for a master’s thesis
- avoid to cite web sites
- We highly recommend to use Endnote or BibTeX for creating the references and citings
- Further information: IEEE Rules , BibTeX
- Avoid passive voice, active voice is easier to read. There is nothing wrong saying I (or we) did it
- Avoid negative sentences: write in a positive (affirmative) voice, they are easier to understand.
- Always use vector graphics for figures (PDF, EPS, …)
- Did I spell out the main points of the interpretation of results?
- Are all equations, figures, tables numbered?
- Do all graphs, tables, diagrams have descriptive captions?
- Are all axes and scale carefully chosen to show the relevant effects?
- Are all axes labelled? Do the labals include the measurement units?
- Are citations in the caption (if a graph is borrowed)?
Further reading
- Some Advice on Writing a Technical Report
- Ein sehr schöner Überblicksartikel von Henning Schulzrinne zum Aufbau eines Papers.
- Advice on Research and Writing
- Computer Science Student Resource Site
- Computer Science
Please refer to the online Thesis and Dissertation Guide to verify the expected format for your manuscript.
Guide for Preparing a Thesis in LaTeX
Use the style files with caution. You must check that your final document follows the guide as described above. Please read the overview provided. The following is an example of a thesis which uses this format. This is the original thesis of Patrick Kahl as reformatted by Dr. Luc Longpré in accordance with the October 2006 Graduate School thesis and dissertation guide. It was updated in Spring 2008.
- “Solving Narrow-Interval Linear Equations Is NP-Hard” by Patrick Kahl (1996). Patrick’s thesis has many examples of LaTeX use for special symbols and definitions and theorems.
- Download LaTeX source files (zipped)
Thesis/Project Defense Tips
Typical questions that need to be answered during a thesis or project defense:
- What problem are you solving?
- Why is this problem important?
- Who else is working on this problem? on related research?
- What method have you used to solve this problem?
- Why did you choose this method? Is this method better than other methods?
- What was the most difficult part of your work?
- What are the remaining problems?
Connect With Us
The University of Texas at El Paso Department of Computer Science Chemistry & Computer Science Building, Room 3.1100 1801 Hawthorne St El Paso, Texas 79902
E: [email protected] P: (915) 747- 5480 F: (915) 747-5030
IMAGES
VIDEO
COMMENTS
Writing a computer science thesis is a considerable challenge for stu-dents. In this text, we give some tips and structure to write a great thesis. We will go over the research process in general, finding a topic, writing an expos´e, and thesis structure. At the end, we include some tips on researching and writing. 1 Introduction
This document is intended as a brief guide to students in Toronto Metropolitan University (TMU) Computer Science Masters and Doctoral programs who are at the stage in their studies where they need to report on the fruits of their labors— it is the written thesis.
Quick Guide to the M.Sc. Thesis. An acceptable M.Sc. thesis in Computer Science should attempt to satisfy one or more of the following criteria: Original research results are explained clearly and concisely. The thesis explains a novel exploratory implementation or a novel empirical study whose results will be of interest to the Computer ...
Writing a Bachelor Thesis in Computer Science. Siegfried Nijssen. Motivation. In a few weeks, you will be writing a thesis. Writing a text is not easy for many academics. Bad Academic Writing is a Problem. Differences between Areas. Mathematics. Differences between a Report and a Thesis. A report is written for.
How to Produce a Computer Science Thesis. Introduction. This document is intended as a brief guide to students in Ryerson University Computer Science Masters and Doctoral programs who are at the stage in their studies where they need to report on the fruits of their labors— it is the written thesis.
Senior Thesis A senior thesis is more than a big project write-up. It is documentation of an attempt to contribute to the general understanding of some problem of computer science, together with exposition that sets the work in the context of what has come before and what might follow.
A thesis/project/dissertation basically consists of four major parts: (1) pre-. text pages, (2) text, (3) appendices and (4) references/bibliography. (Some. theses, projects and dissertations may not require an appendix.) The list below. shows the pages in each part; not all are required, but when used the sequence.
Most theses in Computer Science consist of two distinct parts: (1) writing a significant program, and (2) writing a thesis that describes your program and why you wrote it. The intent of this document is to guide you in how to do these two things.
General Rules and Hints. The main document should be organized as follows. The ratio between the main sections (2.-4.) is 1/3 to 1/3 to 1/3! Regarding the size of the thesis, a rough measure might be 60-80 pages for a bachelor thesis and 80-90 for a master’s thesis.
Please refer to the online Thesis and Dissertation Guide to verify the expected format for your manuscript. Guide for Preparing a Thesis in LaTeX. Use the style files with caution. You must check that your final document follows the guide as described above. Please read the overview provided.