Classroom will be unavailable for 1 hour on July 9, 2020 starting at 6pm (PST)/1am (GMT). Have questions? Please reach out to support.

Get help with GitHub Classroom

GitHub Classroom glossary

GitHub Classroom is a free, open-source tool for teachers that helps to simplify their educational use of GitHub. Below are specific terms we use in the GitHub Classroom application and documentation.


A classroom is the basic foundational unit of GitHub Classroom where teachers can organize and manage assignments, students, and teaching assistants around a single course. Classrooms require admin (owner) access to GitHub organization accounts which are managed on, not

Group assignment

Within a classroom in GitHub Classroom, teachers can create either individual assignments or group assignments. Group assignments are ideal for team submissions or collaborative projects. Just like individual assignments, creating a group assignment will set up an assignment repository within your classroom’s GitHub organization account which may optionally include starter code. However, unlike individual assignments, group assignments allow teachers to set up teams that students can join when they accept the group assignment invitation. You cannot create or modify group assignments in classrooms that have been archived.

Related resources:


GitHub Classroom supports any type of identifier—student names, email addresses, or school IDs. Many schools have adopted the use of unique student identifiers to identify students without exposing their real names, email addresses, or similar personally identifiable information. Just make sure you use the identifier type that complies with your school’s policy.

Individual assignment

Within a classroom, teachers have two assignment options: individual or group assignments. When you create an individual assignment, GitHub Classroom sets up a repository within your classroom’s GitHub organization account which may optionally include starter code. This generates an invitation URL that each student on your roster can accept to join. GitHub Classroom automatically creates assignment repositories for each student, and clones the starter code if applicable. It also adds a custom prefix for each student’s repository that corresponds with the assignment to help you distinguish and identify submissions. You cannot create or modify individual assignments in classrooms that have been archived.

Watch: How to set up individual assignments


Rosters are used as a way to manage students in a classroom and make it easier to track assignment submissions. Rosters can be created manually by entering a list of student identifiers. Or, they can be imported automatically from your institution’s learning management system (LMS).