Submit to Canvas directly from GitHub
October 21, 2020

Connecting GitHub and Canvas for programming assignments

In 30 seconds...

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

Co-founder, Product Expert
Devin is co-founder and Product Expert at CodeGrade. During his studies Computer Science and work as a TA at the University of Amsterdam, he developed CodeGrade together with his co-founders to make their life easier. Devin supports instructors with their programming courses, focusing on both their pedagogical needs and innovative technical possibilities. He also hosts CodeGrade's monthly webinar.

Continue reading

Could Natural Language Programming change the future of coding for the better?

We can all agree, coding is hard. But, imagine if one tool could simplify the process? In this blog, Sam discusses OpenAI Codex, a platform that translates natural language into code, using AI. Could this be the start of a new era of coding?

Do you know the 3 types of coders and their needs?

Learn how to identify the three types of coders: students coding to understand, students coding as a skill and those learning coding as a career. We also explain the needs of these groups and how you can best tailor your code classroom to them.

New release CodeGrade PerfectlyNormal.2 and Happy Holidays from CodeGrade!

Happy Holidays from Team CodeGrade! We recap 2021 and would love to tell you about CodeGrade PerfectlyNormal.2, improving the Peer Feedback feature and making CodeGrade even more efficient!

Using NBGrader for Python Jupyter notebooks in CodeGrade

Learn how to autograde Python Jupyter Notebooks using the NBGrader tool in CodeGrade to give your students instant feedback.

Learn more about CodeGrade!

Grow your coding classroom
without compromise.