CS 702 Senior Thesis Spring 2018

Course Information

Course Homepage:
go/cs702 or http://www.cs.middlebury.edu/~schar/courses/cs702-s18/

Time and Place:
MWF 12:30-1:20 in MBH 632 (selected days only)

Daniel Scharstein
640A McCardell Bicentennial Hall

Office Hours:
MWF 1:30-2:30pm, Tue 10:30-noon, and by appointment

Course overview

The Senior Thesis in Computer Science gives majors the opportunity to explore in depth a topic in the field of computer science. This experience emphasizes some aspects of education not normally stressed in our regular courses: independent study, library research, organizing and internalizing a chunk of computer science, expository writing, and verbal presentation of material. Building on your work in CS 701, the senior thesis extends the capstone experience of the CS major. It is recommended for students considering graduate study. The senior thesis is also one of the requirements for high or highest departmental honors. You are encouraged to take a look at the senior theses from previous years, which are available on a bookshelf in MBH 632 and in the hallway display case across from MBH 640. Some compter science theses can also be found at go/scholarship. It is acceptable to choose a topic that has been covered in a thesis in the past.

In addition to writing the thesis, you are also expected to attend all CS seminar talks. There are usually 2-4 CS seminars during the semester, by CS faculty and/or outside speakers, and attending these talks will provide you a glimpse on a variety of topics in CS, many of which are beyond our course offerings. Most seminar events are scheduled during the lunch hour, and attendance is mandatory. I might assign a brief response paper for each seminar talk.

Attendance at all class meetings is also mandatory. In class we will discuss issues related to writing and orally presenting your thesis. At various points during the term, students will give brief progress reports and practice presentations on their topic.

The seminar schedule requires the student to make an early commitment to a particular topic and to begin work on that subject at the start of the term. The thesis should be your number-one priority for the term. In the second half of the semester, large blocks of your time will be devoted to writing your paper. You can eliminate some of the last-minute all-nighters and panicky final days by disciplined work in the first half of the term. Set a definite period of time each day that you will devote to your thesis. Arrange regular meetings with your adviser at least once a week.

The bibliography, thesis outline, and the first and second drafts will usually be evaluated and returned to the student by the thesis adviser within one week. The thesis adviser will read the final draft and indicate corrections that must be made before the polished final thesis is submitted. The evaluation of how well the course requirements were met will be considered by the department faculty in determining the final grade for the course.

Students sometimes experience difficulty in their first independent learning experience. The structure imposed on you in regular courses - classes meeting two or three times a week, daily homework, scheduled examinations - makes it somewhat easier for you to organize your time and to discipline yourself to meet deadlines. Some of that structure is (deliberately) missing from the senior seminar. You will have to take more initiative in organizing your schedule to complete the work on your thesis.

Thesis expectations

Theses that earn good grades have some of the following qualities in common:
  1. Well presented. The thesis should have a minimum of typographical errors and misspelled words and be neat and evenly spaced. Take the time to run a spell checker and to proofread. Spelling and grammar do count. Have a friend proofread it for you; new eyes will see mistakes you've missed. Even if the content is great, you won't get a top grade unless it is also presented in a readable, comprehensible manner.

  2. Relatively difficult computer science content. You must learn something new, something you did not see in a class, and something with substance. The work does not have to be very broad, but it should be somewhat deep. One option is to take a narrow topic and learn a lot about it. You should understand the topic and be able to explain it in your own words.

  3. Independent work. You should do most of the learning on your own. Read the material; try to work through algorithms, analyses, and proofs by yourself. Feel free to ask questions of your adviser, but do not expect your adviser to present the material to you. If you get stuck, it is perfectly acceptable to ask for hints or for you and your adviser to work through a problem together. Ideally you should combine material from several sources and draw your own conclusions or arrange the material in an original way.

    For example, you might pose a problem. Then you could try to work out your own solution or find several different solutions from several different sources. You might discuss their similarities and differences: Do they use different areas of computer science? Can you draw your own illustrations or examples of these methods? Insert some of yourself into your thesis - your opinions, your arrangement of material, your implementation, your own analyses or proofs, and your own figures.

  4. Correctness (or accountability). Check your definitions; be sure that your analyses are correct and that your arguments make sense to you. Can you explain them in your own words? Be very careful that you're not just mimicking someone else's work and that you really do understand the words you are using.

    There is a fine line here between doing your own work and plagiarizing someone else's (see also the last section on this handout). Any material taken from a source, whether verbatim or paraphrased, must include a citation. If you copy an entire sentence word for word you must use quotation marks to indicate that it is not your own writing – otherwise it is plagiarism, even if you include a citation. Using well-established definitions from the literature is not plagiarism, but again you must acknowledge your source. It is not acceptable to string together paragraph after paragraph of quoted material. You should be doing most of the writing yourself, using quotations to support a point. For the expository parts of your thesis, gather the information and then express the ideas in your own worlds. The definitions can be quoted. The analyses or proofs should be, as much as possible, your own. When it comes time to write up your thesis, you should try, as much as possible, to express the ideas in your own words.

  5. Parts completed on schedule. This means not only meeting all intermediate deadlines, but also holding regular (usually weekly) meetings with your adviser. The thesis is not meant to be a last minute, night-before project. It is meant to be a semester-long research project. Get each part done on time! Get regular feedback from your adviser. You will need the time available to absorb and understand the difficult concepts. It you understand all of the ideas the first time through, then your problem (project, topic) may not be hard enough.

Poster and oral presentation

As we approach the end of the term, you will have two substantial tasks in addition to completing your written thesis. The first task is to prepare a poster summarizing your thesis work. You can see some examples of posters on the walls of the MBH 632 lab and in the hallways near the computer science faculty offices. A little before graduation in the spring, the computer science department will hold a reception for students and their families, and at that time we will display the thesis posters of all graduating students.

The second task is to prepare and present an oral presentation of your thesis. The presentations will be scheduled during the last weeks of class, and you are encouraged to invite friends, family and other guests to attend.


The entire CS faculty will determine your grade by assessing your overall performance in this course. Your grade will be based primarily (70%) on the quality of your written thesis, and secondarily (30%) on your performance in the other parts of the course. This includes attendance at talks and class meetings (10%); meeting intermediate deadlines, drafts, and progress reports (10%); and poster and public oral presentation at the end of the term (10%).

Honor Code

The relevant Middlebury College Handbook language on plagiarism is as follows:
As an academic community devoted to the life of the mind, Middlebury College requires of every student complete intellectual honesty in the preparation of all assigned academic work.

Plagiarism is a violation of intellectual honesty. Plagiarism is passing off another person's work as one's own. It is taking and presenting as one's own the ideas, research, writings, creations, or inventions of another. It makes no difference whether the source is a student or a professional in some field. For example, in written work, whenever as much as a sentence or key phrase is taken from the work of another without specific citation of the source, the issue of plagiarism arises.

Paraphrasing is the close restatement of another's idea using approximately the language of the original. Paraphrasing without acknowledgment of authorship is also plagiarism and is as serious a violation as an unacknowledged quotation.

The individual student is responsible for ensuring that his or her work does not involve plagiarism. Ignorance of the nature of plagiarism or of College rules may not be offered as a mitigating circumstance.

As many theses in our department involve restatements of known algorithms, theorems and proofs, the question of plagiarism may be relevant to you. Your thesis adviser will be able to answer any questions you may have about this subject. It is your responsibility to consult with him or her.