Thesis Guide

Senior Theses in Computer Science

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. 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. The CS91r form is online. 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.

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 Timeline for Seniors


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. 

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 31

Thesis is due by 4:00 pm. Electronic copies in PDF format should be delivered by the student to all three readers and to (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 and will use it to print a physical copy of the thesis to be deposited in the Harvard University Archives. 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 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, who should ensure that the proposed readers have agreed to serve.  The readers must be approved by the Director of Undergraduate Studies. The second and third readers are ordinarily teaching members of the Faculty of Arts and Sciences generally familiar with the research area, but might also be members of other Faculties or comparable professionals (not graduate students, ordinarily).


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 Examples

The most recent 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