How to clean up all students work?

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?

1 Like

Prof Zhang,

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:

  1. Create an organization that has all the master repos
  2. 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:

  1. 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.
  2. Try to apply for the Educational Discount for each new organization but it doesn’t let me since I already have an outstanding request
  3. Email GitHub support and ask to apply the discount to the other organizations
  4. Wait some amount of time (weeks) before they are approved.

Starting the class:

  1. 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.
  2. 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.
  3. 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.
  4. Students make branches and submit a PR indicating that it needs to be graded.

Finishing a class

  1. All the student repos are in a single organization so it won’t clutter your personal github.
  2. 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).

© 2017 GitHub, Inc.
with by
GitHub Education