Skip to main content

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.