Senior Thesis

Undergraduate Thesis

Undergraduate students have the option to complete a senior thesis as a part of their undergraduate degree. The senior thesis is more than a big project write-up. It is documentation of an attempt to contribute new knowledge 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, some are in-depth literature reviews, some do more than one of these things, and so on. 

If you are planning to complete a senior thesis, please fill out the Computer Science Undergraduate Thesis Registration form no later than Fall of senior year. This allows us to keep you updated on the senior thesis timelines, notify you of relevant events, send you instructions on submitting your thesis, and so on.

Undergraduate Honors (is an honors with thesis)

The undergraduate thesis will unify, for both McCormick and Weinberg students, what it means for students to achieve departmental honors in computer science. To be awarded honors, students must meet McCormick or Weinberg’s respective GPA and other requirements, and have submitted a thesis that is accepted by their thesis readers. While we expect many students who complete senior theses to be awarded honors, achieving honors is not a requirement for writing a senior thesis.

Undergraduate Thesis Requires a Faculty Thesis Supervisor

Senior thesis projects generally emerge from collaboration with faculty. Normally this is a Computer Science faculty member (either core or courtesy). Exceptions to the requirement that the thesis supervisor is a CS faculty member must be approved by the CS Undergraduate Research Committee. 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 encourage 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, Winter, and Spring, and to agree on deadlines for initial results, chapter outlines, drafts, etc.

Students working towards a senior thesis may enroll in a senior thesis section of CS 399 in their junior or senior year, under the supervision of their research advisor. CS 399 provides students with time in their curriculum for independent research and thesis writing. Up to four quarters of enrollment in CS 399 (for senior thesis or otherwise) can be used towards meeting the technical elective; students can enroll in 399 for additional quarters for course credit as needed.

Thesis is Evaluated by the Thesis Readers 

Thesis readers must be either: (A) two Northwestern CS faculty members (core or courtesy); or (B) three readers, at least one of whom is a Northwestern CS faculty member and the others are ordinarily faculty members of Weinberg or McCormick who are generally familiar with the research area. The thesis supervisor is one of the readers. The student is responsible for finding the other reader(s), but you can talk with your supervisor for suggestions of possible readers. Exceptions to these thesis reader requirements must be approved by the CS Undergraduate Research Committee. 

Thesis Should be Formatted for a General Scientific Audience

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 contains an “Our contributions” section which explains exactly what the thesis contributed, and which sections in the thesis these are elaborated on.

Acceptance of Theses is Determined by the Readers

Acceptance decisions are recorded by a staff member and passed on to the Committee on Undergraduate Studies in Computer Science for determinations of honors (i.e., checking that the student meets the GPA requirement beyond having an accepted thesis; note again that students can still complete a senior thesis, regardless of honors).

Thesis Timeline

While individual circumstances will vary, we generally expect students to begin work towards their thesis by the middle of their junior year, and for this work to continue well into senior year. Students should work with their faculty thesis advisor to identify potential readers early (e.g., during the Fall of senior year); this avoids a last-minute rush to find readers, and can help to provide other points of support and feedback during the thesis writing process.

The final version of the thesis must be turned in by April 15th for committee review. The thesis readers will have about a month and a half to complete their read (complete before Memorial Day), and for the committee on undergraduate studies to confer honors.

Thesis Reception and Award

We will organize a senior thesis presentation and reception late in Spring quarter to celebrate the seniors who wrote senior theses. We encourage all senior thesis writers to present so we can properly celebrate your work! We will also select one or more undergraduate senior theses for an award.

Accepted theses will be published as technical reports on the CS website. Instructions here.