You can set an assignment deadline, but does it actually make a difference?
Students can still commit and push - I’d normally want to disable that past the deadline. I’d want students to get an indication that deadline is passed. Otherwise, I have to make them submit all their files another way.
Classroom Assistant downloads all repositories in their final state, so ontime and late assignments are mixed with each other. My assignments are usually due at midnight. Do I have to download the assignments at 12:05 just to make sure that I have the latest version submitted by the deadline?
It says “After the deadline, GitHub Classroom will save the latest commit from each repo as a submission” which I assume means the “submitted” icon that appears next to each student, but then I have to view the submission of each student and have to clone that commit manually. Don’t want to waste that much time clicking…
Any solutions or workarounds?
This is the PR introducing the mechanism of assignment deadline in the Classroom. It seems the author considered at that time the possibility to improve the process and possibly disable further pushes and/or remove access from the student: features not available yet.
- An easy yet effective way to let students know that there’s a tight deadline is by putting a note within the
README.md file of the starter code, the same file used to describe the assignment.
- Using GitHub API you’re free to modify the workflow at will. For example, you could implement a script (in ruby, python…) that can crawl your organization and for each repository do what you aim to: just cloning locally the last commit before a given time.
The last bullet point does require only a bit of knowledge and commitment. I don’t know if you’d be willing to take it on; however, just in case, I’ve planned to do something similar with our organization and opened up an issue gathering some related resources, whereas this directory contains examples of usable scripts.
Will look into the PR and scripts. Thanks.
A while back they came out with the GitHub Classroom Assistant that lets you clone all repositories from an assignment in GitHub Classroom.
I had similar concerns about whether students would continue to commit and push. And occasionally, they do. In practice, it hasn’t been a problem. First, I make them create a pull request as part of the turn in process. I get an email notification when that happens, so I can easily tell if somebody is doing it late. Second, if they do more pushes AFTER creating the pull request, then again I get email notifications so I can tell and can manually deal with it however seems appropriate (eg, taking off points or switching to the latest commit before the deadline).
For me, with 500+ students across 150+ teams… I don’t want those notifications in real time …
but, I would want it available by repo when grading.
For me, I set up mail filtering to send all such messages directly to an archive folder without showing up in my inbox. Then I check that folder quickly when grading to make sure nothing was turned in late. I don’t have it separated out by repo.
My experience with filtering is it really means “filter and forget where I put it”
Also, I really want this information to go to graders (and not me), but I don’t know who will be grading which submissions when the assignment is created.
The filtering is a good suggestion, I just need to make it work given other factors.