Project

The final project for CS122 is to build a software system that achieves a clearly stated goal that is of genuine interest to you and your partners. Final projects must be done in groups of four.

Projects are subject to the following rules. Each project must

  1. have a clear goal, and
  2. use an interesting source of data.

Deliverables

Register project groups: Each group must complete this form to register by no later than 4pm on Sunday, January 26th.

Written Proposal (Due: January 28th at 4pm): Each group must submit a one or two page proposal that describes the goal of the project and the source of data the group will use. It should also give a basic sketch of the work required to complete the project and a timeline for completing it.

Proposal Presentations (4th week): Each group must give a ten minute presentation that describes its goals and plans.

Progress Checkins (6th and 8th weeks): Each group will meet with an instructor for 15-20 minutes once during sixth week and again during eighth week to discuss the group’s progress, challenges, and plans.

Completed Software (March 16th at 4pm): Each submission should include a description of how to run the software and should be well documented. We must be able to compile and run your program(s) on a VM and we must be able to understand the structure of your code without undue effort. Except in special cases where it is not applicable, you will also hand in a flash drive with a VM that already has your code installed and ready to run. Please note that if your project group contains one or more students that are graduating this quarter, the due date for the completed software will be accelerated so that we can meet College grading deadlines for Convocation students. Your instructor will contact you about this. Expect in this case to submit your work by March 10th at 9am.

Final Project Presentations (10th week): Each group must give a 15-20 minute presentation describing its project. The presentation should include descriptions of the project’s goal, the results obtained, and how the system is structured, along with anything interesting the group has learned in the process of building the system.

All members in each group must participate in both presentations. We will post instructions for how to submit your work on Piazza.