Research Project

This project is a major component of this course and is worth 30% of the final grade in the course. The project is divided into a number of deliverables throughout the semester. Ultimately you will produce a written paper, software, and a final presentation to be given at the end of the semester.

The minimum length for the final paper is 3750 words, which is 15 pages at 250 words per page.

LaTeX

Most computer science academic writing is produced using the LaTeX typesetting system, and using LaTeX is required for this project. The computer science senior IS also requires using LaTeX, so this is good preparation for your IS.

There are a number of ways to install LaTeX. The most popular distributions are MiKTeX on Windows, MacTeX on macOS, and TeX Live on Linux (which is very likely installable through the package manager of your Linux distribution).

We will talk more about using LaTeX in class.

Deliverables

Project Topic

You will submit an abstract of approximately one page describing your topic. Before submitting your abstract, you must communicate with me about your proposed topic to get my approval. You may initially contact me about topic ideas via Teams or email.

A good topic is specific enough that you do not get lost in possibilities as you are working, but broad enough that you have room for experimentation. Talking with me about your topic will help you find a topic of the appropriate scope.

In your abstract, give a general overview of your topic, focusing on the significance of work that has already been done in that area. Then describe the goals of your work (including the software that you will create).

Submit your abstract as a PDF, created using LaTeX. Use 12 pt font with double spacing, which you can accomplish like this:

\documentclass[12pt]{article}
\usepackage{setspace}
\doublespace
\usepackage[left=1in,right=1in,top=1in,bottom=1in]{geometry}

Submit your abstract via Moodle here.

Annotated Bibliography

Your paper must use academic sources, and so you will need to conduct some library research. You will submit an annotated bibliography with at least 5 references which includes a 1-2 paragraph summary of each reference. These references must be peer reviewed academic publications that are highly relevant to your topic and will inform your writing.

LaTeX provides a way to nicely format citations using what is called BibTeX. To use BibTeX you must place your sources in a file with the extension .bib using the BibTeX format. Many places where you find academic sources will provide the BibTeX for you. For example, in Google Scholar if you click on the quotation marks icon to the left of the “Cited by X” text in the search results, there will be a BibTeX link in the window that pops up.

Here are files that you can use as a template for your annotated bibliography. You will want to edit the first two files. The third is a style file that provides support for an “annote” field in your BibTeX entries where you can write your annotations. The third file will need to be in the same directory as the other two. See the comments in annotated_bibliography.tex for more information.

Submit your annotated bibliography via Moodle here.

Outline

In order to help you think about the structure of your final paper, you will submit an outline of the major sections of your paper. Your final paper does not need to follow the exact structure of this outline, but this will give you a framework to begin your writing.

To create the outline, you can simply make a document with sections and subsections (and subsubsections if it makes sense) and write very brief descriptions of what will be written in the sections. You can have LaTeX produce a table of contents to easily see the whole outline.

I have created an example outline file here:

Submit your outline via Moodle as a PDF here

Software Description

You will submit a description of the software you are creating to support your topic. At this point you should already be working on the software so that you have a fairly clear picture of what it will do and what work remains to be done. This description should be 1-2 pages.

The software that you create for this project can take many forms. You might create a completely new program from scratch, extend an existing project, create a proof-of-concept prototype for a more theoretical topic, etc.

Submit your software description via Moodle as a PDF here.

First Draft

You will submit a first draft of your paper. I will provide feedback, and you will be expected to make changes to the final paper based on this feedback.

You will also perform a peer review of another student’s first draft. The purpose of this peer review is to give everyone some additional helpful feedback, and also to give you something to which you can compare your own paper.

In addition to the other LaTeX examples, here is another document with some more examples that you might find useful. This document has a citation that is an online reference, monospace font to represent code, and a figure: more_latex_examples.zip

See this writing guide for more about writing in CS.

Submit your draft as a PDF on Moodle here.

Preliminary Software

You will submit a preliminary version of your software. The software does not need to be fully complete, but it should be at a point where it runs in some form.

Final Paper and Software

You will submit the final version of your paper and your software.

Oral Presentation

You will prepare a 5-6 minute presentation to be given during the last week of classes or our final exam period.

Grading

Each component will be graded individually, with the following weights:

Component Points
Abstract 20
Bibliography 25
Outline 20
First Draft 50
Preliminary Software 20
Peer Review 20
Final Paper 60
Final Software 40
Presentation 45

Total points: 310