Setting assignments

Nuvolos supports the creation, dissemination, and review of assignments, without having to download, upload, and send files around.

Always use the Master (instructor's) instance to create an assignment.

Creating an assignment

An assignment is a collection of Nuvolos objects (e.g. files, folders) and an associated deadline until which the students can hand in their work.

An assignment is created whenever during material distribution time, the "Create an assignment" checkbox is selected. In this case, the deadline until which hand-ins are accepted needs to be selected (after the deadline passes, students can no longer hand-in material). You also need to set a hand-in size limit.

Created assignments are visible on the dashboard of a space, as well from Assignments overview page, that can be accessed from the sidebar as shown on the image below.

Note that you should only include objects in the assignment which students are expected to change and hand-in for the evaluation. Let's see some examples:

Assignment with fixed files

Let's assume we've selected the following files for the assignment:

/Assignment1/instructions.pdf
/Assignment1/exercise.ipynb
/Assignment1/results.csv

In this case, the students have the instructions for the exercise in instructions.pdf. They need to complete the prepared exercise.ipynb file and execute all cells successfully, such that in the end a results.csv file is generated. During hand-in, all 3 files will be collected and copied to a new location for review and grading. This is ideal for simple exercises, because the format of the collected documents is fixed: students can only hand-in these fixed 3 files, and nothing else.

Assignment with folders

There are cases where students need to have more freedom in what they want to hand. For example, the output format depends on the group exercise. In such cases, the instructor can add a folder to the assignment, like this:

/Assignment1/instructions.pdf
/Assignment1/solution

Now, students can put multiple different files/folders under the solution folder.

Assignment with data

Sometimes assignments require datasets, e.g. training data for an ML model. In that case, a 2-step process is recommended:

  1. First distribute the dataset using normal distribution. Wait until the confirmation email arrives, then all students have the datasets already.

  2. Then create the assignment only with the files the students are expected to change. Example:

/Assignment1/dataset -> share using normal distribution
/Assignment1/exercise.ipynb -> add only this to the assignment

We don't recommend sharing more than a few 100 MB of dataset data using distributions. Consider using Large File Storage for larger datasets.

Hand-in size limits, storage considerations

When you create an assignment, the system will ask you to set a hand-in limit between 1 MB and 100 MB. This limit is going to be enforced for every hand-in for every student. Note that the limit applies for all files combined - in case your assignment has multiple files, their total combined size must not exceed the set hand-in limit. Students will see a message like this if the total size exceed the hand-in limit:\

Why are hand-in limits important?

When an assignment contains a folder, often unintended files are left inside these folders which consume considerable storage space, e.g. entire python virtual environments, data dump files, etc. Whenever a student hands in 10 MB of data, it gets copied over to the Distributed instance twice - once the hand-in, which is read-only for all users, and once the hand-back, which is editable for the instructors. Without such limits, the Distributed instance can quickly run out of storage space, preventing further hand-in for everyone! Should such a scenario arise, resource pool managers can still increase the storage quota to make room for new submission files in the Distributed instance.

If you've created your assignment before the hand-in limit was introduced, the system will ask you to set a limit the next time you change any settings related to it. Setting a hand-in size limit does not impact submissions made before, and can be changed later anytime.

Viewing the assignments

As described in the previous section, the assignment overview page provides a more detailed description of the assignments in the space. Here you will be able to check the submission and the assignment status. From red to green, colors indicate how much time is still left to hand in solutions.

Modifying assignments

Space administrators can modify assignments (deadlines, descriptions and handback visibility) from the assignment overview page under the actions column, or by opening an assignment from the space overview or from the assignments overview page by clicking on the edit button under the details.

Reviewing assignments

To grade assignments, a space administrator can click the "Grade" button on the assignment view. This will open the grade table, from which each assignment hand-in can be opened by clicking the "Review" button.

This will launch the application inside the student instance, with a copy of the student submission mounted in the files area. All packages installed by the student will be available for the instructor, so open-ended projects are fully supported as well.

The files submitted can be downloaded without opening an application under the handback tab. You can select which handin to review from the dropdown menu shown below.

Students are allowed to submit solutions multiple times until the assignment deadline has passed. However, Nuvolos only allows you to grade the latest submission coming from the same instance, and by default, only these submissions are shown on the Handin tab. To inspect non-latest hand-ins, uncheck the "Show only gradeable handins" checkbox on the Handin tab. Also, the name of each submission may be chosen freely by the students to support using custom identifiers (e.g., student ID number, etc.). Nuvolos will group submissions coming from the same instance as different versions coming from the same entity, and only the latest submission will be gradeable, even if there were different submissions in the same instance by different users under different names.

Providing feedback

Feedback can be provided inside the submitted files in any form the instructor sees fit (Nuvolos maintains a copy of the original handed in file for reference if needed).

We suggest making explicit (inline) comments so that it is clear to the student when reviewing the hand-back what has been the instructor's (I) comment. An example is below:

var = 1   # I: Use a more informative variable name

test_tuple = (False, "test")

if test_tuple:   # I: Use test_tuple[0] instead
    print("This should not appear.")

Once the files have been reviewed, the instructor can assign a grade by clicking the grade icon on the sidebar, which brings up the grade table. There the currently graded instance/hand-in will be highlighted and a grade can be entered as free text.

Handing back assignments

During the grading process, the hand-backs are not visible to students. Once the review of all hand-ins is completed, the assignment can be edited as described above and the visibility of hand-backs can be enabled.

By opening the assignment view, students will be able to view their grades and also launch the application with the corrected files available for review (without being able to modify them).

When students start their applications after hand-backs have been enabled, they will see a special Assignments > handback folder, which will contain the reviewed version of the material (read-only). They can then check the reviewed file for feedback from the instructor. Or alternatively they can view the files under the handin and handback tabs from the assignment view.

Exporting grades

Grades can be exported from the grade table in Excel format which can then be used to upload to other systems if needed.

Last updated

Was this helpful?