Coding sits somewhere between art and science, a well written, functional piece of code is a fine thing, beautiful even.
Like Sam Hunt VP APAC of GitHub says, “code is the paintbrush of the 21st century”, and he wants people to get involved.
The company has always had a focus on education as tech companies look to GitHub’s platform as a means of creating and sharing code and as a provider of the next generation of programming talent.
So, GitHub wants teachers and if teachers are interested in introducing a real-world programming workflow into classrooms they should want GitHub too. New education tools like Autograding for GitHub Classroom will make using the platform easier.
There are a lot of positives to coding, it’s a great marketable skill to have of course and the way coding is done involves creativity, ingenuity and soft skills like collaboration.
“Collaboration is an important key for me, it’s part of the soft learning that happens and it’s where our development ecosystems across the globe are going, people work asynchronously and they work virtually a lot, they’re not in the same room, so learning how programmers collaborate is an important part of learning how to become a technologist, a developer and an innovator,” Hunt says.
Universities are already very good at sharing their projects via GitHub and it’s a resource that high school students can use to see what’s happening at uni.
“What I would like to see is the next level, when we’re using GitHub across schools. That starts to build in the asynchronous culture of development, it’s alright to work within a group, but how can I reach out to another school that might have open sourced a project on AI and leverage some of their learnings?
“If you look at why open source won this battle for innovation it’s because people can leverage reusable code to better their own projects, the same thing should be happening in schools, the more people that adopt it, the more viable it will become to leverage globally and to support locally,” Hunt says.
Ideally, a programming education should begin young and there’s a trove of K-6 relevant material on the platform.
“MagicCraft is an open source project which teaches kids how to code and write spells that they can apply and share in games like Minecraft, what they don't realise is that they’re writing code, so long as they get the spelling right their spells work and they’ve actually written a line of code. It’s relevant to then and it gets them excited.”
GitHub has introduced a raft of new tools to make the task of running a computer science class simpler, they’re programmers so the tools work well, and generously the Github tools are provided mostly free to registered teachers.
Autograding in GitHub Classroom helps with teaching large classes and takes the drudgery out of the process to a degree, freeing up teaching time and energy, students are also using automated tests to check their work and receive immediate feedback.
“Autograding provides the capacity to use a bot that can provide expert input in a lesson you might have given out and provide some or all of the grading. It’s great because it relieves a lot of restrictions on teachers who are sticking to what they know, so by using Autograding they can maybe give students more.
“Most of the teachers that I know that are running STEM are actually doing it as a secondary thing, it’s not actually what they are being employed for, Autograding will help them to deliver something that is relevant and exciting and fulfilling for students,” Hunt says.
GitHub Classroom helps teachers automatically distribute assignments, it hands out starter code and monitors when students begin their work, automated testing also helps teachers catch mistakes earlier.
There is next to no learning curve attached to using the GitHub tools in the classroom Hunt promises, once a user connects and sets up an organization they’re pretty much good to go.
“The forums are extremely useful in guiding teachers how to best use GitHub, teachers in my daughter’s school have to use Google Classroom to maintain evenness across all students, so they’re au fait with working in a virtual classroom, marking, handing out tasks, which is very much in line with how GitHub would work.”
Teachers can run existing tests on each student repository or author new tests as they create an assignment. Assignments are set up as before, click the “Enable automatic grading” dropdown. Select the “Add test” option and either enter your run commands or build a new language-specific test.
Points can be assigned to each test to track the value of passing or failing code and tests run automatically on every student repository. It lets teachers pinpoint where students are succeeding or struggling every time they push code.
Students can see the test run on every commit, providing constant feedback so they can iterate towards success.
Teachers are also able to give more specific and valuable feedback with automatic pull requests by choosing “Enable feedback pull requests” as they set up their assignments. With this option, a pull request automatically opens when a student accepts their assignment, so a teacher can start providing in-line feedback as the student submits code.
“A lot of people are using GitHub without actually leveraging the education program, I would like to see that get more formalised because it gives them a much better support base for what they are trying to achieve,” Hunt says.
Get started with autograding for GitHub Classroom here
The GitHub Teacher Toolbox
The GitHub Teacher Toolbox has 35 offers that can help with a domain name, code visualisation, or application monitoring.
Teachers who are verified with GitHub Education can visit the education benefits page to get working with the toolbox.