Download Student Submissions

Just in time for the spring semester we’ve pushed out a new feature that will allow you to download student submissions from programming problems.

You’ve always been able to view your students’ submissions when you embed a ClassCube problem into an LTI consumer like Canvas or Moodle. Now with a couple of clicks you’ll be able to download a zip file with all of their submissions.

How to Download

First step is to go to the assignment. We’re using Canvas for these screen shots, but the process is the same in Moodle even though it might look a little different.

When you get to the assignment there’s a small hamburger menu on the right side. Click on that and you should see a Student Submissions link. Click that.

Student Submissions Link
Link to view student submissions

Once you clicked on Student Submissions you should see a pop-up that shows all of the submissions that any students have sent in. Using the drop downs on the top you can select what student to view and which of their submissions you want to see.

To the right there is a download icon. It’s the small gray icon to the far right with the downward facing arrow.

Download Icon
Download Icon

Go ahead and click on the icon. It should bring up the following screen.

Download Student Submissions
Download Student Submissions Pop-Up

On this screen you’ve got a couple of options.

First, decide if you want to download only the submissions for the currently selected student or from every student that has attempted the problem. My guess is you’re probably going to want to download from everyone most of the time.

And you’ll need to decide if you want to download only each student’s most recent submission or all of their submissions.

Once you make your choices click on the blue Download button and you will be able to download a zip file that contains the submissions.

Download Student Submissions

Now that you have your zip file, let’s take a look at the contents.

Inside the zip you should find a folder for each student that you requested. If you only downloaded submissions for a single student, there will be one folder. If you’re download from everyone you should see one folder for each student.

Zip File Contents
Contents of zip file after downloading student submissions

In this case there were only two students that have attempted the problem so there are only two folders. It’s likely that you’ll have more students.

If you only selected the most recent submissions to download you’ll find their files inside each folder.

If you opted to download all submissions you’ll find that each student folder contains a subfolder for each submission.

Multiple Submissions
Student folder with multiple submissions

Each of these folders is named based on the time and date of the submission. It’s year, month, day followed by hour, minute, second. In each of those folders you’ll find that specific submission.

Checking for Plagiarism

One reason to download every submission might be to check and make sure that everyone is doing their own work. You don’t want to wind up with 45 copies of the exact same code.

If you’re not already using it, take a quick look at the Stanford MOSS program. It’s an online tool that lets you upload student code and it will give you a link back where you can see how similar the submissions are. It’s up to you to decide what to do with that information.

You will need to get an access code, although that just takes a quick email to an automated responder. Instructions are on their site. And you’ll need to grab a program to make it easier to submit. There’s a Windows program on their site that’s fairly easy to use.

Stanford MOSS GUI
Windows GUI for Stanford MOSS

To use MOSS with ClassCube you’ll want to select only the most recent submissions when you download student submissions. The zip file you download will already be formatted for use with MOSS, although you’ll need to unzip it first.

There’s more to using MOSS, but it’s a little out of scope for this post. But once you’ve used it a couple of times it’s pretty easy to handle.