Export Student Submissions

In Grok we have a single export function that can be used in a variety of ways. It exports a subset of student submissions for marking purposes. See our FAQ on to understand the different ways of using this information: How do I mark student work on Grok?

How do I export student marks?

  1. In your course admin area, select a course and then click the "Student Submissions" button.
  2. If you want to export all marks for the entire course, click "Export Course Submissions" at the top of the page. 
  3. If you want to export all marks for a specific module, then:
    1. Find the relevant course module in the list.
    2. Click "Export CourseModule submissions". 

This will download several files and may take several minutes, depending on how many submissions there are.

What data is included in the export?

The export contains:

  • A file called "marks.csv", which contains information about whether students passed the test cases for the problems and the manual marks (if applicable).
  • A folder called "non-anonymised", which contains an export of student submissions.
  • A folder called "anonymised", which contains an anonymised export of student submissions.
  • An export log.


This contains a list of all your students; each problem they attempted; and a pass/fail for each test case.

In this file, the column structure is as follows:

  • username: the student identifier
  • anonymous id: a hashed identifier for the student 
  • for problem #1:
    • # submissions: number of submissions this student made for this problem
    • was late?: for the assessed submission*, whether the submission was late (false) or ontime (true)
    • time: the submission time for the last on-time submission
    • late time: the submission time for the last late submission
    • anonymous marking URL: a link to the "red view" to see the student work for this problem, but student name is anonymised
    • test case #1: for the assessed submission*, whether or not the student passed this test case (1 for passed, 0 for not passed); the column header contains the test case label
    • test case #2
    • etc for as many test cases as this problem has
    • rubric: categorylabel1: points awarded for this rubric category
    • rubric: categorylabel2: points awarded for this rubric category
    • etc. for as many categories as the rubric has
    • rubric total: total manual marks awarded for this problem (i.e. sum of categories)
  • for problem #2:
    • # submissions
    • was late?
    • time
    • late time
    • anonymous marking URL
    • test case #1
    • test case #2
    • etc
  • problem #3 etc, for as many problems as this course / coursemodule contains

* The assessed submission: for each student at any point in time, one particular submission is the "assessed submission". This is usually but not always the latest on-time submission. Exactly which submission is assessed is described here: Which version of student work do I mark?

Anonymised and Non-anonymised Folders

Each of these folders contains one folder per student. Each folder contains the code that was submitted for each problem by this student. In the anonymised version, the folder is named using a hashed version of their username so that it is anonymous. You can use the passed-test-cases.csv to translate the anonymised identifier back to a student identifier.