Skip to content

Getting Started ​

The Gradescope Submitter is a web application that integrates D2L Brightspace LMS with Gradescope for automated code grading. It provides students with an in-browser code editor that allows them to write, test, and submit Python code directly from their D2L quizzes.

How It Works ​

Student in D2L → Opens Quiz → Iframe loads Code Editor → 
Student writes code → Runs locally (Pyodide) → Submits to Gradescope → 
Gradescope autogrades → Results displayed

System Components ​

The system consists of:

  • Express.js server — Handles authentication and Gradescope API calls
  • CodeMirror editor — In-browser code editor with syntax highlighting
  • Pyodide — Real Python execution in the browser for testing code
  • LTI 1.3 integration — Secure connection between D2L and the platform

Prerequisites ​

Before starting, ensure you have:

RequirementVersionNotes
Node.js18.x or higherDownload
npm9.x or higherComes with Node.js
GitAny recent versionFor cloning the repository
Gradescope AccountInstructor accessMust be able to create assignments
D2L BrightspaceAdmin accessFor LTI tool registration

Server Requirements ​

  • Hosting: Any server that can run Node.js (AWS, Heroku, DigitalOcean, university server, etc.)
  • Domain: A domain name with HTTPS (required for D2L iframe embedding)
  • Ports: 3000 (HTTP) and 3443 (HTTPS) or configure as needed

Next Steps ​

Released under the MIT License.