softwareconstruction240 / autograder

Autograder for BYU's CS 240 Chess project
https://cs240.click
2 stars 2 forks source link

Vary Git Commit Requirements by Phase #376

Closed frozenfrank closed 4 weeks ago

frozenfrank commented 1 month ago

Overview

The code required for each phase really is quite different, and it would make a lot sense to vary the requirements to match this. Specifically, the earliest phases do not really require 10 commits as they can be finished with 8 reasonably sized commits. TA's in the 2024 spring semester estimate that about 10% of students were flagged for having 8-9 commits even though the student's had a done a thorough job on the assignment. Those students received full credit.

Note that students receive essentially a free commit when they originally create their GitHub repo which create a commit. Usually, this occurs much earlier in the semester.

Current Schedule

Currently require 10 commits spaced over 3 days, each with at least 5 line changes for all phases.

Proposed Schedule

The following table proposes a requirement schedule for all of the phases. While we could vary the number for each phase, I think it makes sense to break it into an intro period with lower requirements, a phase without any code, and then the implementation period with higher requirements. These requirements aren't designed to actually be difficult and all students should be easily meeting these requirements just by committing at reasonable checkpoints.

Phase Commits Days Line Changes
0 8 2 5
1 8 2 5
3 12 3 5
4 12 3 5
5 12 3 5
6 12 3 5

Notice the increase in the line-change requirements. 20 line changes can be viewed as 10 lines modified (insertions + deletions), and I think it's OK to encourage students to write substantial commits rather than committing every single time they change any line.

This proposal is not final, and should be edited to reflect any agreed upon requirements.

Todo

Credit

Thanks to @jerodw for leading the discussion on this topic. Thanks to @19mdavenport, @prattnj, @mewilker for adding perspective and thoughts on the issue.

@rodham You'll want to be aware of this issue for Summer 2024 😉

jerodw commented 1 month ago

James, I don't want to increase the line change requirement above 5. I think that sends the wrong message (that commits should contain a lot of code--I think more commits of fewer lines are better).

On Tue, May 21, 2024 at 2:00 PM James Finlinson @.***> wrote:

Overview

The code required for each phase really is quite different, and it would make a lot sense to vary the requirements to match this. Specifically, the earliest phases do not really require 10 commits as they can be finished with 8 reasonably sized commits. TA's in the 2024 spring semester estimate that about 10% of students were flagged for having 8-9 commits even though the student's had a done a thorough job on the assignment. Those students received full credit.

Note that students receive essentially a free commit when they originally create their GitHub repo which create a commit. Usually, this occurs much earlier in the semester. Current Schedule

Currently require 10 commits spaced over 3 days, each with at least 5 line changes for all phases. Proposed Schedule

The following table proposes a requirement schedule for all of the phases. While we could vary the number for each phase, I think it makes sense to break it into an intro period with lower requirements, a phase without any code, and then the implementation period with higher requirements. These requirements aren't designed to actually be difficult and all students should be easily meeting these requirements just by committing at reasonable checkpoints. Phase Commits Days Line Changes 0 8 3 5 1 8 3 5 3 12 3 20 4 12 3 20 5 12 3 20 6 12 3 20 Todo

Credit

Thanks to @jerodw https://github.com/jerodw for leading the discussion on this topic. Thanks to @19mdavenport https://github.com/19mdavenport, @prattnj https://github.com/prattnj, @mewilker https://github.com/mewilker for adding perspective and thoughts on the issue.

@rodham https://github.com/rodham You'll want to be aware of this issue for Summer 2024 😉

— Reply to this email directly, view it on GitHub https://github.com/softwareconstruction240/autograder/issues/376, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHIQATVJFU5Z6GVDEVXQAFLZDORWFAVCNFSM6AAAAABICIX3PKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGMYDSMBRG4YTGNA . You are receiving this because you were mentioned.Message ID: @.***>

frozenfrank commented 1 month ago

@jerodw Thanks for the input. I've updated the proposal to set all the line change limits to 5. What do you think about the rest of it?

jerodw commented 1 month ago

Looks good to me