Harvard SEAS logo

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 cs-undergrads@seas.harvard.edu 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 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.

Thesis Readers

Three readers evaluate the thesis. The first reader is the thesis supervisor. The second and third readers are recommended by the student and supervisor. Thesis readers are ordinarily teaching faculty members of the Faculty of Arts and Sciences or SEAS who are generally familiar with the research area. At least one of the readers must be a CS faculty member. You are responsible for securing the agreement of the readers. Exceptions to this requirement must be approved by the Director of Undergraduate Studies.


The thesis should contain an informative abstract separate from the body of the thesis.  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!

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 2020 graduates is November 15, 2019 and the thesis deadline for May 2020 graduates is March 27, 2020.)

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. 

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. 

A tentative thesis title approved by the thesis supervisor should be submitted to the Office of Academic Programs.

Early February
The student should provide the name and contact information to the SAO for the readers (see below), together with assurance that they have agreed to serve. 

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 27, 2020
Thesis is due by 4:00 pm. Electronic copies in PDF format should be delivered by the student to all three readers and to cs-submit@seas.harvard.edu (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. 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.

Late May 
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.

Thesis Examples

Thesis examples can be found on the Harvard DASH (Digital Access to Scholarship at Harvard) repository 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


InProv: Visualizing Provenance Graphs with Radial Layouts and Time-Based Hierarchical Grouping

  • Madelaine D. Boyd, Advisors: Hanspeter Pfister And Margo Seltzer

Beyond Elite Control: Water Management at Caracol, Belize

  • Adrian Sylvanus Zaino Chase, Advisors: Bill Fash (Anthropology) and Harry Lewis (Computer Science)

Elm: Concurrent FRP for Functional GUIs

  • Evan Czaplicki, Advisor: Stephen Chong

Motivating Software-Driven Current Balancing in Flexible Voltage-Stacked Multicore Processors

  • Svilen Kanev, Advisors: David M. Brooks and Gu-Yeon Wei

SX10: A Language for Parallel Programming with Information Security

  • Stefan Muller, Advisor: Steve Chong

Primes in Arbitrarily Long Arithmetic Progression

  • Zhuo (Aubrey) Yang, Advisors: Yum-Tong Siu and Leslie G. Valiant


Detecting Junctions in Photographs of Objects

  • Hyunho Richard Lee, Adviser: Todd Zickler

Optimal Envy-Free Cake-Cutting

  • Yuga Cohler, Advisers: David Parkes, John Lai, and Ariel Procaccia

Move Ranking and Evaluation in the Game of Arimaa

  • David Jian Wu, Adviser: David Parkes

Designing Incentive Compatible Payment Rules for Combinatorial Auctions with Structural SVMs

  • Pichayut Jirapinyo, Adviser: David Parkes

RABID: Random Auctions for Bandwidth in Internet Devices

  • Jeremy D. Hoon, Adviser: David Parkes