Skip to main content

Reuse an assignment

You can reuse existing assignments in more than one classroom, including classrooms in a different organization.

Who can use this feature?

Organization owners who are admins for a classroom can reuse assignments from a classroom. For more information on classroom admins, see "Manage classrooms."

Note: In January 2024, GitHub Classroom will change the way student repositories are created from starter code repositories. Currently, the process requires starter code repositories to be templates, and GitHub Classroom creates a new repository for each student based on that template. With the upcoming change, student repositories will be created by forking the starter code repository.

This change addresses a frequently requested feature from teachers: the ability to change starter code after an assignment has been accepted by students.

You can read more about this change on the GitHub blog.

This feature is in public beta and subject to change.

About reusing assignments

You can reuse an existing individual or group assignment in any other classroom you have access to, including classrooms in a different organization. You can also reuse multiple assignments at once from a classroom. If you choose to reuse an assignment, GitHub Classroom will copy the assignment to the classroom you choose. If the assignment uses a template repository and you choose to reuse it in a classroom from a different organization, GitHub Classroom will create a copy of the repository and its contents in the target organization.

The copied assignment includes assignment details such as the name, source repository, autograding test, and preferred editor. You can edit the assignment after it has been copied to make changes. You cannot make changes to the preferred editor.

Reusing an assignment

  1. Sign into GitHub Classroom.

  2. Navigate to the classroom that has the assignment that you want to reuse.

  3. In the list of assignments, click the assignment you want to reuse.

  4. Select the Edit dropdown menu in the top right of the page, then click Reuse assignment.

    Screenshot of an assignment. The "Edit" dropdown is expanded and the "Reuse assignment" option is outlined in dark orange.

  5. In the "Reuse assignment" modal, use the Choose an organization dropdown menu to select the organization you want the assignment to be in. Then use the Choose a classroom dropdown menu to select the classroom within that organization that you want to copy the assignment to.

  6. Click Create assignment.

  7. The assignment is copied to the selected classroom, and a confirmation message is shown. If you chose to reuse an assignment with a template repository, the copying process may take a few minutes to complete, and you may need to refresh the page to see the completed message.

Reusing multiple assignments from a classroom

  1. Sign into GitHub Classroom.

  2. To the right of a classroom's name, select the dropdown menu, then click Reuse assignment.

    Screenshot of the tile for a classroom. The "Reuse assignment" option in the dropdown menu is outlined in dark orange.

  3. In the "Reuse assignments" modal, use the Choose an organization dropdown menu to select the organization you want the assignments to be in. Then use the Choose a classroom dropdown menu to select the classroom within that organization that you want to copy the assignments to.

  4. To the left of each assignment, select the assignment you want to reuse.

  5. Click Create assignments.

  6. The assignments are copied to the selected classroom. If you chose to reuse an assignment with a template repository, the copying process may take a few minutes to complete.