I use the Github classroom to create individual assignments. All students’ work were added to my Github account. At the end of the semester, I want to remove all students forked projects from my Github account (but keep my master template). I don’t need to create a new classroom again and all assignments can keep the same link. Is there any way can easily clean the classroom?
I did the same thing that you did the first time I taught with GitHub Classroom. I ended up deleting them one at a time.
This is what I do now:
- Create an organization that has all the master repos
- Apply for the Educational Discount for the “Pro” account on the organization
This organization exists from the beginning and I add/modify repos in it every semester.
This next part should be done at least a month before the class:
- Create an organization for each class (i.e., “UA GIST 604B Fall 2019”). If I were teaching multiple sections I might use the same organization for both sections, but I would probably make a new organization for a new semester since class material changes.
- Try to apply for the Educational Discount for each new organization but it doesn’t let me since I already have an outstanding request
- Email GitHub support and ask to apply the discount to the other organizations
- Wait some amount of time (weeks) before they are approved.
Starting the class:
- I add all the students to a new Team and give the Team Access to a private repository that I call “syllabus”. I like to keep it private because I use GitHub Classroom URLs to accept the assignments and I don’t want just anybody cluttering the repo.
- I create a new ClassRoom in GitHub Classroom with the newly created organization. I tried adding the students to classroom, too, but not everybody joined so I don’t worry about Classroom membership.
- Each new assignment is a “template” assignment from the master repo. I haven’t made students admins of their own repos but I think I will next time so they have more control over its future.
- Students make branches and submit a PR indicating that it needs to be graded.
Finishing a class
- All the student repos are in a single organization so it won’t clutter your personal github.
- I wish I could transfer ownership of the repos to the students. Maybe it would be easier if I I made them admins through GitHub Classroom.
I’ve thought alternatively of skipping GitHub Classroom altogether and just having them make forks of the master repo; I think that workflow is more like real life and it would give them full permissions on it. Then they could submit PRs to merge with master and I would just grade them and close them without merging…
Hello Aaryn Olsson,
Thank you so much for those suggestions.
I am thinking to manually delete all the assignments in my classroom. By this way, all students’ forked projects will be removed from my github account. I need to add all assignments back at each new semster.
Or I can delete the organization to remove all project all at once. But I need to re-apply the free organization again (may take 1 weeks).