Departmental Honors Projects in Computer Science

Formally, a student receiving Honors in Computer Science satisfies the following list of requirements:

  • The student has taken at least four courses beyond CPS 111 with a departmental grade point average of at least 22/7 (a widely used approximation of pi).

  • The student is in good standing with the Computer Science department.

  • The student can articulate a compelling argument for why a commitment to the honors process is advantageous or necessary.

  • The student completes a high-quality independent study project, under the guidance of a faculty advisor, and successfully defends this project in an oral defense.

  • The student writes and submits a comprehensive, scientific thesis describing the project and any results obtained.

Honors in Computer Science is reserved for outstanding F&M students in the Computer Science department.  In order for an independent study project to be considered “high-quality”, and rise to the occasion of honors, it generally must exhibit one or more of the following attributes:

  • The project marks a substantial contribution to the research program of the advisor.

  • The project demonstrates intellectual novelty in an area of CS research, and may be worthy of submission (not necessarily publication!) to a peer-reviewed venue.

  • The project shows a deep understanding of advanced computer science topic(s).

  • The project contributes to the larger computer science community (e.g., making substantial contributions to an existing open source project).

The timeline for honors in Computer Science is two semesters, typically culminating in the student’s final semester before graduating.  In the first semester the student should establish a faculty advisor, outline the goals of their project, and write a proposal.  The student’s proposal should be a 2 - 5 page document, which includes:

  • A title for the project.

  • A summary of the core concept(s) of the project.

  • The names and professional titles of the advisor, 3-5 committee members, and the student’s own name.

  • A compelling argument as to why honors in Computer Science is necessary or advantageous for the student or beneficial to the CS department.

  • A thorough description of the project including background, core concepts / ideas, and long-term objectives.

  • Any pre-existing work, or preliminary results demonstrating the likely success of the project.

  • Any related work or reference material(s) to be used.

  • An explicit explanation of how the completed project will prove to be “high-quality” as it is defined above.

  • A calendar outlining the important dates for milestones in the project as well as logistical items such as the likely date of the oral defense, and the date(s) on which the thesis will be distributed to the committee members.

When selecting committee members, the student should ask potential members individually and should provide the 2-5 page proposal.  Committee members should be capable of discerning the quality of the intellectual contributions of the project.  A majority of the committee members must be F&M CS faculty members, and there must be at least one “outside” member who is not an F&M CS faculty member.  Outside committee members may be any respected individual(s) working in a profession/field strongly related to the proposed project.

Before the last day of the semester, the student should submit the finished proposal to the chair of the Computer Science department to be considered for the honors program.  The Computer Science department should deliberate on the submitted request document, and ultimately approve or deny the request before the beginning of the second semester.

On or before the tenth week of the second semester, the student and faculty advisor should establish an exact date for the oral defense, which should occur before the final day of the final exam period.  All committee members should be ready and willing to be present for the oral defense.

Approximately three weeks before the date of the defense, the student should distribute a polished draft of the thesis to each member of the committee and to the advisor.  The student should encourage the committee members to return comments on the thesis, which they must do at least one week before the oral defense. 

Prior to the last day of classes of the second semester, the Computer Science department should inform the Registrar’s Office of all students who are attempting honors in Computer Science.

Approximately ten days before the date of the defense, the student should post announcements for the oral defense.  The defense should be open to the general Franklin & Marshall community.  

At any point before the oral defense, the project may be rescinded by the student without penalty.  Additionally, if the members of the department have any concerns regarding the student attempting honors (before the oral defense), then those points should be raised at a department meeting.  

Should the student successfully pass the oral defense (receiving a vote of “yes” by a majority of the committee members), then the student has earned Honors in the Computer Science department.  The student should supply a final version of the thesis, along with an honors thesis consent form, to the committee members and to the CS department chair.  The chair forwards these documents to the College Archives and notifies the Registrar’s Office by the end of finals week.


The Defense Format:

The student and the advisor should agree on the level of the sophistication required of the audience. A good method is to suggest that the talk should be accessible to the audience members who have taken up through a given F&M Computer Science course.

A typical defense consists of three parts and lasts approximately 60 minutes in total.

  1. A very brief introduction by the advisor (2 minutes).

  2. The main presentation by the student on his/her project. This presentation should include the goals, concepts, and results from the project.  It constitutes the majority of the oral defense (50 minutes).

  3. A period for general audience question and answer (5 - 7 minutes).

After the general question period finishes, everyone leaves except for the committee members, the student, and the advisor. The committee members then ask the student questions regarding the thesis for as long as necessary. (Note that according to the catalog, the entire process can take at most two hours.)  Questions should be directed to, and answered by, the student primarily at this time.

After the committee-student question period is over, the committee members ask the student to leave, and then the committee may ask questions of the advisor. After this, the advisor leaves the room and the committee deliberates and determines whether the thesis and the defense deserve departmental honors (a majority vote constitutes a yes). The committee informs the advisor who then informs the student of the final recommendation.


The Written Thesis Format:

The student is required to write a detailed 5 - 20 page thesis paper describing the project and any results obtained.  The paper should be professionally finished; free of spelling and grammatical errors, readable and understandable by a competent Computer Science major.  The layout and contents should follow roughly that of an academic CS research paper with similar sections, content, diagrams, figures, charts, etc.  It should include the following specifically:

  • Title

  • Student’s anticipated date of graduation

  • Date thesis was submitted.

  • Date of oral defense.

  • The full contents of the student’s approved  honors request (submitted in the prior semester).

  • Thorough and comprehensive presentation of the concepts, methods, and results of the project.

  • Related work, and supplementary materials (if any).


Examples of Past Honors Thesis within the Computer Science Department:



Daniel Foley, Model-Based Reinforcement Learning in Atari 2600 Games, with Professor Erin Talvitie (currently at Harvey Mudd College)


Yitao LiangRepresentations and Control in Atari Games Using Reinforcement Learning, with Prof. Erin Talvitie (currently at Harvey Mudd College)


Nabin Tiwari, A New Backward-Compatible Web Transport, with Prof. Janardhan Iyengar (currently in research)