Milestone 1: Project Proposal and Initial Git Repository

Due Date

This milestone is due on September 13, 2026.

Purpose

This milestone establishes the project direction and the initial software foundation for the semester. It should show that the project is meaningful, feasible, and organized well enough to support later milestones.

Required Deliverables

Submit:

Project Progress Expectations

Your proposal should include:

Software Engineering Expectations

The repository should demonstrate early software-engineering practice, including:

Acceptable Alternatives

Students are not expected to use the exact same tools in every project. If a project uses an alternative workflow, the student should clearly document:

Instructor Review Process

The instructor should be able to review the repository quickly by reading the README, inspecting the structure, and understanding the proposed workflow. The repository should not require guesswork to interpret.

Submission and Review Workflow

Each milestone is submitted by updating the student’s Git repository and making the current milestone work visible there. Students should commit the relevant changes and keep the repository in a reviewable state. For the first milestone, students should also submit the URL to their repository through the course online form:

CMSE Project Registration – Fill out form.

The link should open the repository’s main landing page on GitHub or GitLab so the instructor can access the project directly.

For milestones after the first one, no separate file or email submission is needed. The instructor will pull the latest state of the repository after the due date and grade whatever is present at that time. There are no extensions.

These milestones are cumulative by design. Students are encouraged to work ahead whenever possible, and many later milestones can be completed early if the project is already progressing well.

The proposal should also be written with the eventual JOSS paper in mind. Students may consult the JOSS paper guidance at https://joss.readthedocs.io/en/latest/paper.html while preparing this milestone.

Baseline Make Commands

As a default reference workflow, students should be able to follow something like:

make help
make init
make check
make docs

These commands are intended as a baseline example based on the course template. A repository that follows this workflow is generally easier for the instructor to review and evaluate. The easier it is for the instructor to grade the project, the better the evaluation experience will be for everyone.

Evidence of Completion

Submit a link to the repository and a short summary that explains: