GitHub is committed to responsible innovation, while also lowering the barriers to entry for anyone interested in learning how to code. Part of that commitment means making tools available free of charge to those educating the next generation of software developers. So far, we’ve been able to offer multiple benefits, including free cloud compute to teachers via GitHub Codespaces.
Today, we’re excited to announce the free availability of GitHub Copilot for all teachers verified on GitHub Global Campus. (Not sure if you’re verified? See below for more details).
GiHub Copilot is an AI pair programmer that uses OpenAI Codex to suggest code and entire functions in real time, right from your editor. Earlier this summer, following a successful year long technical preview with more than 1.2 million developers, we launched GitHub Copilot for individuals. The feedback received from the community has made it abundantly clear: AI is one of the best tools to empower the next generation of developers. With GitHub Copilot, developers have more time and space to focus on solving bigger problems and building even better software.
We recognize the challenge of integrating GitHub Copilot into your classroom, and are committed to partnering closely with our teacher community on how GitHub Copilot can support you and your students. As a first step, we’ve been working with partners to identify how GitHub Copilot might impact your curriculum, as well as the emerging opportunities. Here’s what we know:
GitHub Copilot is effective at solving many introductory programming assignments, which may impact how you assess your students. One study found that solutions generated by GitHub Copilot placed it amongst the top 25% of students in a cohort.
Paul Denny, associate professor at the University of Auckland, and coauthor of the study, says, “This technology has arrived quickly and will be a challenge for many existing teaching approaches, but it also presents unique opportunities for course and content design and new ways of teaching.”
For example, let’s take a look at GitHub Copilot attempting to solve a version of the classic ‘Rainfall problem’.
In this case, GitHub Copilot has produced a plausible solution but it’s not perfect. That’s to be expected. As GitHub Copilot keeps changing, your own results with the same prompts may differ. Try your own assignments with GitHub Copilot to see how well it performs.
Paul and colleagues from Aalto University have also used the model to generate explanations of code examples for students. According to Paul, “We have subsequently found that many of the code explanations, from line-by-line descriptions to high-level summaries, are very accurate and often text-book-like and perceived by students to be helpful.”
Here’s an example of GitHub Copilot solving another problem, which we incrementally make harder. It finishes with an explanation of its solution.
And here’s an example of modular exponentiation. Github Copilot explains the code, principle and states the time complexity.
Paul and his colleagues also showed that GitHub Copilot can generate new programming assignments. We tried their approach and this is what we got:
Not every example works this well. The benefits of generating your own learning resources are robust and well known. Tools like this could assist students in producing practice materials and learning from thinking critically about their merit.
If you’re interested in sharing your experience, feedback, or ideas, please join the conversation with other verified teachers on GitHub Global Campus.
Not yet verified? Join GitHub Global Campus for teachers.
We gratefully acknowledge the authors of the papers we cited in this blog, including: James Finnie-Ansley, Paul Denny, Brett Becker, Andrew Luxton-Reilly, James Prather, Sami Sarsa, Arto Hellas, and Juho Leinonen.