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@example.com 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.
You need a thesis supervisor. Normally this is a Computer Science faculty member. Joint concentrators (and, in some cases, non-joint concentrators) might have a FAS Faculty member from a different field as their thesis supervisor. Exceptions to the requirement that the thesis supervisor is a CS or FAS faculty member must be approved by the Director of Undergraduate Studies. For students whose advisor is not a CS faculty member, note that at least one of your thesis readers must be a CS faculty member, and we enourage you to talk with this faculty member regularly to help ensure that your thesis is appropriately relevant for 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.
The thesis is evaluated by the thesis readers. Thesis readers must be either:
Two Harvard CS faculty members/affiliates; or:
Three readers, at least one of whom is a Harvard CS faculty member and the others are ordinarily teaching faculty members of the Faculty of Arts and Sciences or SEAS who are generally familiar with the research area.
The thesis supervisor is one of the readers.
The student is responsible for finding the other 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.
Computer Science does not have a Senior Thesis seminar course.
However, we do run an informal optional series of Senior Thesis meetings in the Fall to help with the thesis writing process, focused on topics such as technical writing tips, work-shopping your senior thesis story, structure of your thesis, and more. Pay attention to your email in the Fall for announcements about this series of meetings.
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.
(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 2021 graduates is November 20, 2020. The thesis deadline for May 2021 graduates is to be determined depending on when the semester starts, but no earlier than Friday March 26th.
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.
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. For May 2021 degree candidates, please fill out this form.
A tentative thesis title approved by the thesis supervisor should be submitted to the Office of Academic Programs.
The student should provide the name and contact information for the readers (see below), together with assurance that they have agreed to serve. For May 2021 degree candidates, please fill out this form.
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 26, 2021
Thesis is due by 4:00 pm. Electronic copies in PDF format should be delivered by the student to all three readers and to firstname.lastname@example.org (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 [updated link forthcoming] 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. More information can be found on the SEAS Senior Thesis Submission page.
The three readers will receive a rating sheet to be returned to the Office of Academic Programs before the beginning of the Reading Period, together with their copy of the thesis and any remarks to be transmitted to the student.
The student may pick up the reader’s comments and thesis copies from the Office of Academic Programs, after the degree meeting to decide honors recommendations.
Recent thesis examples can be found on the Harvard DASH (Digital Access to Scholarship at Harvard) repository here.