Gradescope Programming
Gradescope is a tool that enables electronic submission and marking of handwritten responses, typed responses, formulae and diagrams, programming code and multiple choice. It is available to use within University of Manchester course units.
Students can submit code files in any programming language to Gradescope. Instructors can then either use Autograder to mark work or manually grade code.
For an overview of how Gradescope programming assignment work check out the video below:
Programming assignments – getting started
The guidance below is based on documentation from Gradescope and the experiences of staff in FSE who have used the programming assignment in Gradescope.
If you’d like to use Gradescope in your course, the first thing you’ll need to do is set up Gradescope within your course unit. (Check out the article: Gradescope: Get Started)
Autograders
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.
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).
After uploading an Autograder, Gradescope will try and build it – pulling dependencies. Once configured, you can test the Autograder by submitting some code.
Sources of support for Autograder
For information on how to get started check out Gradescope Autograder Documentation, which also contains example Autograders (Python, Java, C#).
If you need help with set up Gradescope recommends that you email help@gradescope.com. You can also ask questions on the Github discussion forum.
What can the submission process look like?
Students can submit via upload to Gradescope or through a git repository. The uploaded files can then be run against the Autograder code.
Direct submission
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.
Integration with Git repositories
Gradescope allows integration with git 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.
The eLearning team can provide you with some additional guidance on integration with git repositories on request. Please submit a request via the support portal.
Further resources:
- Case Study: Using Gradescope to Autograde Assignments (Computer Science)