CS 702 Senior Thesis

CS 702 - Course Information

ProfessorChristopher Andrews
Office215 75 Shannon Street
Emailcandrews@middlebury.edu
Office hoursM 1:30p-3:30p, Th 2:30p-4:30p, F 1:30p-2:30p or by appointment
Websitehttp://go.middlebury.edu/cs702
Class meetingsWinter term: M-Th 9a-11a EST, Spring Term: MW 8:40-9:55a EST
Discussion forum

Course Objectives

At the completion of the course you should be able to:

  • Engage in independent computer science research
  • Communicate technical scientific ideas using various media and to various audiences
  • Participate in academic culture

Assessment

The CS faculty will determine thesis grades. Your work will be assessed based on a number of different factors. There will be a number of deliverables associated with these that will need to be handed in throughout the two semesters. The expectation is that you will turn material in by the stated deadlines. However, life happens, so you will have six grace days that you can use at any time. There is no need to ask permission to use these unless you want to use more than one on the same deadline.

Execution

A well-executed thesis consists of

  • A well-defined hypothesis of appropriate scope
  • Methods of investigating your hypothesis that demonstrate a deep understanding of the problem
  • Sufficient effort towards a result, regardless of eventual outcome
  • Independent work

Each of these sub-criteria contributes approximately 10% to your final grade. We discuss each of these points in a bit more detail.

Hypothesis

The thesis should answer a research question (which may not be the research question you initially sought to answer). A research question can be phrased in terms of a hypothesis, which is a statement that you plan to test, analyze, or investigate in order to determine whether it is true. Some examples:

  • By parallelizing all of the components of the XHMM algorithm with Apache Spark - and ADAM we can achieve a speedup over the existing implementation.
  • There is a quantum algorithm for directed st-connectivity that uses at most $O(n^- {3/2})$ queries on an $n$-vertex graph.
  • Commonly used iOS apps are at risk of fuzzing attacks via local ports.

The hypothesis you attempt to investigate should be challenging but feasible (i.e. not overly ambitious). Please consult closely with your advisor to choose an appropriate hypothesis. Execution is partly dependent on the scope of the hypothesis you investigate. Perfect execution of a simple project may not earn a better grade than imperfect execution of a more challenging project. But an impossible project will be exactly that, impossible to execute well.

Appropriate Methods

Methods will vary based on your topic. You should determine your methods through your reading of research in your subfield and/or in consultation with your advisor.

Sufficient Effort

You can't always predict the challenges you will face, and thus may not always be able to answer your research question in the time available. However you can demonstrate a thoughtful understanding of any limitations, and show creativity in your attempts to overcome those challenges. You can also show an ability to take past criticism into account in your future work. Your effort will be primarily assessed through weekly reflections, and the progress you make through your drafts. See reflection instructions.

Independent Work

The thesis is an independent project. It is not your advisor's role to give you a task list or a set of project deliverables. However, your advisor is a resource to provide advice as needed. One of your first tasks will be to discuss with your advisor how you plan to work together on this project.

Written Thesis

The final written thesis will be one of the key ways we assess your execution of the thesis. However, we are also assessing your ability to communicate technical scientific ideas in writing, which is the standard way of expressing a scientific result. This criteria deals with your ability to clearly and appropriately convey the work you did via writing. See these guidelines for more specific requirements and advice regarding writing.

Final Presentation

Another key way that scientific results are communicated is through talks. You will give a final short presentation that should distill the ideas of your thesis into a talk that is accessible to a 3rd year undergraduate Computer Science major. Your presentation should focus on the motivation for your project, the methods you employed, and the results you obtained. (It should not focus on background; you are not teaching a class!)

Poster

Another important way that scientific results are communicated is through posters and poster presentations. You will create a poster that is accessible to a 3rd year undergraduate Computer Science major. Your poster should focus on the motivation for your project, the methods you employed, and the results you obtained. (It should not focus on background!)

Participation

Deliverables (e.g. drafts, elevator pitches, responses to seminars, practice presentations) should be completed in a timely way and to any specifications. You are expected to attend any required live class sessions. You are expected to attend any computer science department seminars and MidddData seminars deemed relevant. (The seminar schedule will be posted on the course website as it becomes available.)

Honor Code

As you are all working on completely separate projects there are few opportunities for collaboration to go too far. However, you must remain vigilent to avoid plagerism. Note that the plagerism is not just copying other people's work directly, it includes misrepresenting their ideas as your own, and our honor code includes unintentional misrepresentation. Remember that in academic writing, we don't just cite direct quotatons (which happen relatively rarely), but also ideas. When in doubt, ask.

Accommodations for disabilities

Students who need accommodations due to a disability must have a Letter of Accommodation from the Disability Resource Center. Please contact one Jodi Litchfield (litchfie@middlebury.edu or 802.443.5936) for more information. Students with Letters of Accommodation are encouraged to make an appointment with me as soon as possible. All discussions will remain confidential.

Loaner Laptops

If you ever find yourself temporarily in need of a laptop, the Computer Science department has 10 rotating Dell laptops available to our students. These come pre-installed with software for most of the courses in the major. They are available to be loaned out short-term or long-term based on your need (as determined by you). Feel free to ask me ahead of time if you think you need one for just a class period, or you can send an e-mail to rlichenstein@middlebury.edu directly.

The college also provides laptops to those who need them where “need” is based on Student Financial Services calculations. If you anticipate needing a laptop for the whole term, we encourage you to inquire with Student Financial Services and the library first due to our smaller pool of equipment. However, our department commits to meeting the needs of every student, so do not be afraid to reach out if you believe you need one of our laptops for any length of time.