Submit to Canvas directly from GitHub
Articles
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.

Continue reading

Best Practices for Rubric Design in Coding Assignments

Discover best practices for rubric design in coding education. Learn to align rubrics with learning objectives, use automated tests, and explore ungrading for fairer, growth-focused assessments

Watch now! How to teach Python

Watch our 2024 webinar for updates on the Introductory Python course, including new modules, knowledge checks, and grading automation with CodeGrade.

Follow A New User!

See how CodeGrade streamlines grading and improves assignment design in programming courses.

How to configure an AI Assistant for code

CodeGrade’s AI Assistant offers a flexible way to support coding education through tailored guidance and feedback. This guide explains how to configure and customize the assistant to fit your teaching goals, from helping students debug code to providing conceptual explanations.

Sign up to our newsletter

Transform your Jupyter Notebooks course today!