{"id":5660,"date":"2025-12-09T16:07:42","date_gmt":"2025-12-09T16:07:42","guid":{"rendered":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/?p=5660"},"modified":"2025-12-09T16:07:42","modified_gmt":"2025-12-09T16:07:42","slug":"gradescope-programming-assignments","status":"publish","type":"post","link":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/gradescope-programming-assignments\/","title":{"rendered":"Gradescope programming assignments"},"content":{"rendered":"\n<p>Gradescope programming assignments allow student to submit code files in any programming language to Gradescope. Instructors can then either use Autograder to mark work or manually grade code.  This article provides an introduction to assignment setup and sources for further support.<\/p>\n\n\n\n<div class=\"wp-block-group page-navigation has-base-color has-text-color has-background has-link-color wp-elements-97804488a175ed42c30b2cb34221da82 has-global-padding is-layout-constrained wp-container-core-group-is-layout-74eabeda wp-block-group-is-layout-constrained\" style=\"border-style:none;border-width:0px;border-radius:8px;background-color:#6184d8;padding-top:var(--wp--preset--spacing--x-small);padding-right:var(--wp--preset--spacing--small);padding-bottom:var(--wp--preset--spacing--x-small);padding-left:var(--wp--preset--spacing--small)\">\n<p class=\"post-nav-title\"><strong>Contents<\/strong><\/p>\n\n\n\n<ol style=\"margin-top:5px;margin-bottom:5px;padding-right:var(--wp--preset--spacing--x-small);padding-left:var(--wp--preset--spacing--x-small)\" class=\"wp-block-list\">\n<li><a href=\"#introduction\">Introduction to programming assignments<\/a><\/li>\n\n\n\n<li style=\"margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0\"><a href=\"#getting-started\">Getting started with setup<\/a><\/li>\n\n\n\n<li><a href=\"#autograders\">Autograders<\/a><\/li>\n\n\n\n<li><a href=\"#autograder-support\">Sources of support for Autograder<\/a><\/li>\n\n\n\n<li><a href=\"#submission-process\">What can the submission process look like<\/a><\/li>\n\n\n\n<li><a href=\"#resources\">Further resources<\/a><\/li>\n<\/ol>\n<\/div>\n\n\n\n<div id=\"introduction\" class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-da79a4a7 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--base-2);border-bottom-width:2px;padding-top:10px;padding-bottom:10px\">\n<h2 class=\"wp-block-heading has-base-2-color has-text-color has-link-color wp-elements-4afbffe23aaefa5feeee73759b97d44b\" style=\"padding-top:0px;padding-right:0;padding-bottom:0px;padding-left:0\"><strong>Introduction to programming assignments<\/strong><\/h2>\n<\/div>\n\n\n\n<p>For an overview of how Gradescope programming assignment work check out the video below: <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Creating a Programming Assignment\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/RxZxBeIp3sc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<div id=\"getting-started\" class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-da79a4a7 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--base-2);border-bottom-width:2px;padding-top:10px;padding-bottom:10px\">\n<h2 class=\"wp-block-heading has-base-2-color has-text-color has-link-color wp-elements-7ae12aa7c229d3028259df3be72de936\" style=\"padding-top:0px;padding-right:0;padding-bottom:0px;padding-left:0\"><strong>Getting started with setup<\/strong><\/h2>\n<\/div>\n\n\n\n<p>The guidance below is based on documentation from Gradescope and the experiences of staff in FSE who have used the programming assignment. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The first step is to create your assignment in Canvas, choosing the assignment type\u00a0<strong>External tool<\/strong>\u00a0and selecting Gradescope. For full step-by step instructions see\u00a0<a href=\"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/how-do-i-set-up-a-gradescope-assignment-in-canvas\/\">How do I set up a Gradescope assignment in Canvas<\/a>.<\/li>\n\n\n\n<li>As part of the setup process you will need to define specific settings within Gradescope.  For further support see: <a href=\"https:\/\/guides.gradescope.com\/hc\/en-us\/sections\/27893623007501-Programming-Assignments\">Gradescope programming assignments<\/a>.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-da79a4a7 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--base-2);border-bottom-width:2px;padding-top:10px;padding-bottom:10px\">\n<h2 class=\"wp-block-heading has-base-2-color has-text-color has-link-color wp-elements-d976007303efacf4e1453eec18332036\" id=\"autograders\" style=\"padding-top:0px;padding-right:0;padding-bottom:0px;padding-left:0\"><strong>Autograders<\/strong><\/h2>\n<\/div>\n\n\n\n<p>Gradescope provides a language-agnostic platform for running Autograders on their infrastructure by running in Docker containers.  Autograders run by default on an Ubuntu image in a Docker container.<\/p>\n\n\n\n<p>The Autograder consists of a setup script which will install any dependencies needed along with an executable script that does something appropriate with the submitted code and provides results conforming to a spec (essentially a JSON output that describes the results).<\/p>\n\n\n\n<p>After uploading an Autograder, Gradescope will try and build it \u2013 pulling dependencies.  Once configured, you can test the Autograder by submitting some code. <\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-da79a4a7 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--base-2);border-bottom-width:2px;padding-top:10px;padding-bottom:10px\">\n<h2 class=\"wp-block-heading has-base-2-color has-text-color has-link-color wp-elements-714b78923a445620ba3908b6eead187c\" id=\"autograder-support\" style=\"padding-top:0px;padding-right:0;padding-bottom:0px;padding-left:0\">Sources of support for Autograder<\/h2>\n<\/div>\n\n\n\n<p>For information on how to get started check out <a href=\"https:\/\/gradescope-autograders.readthedocs.io\/en\/latest\/\">Gradescope Autograder Documentation<\/a>, which also contains <a href=\"https:\/\/gradescope-autograders.readthedocs.io\/en\/latest\/python\/\">example Autograders <\/a>(Python, Java, C#).<\/p>\n\n\n\n<p>If you need help with set up Gradescope recommends that you email <a href=\"mailto:help@gradescope.com\">help@gradescope.com<\/a>.  You can also ask questions on the <a href=\"https:\/\/github.com\/gradescope\/autograder_samples\/discussions\">Github discussion forum<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-da79a4a7 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--base-2);border-bottom-width:2px;padding-top:10px;padding-bottom:10px\">\n<h2 class=\"wp-block-heading has-base-2-color has-text-color has-link-color wp-elements-ebb1ea3935c07508391d82f2e85158e5\" id=\"submission-process\" style=\"padding-top:0px;padding-right:0;padding-bottom:0px;padding-left:0\"><strong>What can the submission process look like?<\/strong><\/h2>\n<\/div>\n\n\n\n<p>Students can submit via upload to Gradescope or through a git repository. The uploaded files can then be run against the Autograder code.<\/p>\n\n\n\n<p><strong>Direct submission<\/strong>:<\/p>\n\n\n\n<p>Zip files can be used to submit a directory structure.  With this approach staff need to make sure that the archive unpacks into the appropriate directory structure.&nbsp;<\/p>\n\n\n\n<p><strong>Integration with Git repositories:<\/strong><\/p>\n\n\n\n<p>Gradescope allows integration with <strong>git<\/strong> repositories. Integration allows students to identify a repository and branch that will be pulled into the Autograder. Out of the box, Gradescope allows integration with github and bitbucket. Integration with gitlab is also possible but requires some set up in order to support authorisation.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/www.teachingcollege.fse.manchester.ac.uk\/wp-content\/uploads\/2024\/05\/Submit_Programming.png\" alt=\"\" class=\"wp-image-11278\" style=\"width:209px;height:auto\"\/><\/figure>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-da79a4a7 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--base-2);border-bottom-width:2px;padding-top:10px;padding-bottom:10px\">\n<h2 class=\"wp-block-heading has-base-2-color has-text-color has-link-color wp-elements-081f9cf924309e5e663ca1e5fb5118f5\" id=\"resources\" style=\"padding-top:0px;padding-right:0;padding-bottom:0px;padding-left:0\">Further resources<\/h2>\n<\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.teachingcollege.fse.manchester.ac.uk\/using-gradescope-to-autograde-programming-assignments\/\">Case Study: Using Gradescope to Autograde Assignments <\/a>(Computer Science)<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gradescope programming assignments allow student to submit code files in any programming language to Gradescope. Instructors can then either use Autograder to mark work or manually grade code. This article provides an introduction to assignment setup and sources for further support. Contents Introduction to programming assignments For an overview of how Gradescope programming assignment work [&hellip;]<\/p>\n","protected":false},"author":26,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5660","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/wp-json\/wp\/v2\/posts\/5660","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/wp-json\/wp\/v2\/users\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/wp-json\/wp\/v2\/comments?post=5660"}],"version-history":[{"count":4,"href":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/wp-json\/wp\/v2\/posts\/5660\/revisions"}],"predecessor-version":[{"id":5664,"href":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/wp-json\/wp\/v2\/posts\/5660\/revisions\/5664"}],"wp:attachment":[{"href":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/wp-json\/wp\/v2\/media?parent=5660"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/wp-json\/wp\/v2\/categories?post=5660"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.elearning.fse.manchester.ac.uk\/getting-started-with-canvas\/wp-json\/wp\/v2\/tags?post=5660"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}