CS 87 Course Project

Spring 2020

Overview | Proposal | Mid-way | Presentation, Report, Demo | Resources | Links

Course Project Overview

The goal of this project is to give you a taste of what it is like to do research:

Since this is a project spanning the second half of the course, it should be a substantial amount of work. You can choose from a very broad range of projects, but your project

  1. must have a main focus on parallel or distributed computing.
  2. must have some implementation and some experimentation and evaluation parts.
  3. must have some component that looks like science; there should be a general question that you are trying to answer though your project.

Spring 2020 changes

For the remote semester of 2020, you may satisfy your project requirement with an in-depth report see changes overview here, but it still must satisfy (1) and also (2) in a investigative research type of way.

Getting Started

You can come up with your own project idea or start with one that I suggest. I'll post some suggestions to the Piazza page at the end of Week 7. Anything I suggest is just a starting point for a project idea, and is not fully investigated. As a result, all require some background investigative work and further definition of the problem you are solving and how you plan to solve it.

You should begin with a general idea of the problem you want to look at, then do a literature search of related work and projects to get some ideas of what has been done and what some approaches are to solving your problem. It is fine to do a project whose goal is to reproduce other researcher's results, and/or to compare different, already developed, approaches to a particular problem. However, there must be some question that you are trying to answer through your project (one example of a general question is "Can distributed service X be efficiently implemented on system Y?"). The answer to the question(s) associated with your project will involve both implementation and testing. Depending on your project, it may have more focus on implementation or more on testing, but every project must have some of both.

You must work in groups of 2 to 4 on your course project; no individual projects are allowed. Larger groups should split into subgroups of 2 or 3. I will help singles find groups, but I encourage you to find your own group based on interests in similar projects ideas.

Parts of the Project Assignment

Assignments for the different Project Parts will be linked to here as they are assigned

Part 1: Project Proposal and Annotated Bibliography:

Project Proposal Assignment
Due Friday, March 27 before 1pm
Due Friday, April 3 before 1pm (EST)
Due Tuesday, April 7 before 11:59pm (EST)
Counts towards 5% of your final grade.

Week 11 12: Project Work Week

Project Work Week Assignment (note: you need push some information about your project progress your Project repo by Saturday evening at the end of project work week). A full week devoted solely to your working on your project. Each group must meet with me during this week to discuss your project and its progress, changes, and any roadblocks you have encountered.

Part 2: Mid-way Oral and Written Progress Report

Project Midway Assignment Due week 1213
Counts towards 5% of your final grade

Part 3: Written Project Report, Presentation, and Demo

Project Final Assignment Written Final Project Report: Due May 8 before noon
Final Presentation: Due May 13 during scheduled final exam slots (9am-5pm).
Project Demo and Project Code due on or before May 14.
Counts towards 30% of your final grade

Resources available to use for project work

Links

my Research and Writing guide, resources for finding related work, information about creating an annotated bibliography, and organizing report organization.
Tips for Research and Writing and Oral presentations
Tools for creating Documents (latex, bibtex, and others)