COMP 401: Senior Project Research, Fall 2021

This syllabus is subject to change based on specific class needs, especially the schedule. Significant deviations will be discussed in class. Individual exceptions to the policies and schedule are granted only in cases of true emergency. Please make arrangements with me if an emergency arises.

On November 1, 2021, I will start paternity leave. After this date, Marta Tucker will take over my classes, including this one. She will deviate from this syllabus as necessary.

Logistics

Content and Goals

The senior project is the culminating experience of a student’s major in Computer Science and draws upon everything the student has learned over the course of their studies. The project itself is a means to an end and not the ultimate goal of the capstone experience. Sufficiently interesting and complex projects rely on an abundance of existing research and fundamental principles of computing. The project is, from this perspective, a concrete instantiation of these ideas and principles. By carrying out the project and presenting their work to technical and non-technical audiences students can demonstrate their understanding and mastery of some core element of the computing sciences as it appears in the real world context of their project.

Students are ultimately working towards pinpointing general, abstract, or theoretical concepts that support their project and clearly articulating how their work is a specific instance of these concepts. An important part of this process is the identification of seminal scholarly work that addresses the concept and its applications. Students too often attempt to reinvent the wheel in the course of their capstone work. Occasionally they’re unaware that the wheel already exists. The emphasis on fundamentals is about identifying the wheels, the documents that lay out the general principles of those wheels, and focusing on applying those principles to the specific needs of the project. In doing so the student will better understand where their work sits in the broad spectrum of computing and can present it as such.

The senior project is a year-long, two-course sequence. COMP 401, the first in the sequence, is focused on developing a detailed proposal for the senior project wherein the project’s place in the wide arena of computing is clear and a workable plan for completing the project in COMP 402 is established. Students will take the half-semester to research topics surrounding their project, identify the wider context in which their work fits, and prepare themselves to immediately begin implementing their proposal the in COMP 402. Throughout the semester, students will make regular checkpoint presentations demonstrating their progress. At the end of the semester, students well present their proposed project to a general audience.

Attendance and Expectations

Students in this course are expected to be respectful of their peers and the instructor. As this course is comprised entirely of student presentations, it is crucial that all students are always present and always on time. Failure to arrive on time and be a productive member of the course will have a detrimental effect on the final grade and leaves a bad impression with faculty that are likely targets for job and graduate school recommendations.

Course Deliverables

The following elements of COMP 401 contribute to the overall capstone grade:

Checkpoint Presentations

Students can expect to give a 5 to 7 minutes checkpoint presentation on a nearly weekly basis. Checkpoints for COMP 401 correspond to sections of the written proposal and students can expect to have at least one checkpoint per section. Refer to the proposal documents for more details about each checkpoint topic.

At each checkpoint presentation, students are expected to demonstrate progress towards understanding the week’s topic as it relates to your project. These presentations are meant to be an opportunity to get feedback from peers and the instructors. A students understanding of the topic need not be complete and they are expected to evolve as the semester progresses.

Technical Presentation

Halfway through the course students will give a 10 to 20 minute technical presentation. The goal of this presentation is to present the technical details of the concrete instantiation of a foundational piece of computer science in the context of the capstone project. If a project uses a specific programming language or platform, then students might present a small program written in that language or for that platform. If the project is written research of a theoretical nature, then students might present a proof utilizing key proof techniques from that research domain. If the research is more experimental, then the students should present an experiment of the type they expect to perform in their project. The key factor is that the subject matter is a relevant foundational principle in computing and the means by which you present that topic are through the tools and techniques you need to use to complete your project next semester.

Written and Oral Proposal

The details of the proposal are given in a separate document.

Grades

Students will receive an IP for this course at the completion of the course. When COMP 402 is completed and the capstone experience is done, a final grade will be determined and applied to both COMP 401 and COMP 402. Students will receive regular feedback about their standing and are always welcome to discuss their current grades with one or both of the instructors. Grades will be determined based on the following items:

More abstractly, what all of the above elements reflect is a student’s:

The following examples provide an idea of what we are looking for in the above items. These are rough guidelines only! Assessment can vary considerably depending on the project.

Course Engagement and Workload Expectations

The weekly workload for this course will vary by student but on average should be about 5–7 hours per week. Since class meetings are only scheduled for 1 hour a week, we expect students to dedicate at least 4–6 hours a week towards the development of their project proposal and implementation. This time can include research, preliminary coding, writing, meeting with professors, and so forth. Being a capstone project, it is likely that your weekly work will occasionally exceed the expected amount – everything takes longer than you think!

Schedule

Checkpoint presentations will occur on roughly a weekly basis. Unless otherwise specified, the topics listed below are the topics of checkpoint presentations. These topics correspond to some or all of sections of the final proposal. This calendar is subject to change based on the circumstances of the course.

Week Date Checkpoint
1 08/23 – 08/27 Initial Meeting
2 08/30 – 09/03 Project Ideas
3 09/06 – 09/10 Background: Project and Problems
4 09/13 – 09/17 Background: Technical and Social
5 09/20 – 09/24 Foundations
6 09/27 – 10/01 Foundations
7 10/04 – 10/08 Tech-Talk Proposal
8 10/11 – (10/15) (No checkpoint)
9 10/18 – 10/22 Tech-Talk Check-In
10 10/25 – 10/29 Tech-Talk
11 11/01 – 11/05 Features and Specifications
12 11/08 – 11/12 Plan and Timeline
13 11/15 – 11/19  
14 11/22 – (11/26)  
15 11/29 – 12/03 Proposal Due. Presentation.