Teach with GitHub Classroom
Learn how to set up your classroom and assignments.
Manage classrooms
You can create and manage a classroom for each course that you teach using GitHub Classroom.
About assignments
You can use individual or group assignments in GitHub Classroom to teach students and grade their work.
Use the Git and GitHub starter assignment
You can use the Git & GitHub starter assignment to give students an overview of Git and GitHub fundamentals.
Create an individual assignment
You can create an assignment for students in your course to complete individually.
Create a group assignment
You can create a collaborative assignment for teams of students who participate in your course.
Editing an assignment
You can edit existing assignments in your course.
Extending an assignment's deadline for an individual or group
You can grant individual students and groups extensions to allow them more time to submit an assignment.
Monitor students' progress with the assignment overview page
You can use the assignment overview page to track the progress of each student or team on an assignment.
Reuse an assignment
You can reuse existing assignments in more than one classroom, including classrooms in a different organization.
Create an assignment from a template repository
You can create an assignment from a template repository to provide starter code, documentation, and other resources to your students.
Leave feedback with pull requests
You can leave feedback for your students in a special pull request within the repository for each assignment.
Use autograding
You can automatically provide feedback on code submissions from your students by configuring tests to run in the assignment repository.
Using GitHub Classroom with GitHub CLI
You can use gh
, the GitHub command line interface, to work with GitHub Classroom directly from your command line.
Register a learning management system with GitHub Classroom
You can configure an LTI-compliant learning management system (LMS) with GitHub Classroom.
Connect a learning management system course to a classroom
You can configure an LTI-compliant learning management system (LMS) course to connect to GitHub Classroom so that you can import a roster for your classroom.