github-education-resources / classroom

GitHub Classroom automates repository creation and access control, making it easy for teachers to distribute starter code and collect assignments on GitHub.
https://classroom.github.com
1.35k stars 567 forks source link

Cumulative Assignments #2364

Open d12 opened 5 years ago

d12 commented 5 years ago

Simple assignments have starter code, a task, and a deadline. This works in simple cases, but a lot of classes use assignments to cumulatively build a larger application, introducing new concepts each week. Classroom doesn't support this at all, new tasks cannot be pushed by teacher, and an assignment cannot have multiple deadlines. The typical workaround is one assignment that doesn't use deadlines where the teacher shares tasks to be done in another repo (or in the LMS).

Cumulative assignments would include:

And possibly more.

It's possible we could support this by beefing up the current version of assignments, and not creating a new "type" of assignment.

danwallach commented 5 years ago

I solve this by giving students reference code to earlier weeks. So in week N, they get a starter repo with a solution to the assignment for week N-1.

In one case, where I had multiple deadlines sharing a common repo, I instructed the students to tag the commit they wished to submit for the first deadline.