Final Project

Ferocious Final Projects

Assignment Description

In a team of four students, you will propose and produce a final project worth 20% of your class grade. This project must involve processing at least one dataset into one or more graph structures. While we are providing some datasets and project goals for you to choose from, you can also propose your own dataset or final project. In order to do this, you must submit a one-page project proposal for instructor approval by Monday, November 16th.

Final Project Deliverables

There are three main deliverables for this final project. As a team, you are expected to distribute work on each deliverables fairly. This means that each student should be responsible for some part of each of the following:

  1. A functional code-base. Your code must be written in C++ and should be compilable and runnable on the EWS machines. It will be tested for reproducibility of your original results and it’s capacity to run on datasets of our choosing. In addition to the code itself, you must include a human-readable README with full instructions on how to build and run your executable. In order to receive the best grade, it is in your best interest to make the instructions (and the running of your program) as simple and straightforward as possible.

  2. A written report of your project. In addition to your code, your Github repository must contain several files stored as either PDF or MD files.

    • GOALS – A one-page summary of the dataset (source location and format) you are using and the specific algorithms you have chosen to implement.

    • DEVELOPMENT – A document with exactly one paragraph per week, describing what was accomplished or attempted in that week. For full credit, your team must add a paragraph to this document every week (starting the week project goals are confirmed) as a git commit.

    • RESULTS – A one- to two-page final report describing the outcome of your project, including any discoveries made. Figures should be in the same directory (if using MDs) or the same file (if using PDFs) but are not included in the page limit.

  3. A final presentation. In addition to your project write-up, you should submit a short video (10 minutes or less) describing your project (your goals, development steps, and final outcome). More details will be provided after Thanksgiving break.

Timeline

Monday, November 9th – Final deadline to submit team members.

To submit your teammates go on Moodle and fill in your teammates’ netids (and your time zone).

To get a better random assignment, use the same form but only submit your time zone.

Wednesday, November 18th – Final deadline to submit team contract / project goals.

To submit your team contract, commit it to your team’s git repo as a PDF.

UPDATE (11/16/20): To better identify team participation, EACH member of the team should independently commit a copy of the team contract as CONTRACT_netid.pdf (Fill in netid with your own netid). This will be viewed as an electronic ‘signature’.

To submit your project goals, commit the file GOALS (as a PDF or .MD).

Friday, December 4th – Final day for mid-project check-in meetings.
Friday, December 11th – Final project due date.

To submit your final project video, please email your project mentor or include a direct link to the video on your team Github. Videos can be hosted through Zoom cloud recordings, Youtube, Google drive, etc…

To submit your final peer review, please fill in a fp_peer_review.csv file in your personal CS 225 repository (this will protect the privacy of your peer review). This file can be pulled using the usual commands:

git fetch release

git merge release/fp_peer_review -m “Merging” –allow-unrelated-histories

Your peer review should be a score of 0 to 5, based on whether or not you personally believe your teammates adhered to the contract you agreed on in the first week of this project. That is to say, your review should reflect a combination of the work ethic of your peer as well as their behavior (communication and collaboration) within the team. If you do not submit a peer review file (or forget a teammate), it will be assumed that you are giving your teammates full credit.