NOTE: THIS SITE IS UNDER CONSTRUCTION
[ This documentation is meant to supplement the official Autolab guides from Carnegie Mellon – the original creators of Autolab. ]
Autolab – what is it for?
- Autolab is an online system which enables course instructors to automate the task of grading student coded homework assignments and assigning grades. Number scores/grades and other types of feedback can be shown to students immediately after submission.
- In addition, there are mechanisms for user/roster management, gradesheets, handouts, score penalties, and others. Each of these and more will be described in more in-depth sections to follow below.
Autolab – how does it work?
“Autolab” as a whole system is composed of a few components:
Autolab – the web portal that instructors, TA’s and students use
- Through this portal, instructors configure the courses and homework assignments, students submit homework solutions, and TA’s review submissions and tweak grades as needed
- Autolab is a basic RESTful web service written in Ruby on Rails
Tango – the background server which handles the actual automated grading (or “autograding,” as it is called)
- Typical users of Autolab do not interact directly with Tango, but instructors may modify and tweak certain aspects of how Tango will grade assignments via the Autolab site.
- Tango is a RESTful api server written in Python
- Every time a student submits an assessment solution, Autolab passes it over to Tango, which then uses Docker to create a fresh virutalized environment in which to run and test the solution. Afterwards, it sends back a response to Autolab that grading is complete, along with the feedback generated by autograding.