CMSC 399: Senior Seminar

IMPORTANT SCHEDULING/ACADEMIC CREDIT NOTE:
This course is listed in the course guide for both fall and spring as
1.0 credit,
but note that this is one year-long one-credit course.
You do not get one credit each for fall and spring;
the total academic credit for CMSC 399 (Senior seminar and thesis) is 1.0.

Instructors:
All Computer Science instructors, occasionally others.

Semester & Year:
Annually, all year long (for one credit total for the year).

Schedule:
See BiONiC course schedule.

Prerequisites:
This course is open to seniors in good standing who have declared a major in Computer Science.

Brief Description:
Senior work, undertaken under the guidance of a faculty member,
on a topic chosen by the student and advisor.
Students may wish to start by looking at the thesis advising topics documents
posted by faculty [
Dougherty/
Friedler/
Lindell/
Wonnacott
] and/or contact Haverford faculty about topics not on these lists.
Selection of the proper topic is one of the most important steps
of the thesis process;
a good topic will be of interest to both the student and advisor.

Requirements:
The work culminates in the writing and oral presentation of a paper.
The student must also demonstrate the research skills required to produce this paper,
in accordance with departmental deadlines (below).

Details and Deadlines:
An undergraduate senior paper will not typically include original research,
but instead present an in-depth exploration of the topic in computer science.
The paper should demonstrates the student's ability to apply, in a new context,
the fundamental themes that connect all CS classes, such as:

separating the problem definition from its solution

describing clearly a proposed solution (typically with examples)

understanding the correctness and applicability of a proposed solution

It is common for the paper to center on a particular algorithm or computing system,
and present the correctness and/or computational complexity thereof.
However, this is not required:
students have successfully pursued other topics,
such as human-computer interaction.
The one core requirement is that the student demonstrate the
ability to think deeply and communicate clearly
about a computer science topic.
Overview of deadlines:

In the second week of classes:
Submit a list of possible thesis topics, with advisor listed by each one,
and sorted with the most-interesting-to-you-first.
You may list a topic with an advisor from another institution
if that advisor has sent an email to the faculty member running CMSC399.
Please include a "primary research" topic of at least two faculty members somewhere on your list,
as we are limited in our ability to serve a wide variety of "exploratory" topics.

Before fall break:(detail)
Identify preliminary reading list, once you have your advisor and topic;
in the week before break,
give a mini-presentation (about 10 minutes) about the topic
you are investigating and references you have found.

Monday of week 10 of the fall semester:(detail)
Topic proposal and reading list.

By the end of fall semester classes:(detail)
Detailed chapter outline (email'ed to your advisor and department chair)
and a complete written draft of the "introduction" and "related work" chapters
(submitted to your advisor).
Your advisor will provide detailed feedback on these documents,
and also clearly state whether these documents by themselves meet the standard
for a 2.0 for the written component of your senior thesis.

In the week after spring break:(detail)
A semi-final draft (submitted to your advisor).
This draft should include all of the content for all sections,
but it need not be polished.

In week 11 of the spring semester:(detail)
Submit the completed senior thesis document as a PDF file sent to your advisor
and the faculty member running CMSC 399.

As scheduled by the department:(detail)
Give an oral presentation of your work.
Submit copies of your abstract for the book of senior thesis abstracts,
and the abstract and full thesis to be archived in the library.