Skip to content

GitHub Classroom gets a reliability and performance boost

GitHub Classroom is more efficient and reliable than ever before with performance improvements.

GitHub Classroom gets a reliability and performance boost
Author

Nearly 20,000 teachers use GitHub Classroom to manage coding assignments and automate repository creation, especially for distributing starter code to each of their students. But the starter code replication feature was slow and unreliable—taking 15 seconds, on average, per repository and failing five percent of the time. This meant that the creation process would likely get stuck at least once for teachers with a class size of 20 students.

Fixing GitHub Classroom’s long-standing problem

Replicating starter code is one of GitHub Classroom’s key features. Unfortunately, it was unreliable and sluggish, leading to a long-standing source of frustration for teachers. After some research, two of GitHub’s 2019 summer interns, Eric Pickup and Shaunak Pagnis, found a promising solution using template repositories. Template repositories are a built-in feature that allows you to create new repositories using another as a template. It works perfectly with GitHub Classroom since a teacher’s starter code acts as a template.

Eric and Shaunak shipped this feature to the entire GitHub Classroom community earlier this month just as teachers were setting up for the start of school. Now, when teachers create an assignment with starter code, there’s an option to import using a template repository.

Results

Since its release, over 10,000 assignment repositories have been created with template repositories. We’ve seen the success rate improve from 95 to 99.9 percent, and repository creation times decrease from 15 to two and a half seconds on average. We’ve already seen the community’s appreciation for this improvement.

“Classroom used to have occasional problems with its cloning process, where it would sometimes hang or leave an empty repository. I’m thrilled that the new Classroom is ready to go, and just in time with classes starting next week. This should substantially remove the headaches we used to have getting students started on new assignments.”
Dan Wallach, Professor at Rice University

Request a feature

GitHub Classroom is open source, and you can watch development, make feature requests, or implement changes yourself from our repository. Check out our roadmap to learn more about the future of Classroom. For more information about template repositories, visit our help documentation.

Learn more about GitHub Classroom

Explore more from GitHub

Education

Education

Information for tomorrow’s developers.
GitHub Universe 2024

GitHub Universe 2024

Get tickets to the 10th anniversary of our global developer event on AI, DevEx, and security.
GitHub Copilot

GitHub Copilot

Don't fly solo. Try 30 days for free.
Work at GitHub!

Work at GitHub!

Check out our current job openings.