Submit to Canvas directly from GitHub
October 21, 2020

Connecting GitHub and Canvas for programming assignments

Tools for education

It is a widespread practice among educators to engage students with assignments constantly throughout the course to enhance their knowledge and provide practice of the subject. The impact of technological tools in improving the learning experience in the education industry has been growing immensely and has even become the norm of today. These tools not only facilitate learning but also make the process smooth and efficient for both students and teachers. One such tool is Canvas, a popular LMS (Learning Management System), which helps with administration, documentation, tracking and delivery of educational courses at colleges and universities. With the help of Canvas, it is very convenient to hand out assignments, receive submissions and release grades out to students. 

Especially in ICT education, it is also very important to make students familiar with industry standard tools. One such popular tool used across the world, especially in computing education and in the tech industry, is GitHub. Educators prefer that students learn GitHub, because it is a widespread tool in the industry and is a great facilitator of version control and issue tracking aspects of software development. Moreover, GitHub is essentially compatible with all programming languages and offers unlimited private repositories and development tools for free where students can write code and store it. Therefore, educators are very keen that students learn Git and thus be prepared for real world programming. 

Teaching Git using Canvas and CodeGrade

The best way to familiarize students with Git is to engage them with GitHub for sufficient practice. For that reason, and for workflow efficiency, it would be wonderful if the GitHub workflow could be utilised together with Canvas. Unfortunately, GitHub is not designed to meet educational needs and does not natively work together with a learning management system such as Canvas. As a result, students who use Git are required to download their programming assignment files as archives and manually upload them on Canvas for submission. Clearly, this workflow has some drawbacks and is, therefore, irritating, inconvenient and inefficient for both students and teachers. 

It becomes a very convenient workflow if students are allowed to hand-in their submissions to Canvas directly via GitHub. This is where CodeGrade can play an important role. CodeGrade is a platform that makes educators’ lives easier by providing them tools to automate grading and feedback for programming assignments, detect plagiarism, and more to increase their efficiency while simultaneously helping students’ learning experience with continuous feedback. CodeGrade provides a plugin for Canvas that adds these tools within the LMS platform. CodeGrade effectively bridges the gap by seamlessly integrating GitHub and Canvas to allow students to directly submit their work to Canvas everytime they ‘git push’, thereby smoothening the process and making it more efficient. With this workflow, students can also store their work on GitHub repositories while also sending these files directly to CodeGrade, which is then automatically available within Canvas. Once this is set up, a history of submissions is created in CodeGrade for the students and teachers to see and all of CodeGrade’s feedback and efficiency enhancing tools can be used to grade.

Get the most out of Canvas, GitHub and CodeGrade now!

How do I integrate CodeGrade and Git?

We have made the process of setting up the integration of CodeGrade and GitHub into an easy workflow for the end user. As mentioned in the steps below, the configuration can be enabled simply through the assignment settings by the teacher while CodeGrade takes care of the integration in the background. All that has to be done now is configuring the students’ Git repositories, either fully automatically or manually by the student.

Follow these steps to enable this feature:

1. In CodeGrade, go to the ‘Assignment Management’ page by clicking on the Settings button.

2. Find the ‘Allowed upload types’ under the General tab. Select the checkbox corresponding to ‘GitHub/GitLab’ to enable submissions directly via Git.

3. Now students will find the option to connect their Git repository to the CodeGrade assignment, or you can do this automatically using our API.

To learn more about CodeGrade and its features, check out our tour page, or our YouTube channel with videos explaining how to use CodeGrade. Please feel free to book a demo if you are interested in getting CodeGrade at your institution, or in case you have any further questions.

Devin Hillenius

Devin Hillenius


Continue reading

How to Stop Caring about Grades

Learn to save time with grading with alternative methods for teaching. Make your course accessible and inclusive with methods backed by research.

How to Stop Caring about Grades

Embracing a New Era: Harnessing Generative AI for Computer Science Education

Discover the transformative impact of Generative AI (Gen AI) on computer science education. Explore innovative tools and methodologies reshaping learning experiences and preparing learners for an AI-centric future. Uncover benefits, challenges, and evolving practices at the intersection of technology and pedagogy.

Coding Quizzes are here!

Discover the latest addition to CodeGrade: coding quizzes! Elevate your learning experience with dynamic assessments seamlessly integrated with AutoTest V2. Engaging, clear, and user-friendly. Learn more now!

Coding Quizzes are here!

Transforming CS Education: Innovative Strategies for Curriculum Enhancement

Discover how Experiential Learning Theory transforms traditional teaching methods and improves computer science curriculum for optimal student engagement and success.

Sign up to our newsletter

See how CodeGrade can transform your courses today!