Honors in Computer Science

About the honors thesis

The Computer Science Department offers its majors the opportunity to pursue independent research in computer science. It is a chance to study an area in more depth than is usually available through regular course work, to work at the cutting edge of the field, and to have control over one’s program of study, under the guidance of a faculty member.

Although various considerations come into play when the department considers granting the degree with Honors to a student, the one that is of greatest importance is the student’s thesis. The thesis is usually the culmination of a year’s concentrated study in a particular area. The thesis is meant to be a significant piece of written work, including an analysis and review of the literature concerning the problem examined, a discussion of all original work and the solutions devised, and a description of the work remaining to be done. Due to the nature of the field, honors work in computer science generally includes the development of a significant software package.

Pursuing an honors thesis

Students who are interested in honors work should consult with their departmental advisor as soon as possible, preferably when declaring the major, so that their course work can be planned so as not to create conflicts during their senior year. During Winter Study or the spring semester of their junior year, students typically consult with the members of the department in order to find a match of interests. (A list of current faculty members and their research interests can be found at the end of this document.) During the process of finding an appropriate match, the department requires submission of a research application (please read the application and make note of the submission deadline). Once such a match is found and agreed to by both parties, the student registers for CSCI 493-W031-494, Senior Honors Project. It is often possible for the student to work with the faculty member as a research assistant during the summer on a project leading to the thesis work, but this is not required.

Timeline of thesis work

Formal work on the thesis begins during the fall semester. The early weeks generally involve fleshing out the problems to be solved and searching through the literature determining what is already known. A one-page description of the thesis project is due in early November. As the semester progresses the work becomes more focused as student and advisor map out a plan and the student begins work on the problem. Before the end of the fall semester, the student and advisor will select a second reader for the thesis. Although the entire department will convene to discuss the work when it is time to grant Honors, it is the second reader’s job to help guarantee that the thesis itself is of high quality. By the end of the fall semester the student will submit a chapter on the background of the thesis work (detailing previous work in the area) to the advisor and second reader to be critiqued.

Winter Study is a crucial time for honors students. With no other courses to place demands on the student, the month of January should be the most productive month of the year. Most (though not necessarily all) of the research work should be finished during this time. If the honors work involves the development of a significant software package, then that work should also be completed by the end of the Winter Study period. The student should also have written up a chapter on the thesis goals and submitted it to both readers for feedback. This paper will generally become the introduction of the thesis.

At the beginning of the spring semester, several important events occur. The first is the decision of the department as to whether the student will be admitted into candidacy for Honors. Admission is contingent upon the department being convinced that the work thus far has been of high quality and that the student can reasonably be expected to complete the remaining requirements. (If the student is not admitted to candidacy, the fall semester and Winter Study courses revert to independent study courses and the student takes some course other than CSCI 494 to round out his or her schedule.) The second event is that the student will give an oral presentation of the work completed at a department colloquium. This talk must have been presented at least two weeks before Spring Break. Sometime before the break, the student should discuss an outline of the thesis with his or her advisors, submitting it to both readers for approval.

By the end of Spring Break, the actual writing of the thesis should be well underway. As each chapter of the thesis is completed, the student will give it to both readers who will examine it, make comments and discuss them with the student. By the end of April the student should give a complete draft of the entire thesis (with illustrations and bibliographic references included) to the readers. The readers will comment and provide feedback to the student within a week. The student will then make appropriate revisions, handing in a completed copy of the thesis by the Thursday before the end of classes. Since the entire department must have a chance to examine the thesis before the defense, the defense will be scheduled for a few days later. Under no circumstances, however, will it be scheduled after the last day of reading period.

A detailed timeline for the current academic year can be found below.

Thesis defense

The thesis defense is consists of a roughly half-hour public presentation. The purpose is to present the findings of one’s yearlong research work to the Computer Science department.  Presentations are followed by a short question and answer session with the faculty and other audience members in attendance. After the defense, the CS department meets and discusses whether the student’s performance throughout the year merits Honors, Highest Honors, or no particular distinction. The student is informed of the department’s decision shortly thereafter. On occasion, the student may be informed that they will receive Honors contingent on making certain revisions in the thesis.

Deciding to pursue thesis work

The decision to pursue honors work should be made with care. The benefits are the opportunity to work one-on-one with a faculty member, to explore a problem in depth, and to engage in the type of scholarship necessary to succeed in post-graduate work. One cost is that two courses are taken up by this activity. Also, the Winter Study period, which for many students is the least pressured time during the school year, becomes a time of hard work and dedication to the honors project. We encourage you to talk to various members of the department as well as current honors students about honors work. To help you, we have included two lists below. The first is a list of department members and a brief description of the areas they work in. Individual projects may vary greatly from this list, though, so we encourage you to discuss your interests with several members of the department. You should have such discussion before the registration period in the spring of your junior year.

Computer Science faculty and their research interests

Jeannie Albrecht: The design and performance of distributed systems and computer networks, particularly focusing on reliability, scalability, and extensibility achieved over the wide-area.

Dan Barowy: The application of programming language technology to emerging domains, such as crowdsourcing and data analysis.

James Bern: Soft and rigid robots, computational design, numerical simulation, computer graphics, toys and games, and robotic art.

Rohit Bhattacharya: Causal inference, graphical models, missing data, and oncogenomics.

Stephen Freund: Design and implementation of programming languages and virtual machines, type based program analysis, verification of multithreaded programs, programming environments and tools.

Mark Hopkins: Machine learning, machine translation, automated question answering, computational typology.

Iris Howley: The intersection of human-computer interaction and the learning sciences, rethinking social interactive elements of online learning environments, text mining to support student discussion & critical thinking, and the visualization of student progress data.

Bill Jannen: Design and analysis of file systems, media-specific optimizations for storage, data structures, write optimization

Katie Keith: Natural language processing, computational social science, machine learning, causal inference, data science.

Samuel McCauley: Algorithms and data structures, hashing and randomization, similarity search, I/O efficient algorithms, scheduling

Kelly Shaw: Parallel architectures, including heterogeneous architectures, Internet of Things, particularly with respect to data consistency correctness, memory systems, workload characterization of emerging applications

Shikha Singh: Algorithmic Game Theory, algorithms & data Structures, combinatorial optimization, complexity theory

Aaron Williams: Algorithms, combinatorics, computational complexity, puzzles and games, history of video games

Deadlines for honors work, 2023-2024 academic year

All students pursuing honors work in Computer Science are required to complete this form. Please read the form in full, and make sure you understand all deadlines and signature requirements. If you have any questions, speak to your advisor.

This form will be maintained by the administrative assistant, Lauren Vining. At the time signatures are due, pick-up the form from Lauren. Once you have both signatures for a particular deadline, return the form to Lauren and she will keep it on file until the next time signatures are required.

November 3, 2023: Brief (one page) description of thesis project due to department.

December 08, 2023: Fall classes end. A written problem statement and background of thesis work (i.e. history of the problem, etc.) due to advisor.  A preliminary department decision on approval to pursue an honors thesis will be determined before the start of the Winter Study Period.

January 26, 2024: Winter Study Period ends. Software development and/or original research should be largely completed. Chapter on thesis goals is due to advisor and second reader.

Early February, 2024: During regularly scheduled colloquia, students give their proposal talks.  The final department decision on admission of students to candidacy for Honors occurs around this time.

February 29, 2024: Outline of thesis due to both readers.

April, 2024: Individual chapters must be given to both readers throughout this month.

April 26, 2024: Entire thesis, including figures and bibliographic references, due to both readers. For thesis formatting purposes, here is a thesis template that conforms to Williams College rules and standards.

May 10, 2024: Revised, final copy of thesis due to department (three copies: one for each reader and one for department as a whole). Revisions should respond to comments by both readers.

May 13, 2024: Tentative defense date.

May 20, 2024: Last Day of Final Exams. Thesis due to library.