earthlab / abc-classroom

Tools to automate github classroom and autograding workflows
https://abc-classroom.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
29 stars 21 forks source link

manage group assignments #396

Open kcranston opened 3 years ago

kcranston commented 3 years ago

In some of the EarthLab courses, there are group assignments. Each group is a GitHub Team. We won't use nbgrader for these assignments. How can we modify abc-classroom to clone group repos and push feedback?

lwasser commented 3 years ago

Issues related to group vs. individual repos which use gh usernames vs. team names

If the assignment is called final-project - you will have repos called final-project-*

Issues Associated with Not using Nbgrader


Maybe we have a flag on abc-clone that skips moving files over to submitted? maybe we have a flag abc-feedback that skips moving files and just does abc-push??

kcranston commented 3 years ago

The students create the group names, and they can use spaces. GitHub replaces spaces in the UI with '-', so "group xx" becomes "group-xx" in the team name, repo name, etc.

kcranston commented 3 years ago

Steps for group assignments (and how they differ from non-group assignments):

Create assignment (abc-new-template, abc-update-template)

Clone repos (abc-clone)

Feedback (abc-feedback)

kcranston commented 3 years ago

Implementation thoughts:

assignment1 = abc.assignment(roster, assignment-name, other parameters)
assignment1.create_template()
assignment1.clone_repos()
assignment2 = abc.group_assignment(different-roster, assignment-name, other parameters)