Project proposal

Due March 17 at 5pm.

The course project is the major focus of the semester. This is where it all starts.

Indicate your proposed project group

Edit the README file from your individual repository, and add a section called Group Project. Indicate your proposed group, including the proposed title of the project, who your teammates are, and which of the teammates has the proposal in their individual repository.

Project proposal write-up

Each team will choose one person to host a file named project_proposal.md in their individual repository (you should still write it together, probably in person). In any format of your choosing, you should address the following components.

  • What is the name of your project?

    Come up with a concise but descriptive name.

  • Who is on your team?

    Teams needs to have at least two members, and preferably at least three.

  • What is the goal of the project?

    Ideally, the project is an implementation of something novel and interesting to all the members of the team, even if it is not immediately in your realm of research. It is good to be ambitious, but the goal is to have it finished by the end of the semester. If you are implementing something that exists on paper but not in code, provide a reference.

  • What programming language(s) would the project be written in?

    Tailor this to the expertise of your group but also the scope of the project. Each language has its own strengths and use cases, so make sure the choice is apt for the project. You can use multiple languages for different non-overlapping components (e.g. documentation, benchmarking, visualization, etc.).

  • Roughly, how will the work be split up between team members?

    Everyone needs to contribute to make the project a success. A rough guideline is for everyone involved to write at least 500 lines of code. The plan does not have to be concrete or airtight, and it can change as needed. And regardless of how the work is divided, everyone should have a strong knowledge of every component within the project.

The write-up and README additions are due on March 17 at 5pm in the form of a repository push.

Post-proposal meeting

After your proposal is submitted, the groups will meet in person with me the following week to discuss the various details of your project. If there are issues, I might ask the team to rewrite various parts of the proposal.

Group project repository

Once everything is settled and we all agree on the details, the team will jointly initialize a new public repository for the group.