Table of Contents

Programming Assignments

Programming assignments are available with an Institutional license.

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 successfully upload up to 256 individual files (or in a zip folder) and a total of 100MB in Gradescope directly, or they can submit larger files using a Github or 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. 

Programming Assignments are not compatible for student upload on the Gradescope Mobile App.

Submitting a Programming Assignment

Submitting work on students' behalf
By default, students can submit to a programming assignment by uploading files directly from their computer, via GitHub, or via Bitbucket. You can disable any of these submission options for a given assignment on the Assignment Settings page. Check out our student-facing Submitting an Assignment guide for more information on code submissions.
  1. 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.
  2. Click the Upload Submission button at the bottom of the screen. A dialog box will appear.
  3. Select your Submission Method. You can choose to either:
    1. Drag and drop your code file(s) into Gradescope.
    2. Submit a GitHub or Bitbucket repository. For this method, 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.
    You must grant your Github organization permissions to allow for third-party integrations in order to allow for GitHub submissions.
  4. Next, select the student’s name from the dropdown menu at the bottom of the dialog box.
  5. Then, select Upload to submit your student’s work.
Does your assignment have anonymous grading enabled? Check out our Anonymous grading guidance for submitting on behalf of students with anonymous grading assignments.


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.

A student's autograder score is determined from their last, most recent submission.

Submission interface showing autograder test results and submitted code
If you want to learn more about setting up programming assignments, check out our Gradescope Autograder Documentation and Autograder Best Practices.
Manual Grading

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). 

Regrading Submissions

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.

Was this article helpful?
Awesome, glad that it's helpful! 🙌 Have ideas on how we can improve? Sorry to hear that. Let us know what we can improve!
Need help?

Assignment Types

Bubble Sheet Assignments