Table of Contents
Creating a Programming Assignment
To create a programming assignment, go to the course’s Assignments page and click Create Assignment in the bottom right of the page. Select Programming Assignment from the list of assignment types.
Students can submit multiple files of any file type, including files of different types, to programming assignments on Gradescope. Students can also submit to Gradescope via GitHub and Bitbucket integration. You can then autograde the code, manually grade it with a rubric and in-line comments, or use a combination of autograding and manual grading.
Submitting a Programming Assignment
Submitting work on students' behalf
- Open your assignment. Click the left side panel to expand it (if it isn’t already) and select Manage Submissions. This will take you to a list of submissions that have been made to this assignment so far.
- Click the Upload Submission button at the bottom of the screen. A dialog box will appear.
- In the dialog box, select your Submission Method. You can choose to either drag and drop your code file(s) into Gradescope OR submit a GitHub or Bitbucket repository. If you choose to submit from GitHub or Bitbucket, you will first need to connect your account if you have not already. You will then be prompted to choose the repository and branch. You can upload as many files as you’d like, including files of different types. Note that you must grant your Github organization permissions to allow for third-party integrations in order to allow for GitHub submissions.
- Next, select the student’s name from the dropdown at the bottom of the dialog box.
- Then, select the Upload button to submit your student’s work.
Creating and using an Autograder file
With our autograder platform, you have full flexibility in setting up whatever language, compilers, libraries, or other dependencies you need. You provide us with a setup script and an autograder script, along with whatever supporting code you need, and we manage accepting student submissions, running your autograder at scale, and distributing the results back to students and to you.
As an instructor, you can create a new programming assignment on Gradescope and upload your autograder zip file using our autograder specifications. Your code produces output in the format that we request. Students submit to Gradescope and have their work evaluated on demand. They can submit as many times as they want and get results back as soon as the autograder finishes running.
If you update your autograder after students have submitted, you can rerun it on all submissions at once from the assignment’s Manage Submissions page.
You can also grade students’ code manually using the Gradescope grading interface. To enable manual grading, check the “Enable Manual Grading” box when creating a programming assignment. You can also enable this on the settings page for an existing assignment. Your students can then upload their code, and you can grade it from the Grade Submissions tab, using a rubric and in-line comments. Note that students won’t be able to see any scores or feedback from manual grading until you Publish Grades from the assignment’s Review Grades page.
If manual grading is enabled for a programming assignment, you can indicate one or more manually graded questions on the assignment’s Edit Outline page. You can have both autograded and manually graded components on one programming assignment, or you can skip the Configure Autograder step, set the Autograder question on the Edit Outline page to be worth 0 points, and only use manual grading to grade students’ code. Rerunning the autograder on any (or all) submissions will preserve any manual grading.
Regardless of whether you’re using Autograding, Manual Grading, or a combination of the two, once submissions are in, you can download all students’ code submissions in bulk by selecting the Assignment > Review Grades (left side panel) > Export Submissions (lower right corner).
If the autograder score for programming submissions needs to be recomputed or rescored, you’ll find a Rerun Autograder button on the assignment’s Manage Submissions page as well. Rerunning the autograder will only rescore the most recent and active submission. Any manual grading will remain unaffected.
Using Code Similarity
In any Programming Assignment, you can also use the Code Similarity tool, which will help determine commonalities among your students’ code. This tool does not automatically detect plagiarism but rather shows you how similar programming submissions are to each other. Code similarity is available for both autograded and manually graded assignments and for most programming languages. For more information on checking for similarity among your students’ submitted programming assignments, check out the full guide on Code Similarity.