Every year a few computer-science majors choose to go beyond the
normal major and enter our Honors Program. Honors students engage in
independent work culminating in the writing of a senior thesis, and
are considered for graduation with honors in the major. The
experience of participating in an independent research project and of
writing a senior thesis can be particularly important for anyone who
intends to study for the Ph.D. degree in computer science.
For completion of the Honors Program in Computer Science, and to be
eligible to graduate with Honors or High Honors, a student must
complete either an independent study project or a written thesis (for
High Honors the thesis is required), and have his or her program of
study approved as an Honors Program by the Undergraduate Advisor. In
addition, the recommendation of the thesis/project advisor to award
honors or high honors must be ratified by a Departmental vote. An
honors project is undertaken by a student under the guidance of a
faculty member. Usually the subject of the project or thesis will be
motivated by the concepts or content of an advanced course taken as a
part of the student's major. Honors projects and theses are normally
completed over a period of two or three terms. A variety of
activities, such as participation in a department seminar, can lead to
a project or thesis. Student suggestions for both projects and theses
are welcome. The student should consult with his/her prospective
project advisor and submit to the Undergraduate Advisor a brief
written proposal of the project that has the written approval of the
project advisor. The Undergraduate Advisor will review the student's
proposal and the courses that have been selected for the Honors major.
Approval of the proposal and course selection will constitute formal
admission into the Honors Program. This procedure should be completed
before the end of fall term, senior year. The student may then
register for (at most two terms of) Computer Science 97, Undergraduate
Admission to the Honors Program requires a general College average of
B, and a B average in the major at the time of admission and at the
time of graduation. Moreover, a B+ average is required in the work of
the Honors project/thesis. The B average in the major is determined
as follows: Courses prerequisite to the major are not counted, but all
other courses used as part of the major are counted, as are all
courses titled Computer Science (beyond prerequisites, excluding 97),
including courses cross-listed with Computer Science. Note that in
the case of modified majors, courses used as part of the major may
include courses from other departments. The B+ average required in
the work of the Honors program is defined to be a grade of B+ given by
the thesis/project advisor on the thesis or project. Questions about
this requirement should be addressed to the Departmental Undergraduate
To receive Honors, the student must complete an independent study
project or thesis, demonstrating "work that is clearly greater in
depth and scope than that expected in the normal major program."
To receive High Honors, the student must write a thesis.
There are three additional requirements beyond those for Honors:
The student must demonstrate substantial independence in
The quality of the work should be close to something
publishable in a refereed forum. Interpret this requirement
If the project is primarily a written thesis, then it should
be close to the quality expected in a refereed conference or
journal. If the project is primarily a software or hardware
artifact (in which case the thesis would for the most part
be an exposition of the artifact), then it should be of
sufficient quality that people would actually use it.
The student must publicly present the thesis, as follows.
The student and advisor form a committee of three
Computer Science faculty, one of which is the advisor.
In the final two weeks of the term, the student must make a
formal public presentation of their work, with their committee in
In all cases, the advisor (and committee, if relevant), recommends
honors, high honors, or no honors, to the department faculty, who make
the ultimate decision.
If you have any questions about the Undergraduate Program, contact the
Advisor to Undergraduate Students.
You can fill out this form from within Adobe Acrobat.
Type into the following fields: Last name, First name, Middle
initial, Class, HB, Thesis advisor, Thesis title, and all Course
fields that apply. If the thesis title does not fit on the first
line, use the additional lines.
Select the appropriate grade for each course. When you click
elsewhere, the GPA field will be computed automatically and
Print out the filled-in form when you are done. You will need
to sign the hardcopy, as will your thesis advisor, before you
give it to the Advisor to Undergraduate Students.
Handing In Your Honors Thesis
CS honors theses are due at 9:00 AM the day of the CS faculty meeting
at which honors are decided. The CS Undergraduate Advisor will
announce this date to the CS honors thesis students each year as soon
as this date is determined.
An advisor has the right to require the thesis to be handed in
to her or him in advance of the department's
deadline. (For example, the advisor might require the thesis
to be handed in to her or him before the public presentation, if the
student is going for high honors.) The actual deadline, therefore, is
the earlier of two times: whenever the advisor requires the thesis to
be handed in, and 9:00 AM the day of the CS faculty meeting.
No extensions beyond 9:00 AM the day of the CS faculty meeting are
ever possible. Never. Nunca. Won't happen. Don't even think about
Your thesis should be archival quality. In other words, it
should be good enough that we will archive it as a Dartmouth College
Computer Science Technical Report. A copy of your thesis will be sent
to the Dartmouth College Library for archiving. Although you are not
absolutely required to make your thesis a tech report, we prefer that
Follow these steps to make your thesis a tech report:
Have your advisor get a TR number from the CS office. Our TR
numbers are now of the form TRYYYY-XXX, where YYYY is the year
and XXX is a 3-digit number. Allow a couple of days for this
step, just in case.
When you produce your thesis, make sure that it has the
An abstract, which is a relatively short (1-4
paragraphs) summary of the main results of your thesis.
Your advisor's name.
The TR number appearing above the title, in the form
Dartmouth College Computer Science Technical
Produce a PostScript file containing your entire thesis. It
should print out perfectly on our department laser printers.
It is easy to produce PostScript if using a Mac (with the latest
LaserWriter driver) or if using LaTeX on a UNIX box (using the
Make a copy of
TR release form, fill in the copy with the information that
applies to your thesis, and email it to the Undergraduate
Advisor by the deadline.
Recent honors projects
Some of the senior theses completed in the past few years are listed
Alexander Barsamian, 2004 (Smith)
Compartmentalization and Attestation Using SELinux and