Skip to main content

About GitHub Classroom

Teachers and school administrators can use GitHub Classroom to create virtual classrooms, make and edit assignments, automatically grade assignment submissions, and more.

About GitHub Classroom

GitHub Classroom is a teaching tool that lets teachers and school administrators create and manage digital classrooms and assignments. You can create assignments for individual students or groups of students, set due dates, and track assignments on your teacher dashboard. Additionally, GitHub Classroom has many features that simplify tasks like providing feedback, grading assignments, and integrating your existing teaching tools.

GitHub Classroom features

GitHub Classroom offers a variety of features to simplify both teaching and learning.

Assignment templates

With GitHub Classroom, you can create assignments that use template repositories with boilerplate code, documentation, and other resources that you think will be useful to your students. Assignments with template repositories create assignment repositories with starter code for your students. For more information, see Create an assignment from a template repository.

Autograding

Through GitHub Classroom, you can configure tests to automatically grade the work of each student every time that student pushes to their assignment repository. To learn more about autograding with GitHub Classroom, see Use autograding.

Ability to connect a learning management system

Optionally, you can connect a learning management system (LMS) to GitHub Classroom to import a student identifier roster for your classroom. For more information, see Connect a learning management system course to a classroom.

Feedback pull requests

Optionally, you can enable feedback pull requests on assignments. If you enable this feature for an assignment, GitHub Classroom creates a special pull request titled Feedback in the assignment repository for each student or group. For more information, see "Leave feedback with pull requests."

Combination with an integrated development environment (IDE)

You can integrate a classroom with an IDE. Students can make changes to their assignment repositories through the IDE, or by checking out and running code locally with the appropriate software. For more information, see "Integrate GitHub Classroom with an IDE."

Further reading