GitHub Classroom gets a reliability and performance boost
GitHub Classroom is more efficient and reliable than ever before with performance improvements.
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
Written by
Related posts
Apply now for GitHub Universe 2023 micro-mentoring
As part of our ongoing commitment to accelerate human progress through Social Impact initiatives, we’re offering students 30-minute, 1:1 micro-mentoring sessions with GitHub employees ahead of Universe.
The 2023 Open Source Program Office (OSPO) Survey is live!
Help quantify the state of enterprise open source by taking the 2023 OSPO survey.
Godot 4.0 Release Party 🎉
We are delighted to host the Godot 4.0 Release Party at GitHub HQ on Wednesday, March 22 from 6:30 pm to 9:30 pm. And you’re invited!