Autolab is an open-source automated code-grading LMS used by the CSE Department to provide students with instant, high-quality feedback on their programming assignments
Autolab is the primary platform for submitting and grading programming assignments within the CSE department. Originally developed at Carnegie Mellon University and open-sourced in 2015, the UB CSE department began experimenting with it for a few courses in 2017. Today, it’s imperative to our academic mission, serving as the backbone for nearly every programming-heavy course in the department. Handling over 2,000 daily submissions, Autolab provides near-instant, high-detail feedback at a scale unachievable with manual grading, ensuring consistent academic standards across the department’s largest courses.
Autolab is composed of several services beyond the core web application. The Tango job scheduler distributes autograding tasks across six grading servers. The Autolab Self-Service Portal provides additional functionality that doesn't belong in the core application, such as retrieving data from external university databases. The entire project utilizes four database technologies for different purposes (MySQL, PostgreSQL, Redis, and Oracle) and two reverse proxies (Apache and Nginx). Additional tools are used for deployment, authentication, and system monitoring.
Visit Autolab at autolab.cse.buffalo.edu
Visit the Autolab Self-Service Portal at autolab.cse.buffalo.edu/portal
Read our extensive documentation at napps.cse.buffalo.edu/docs/autolab
Autolab is primarily managed by Nicholas Myers on the SENS Software Engineering Team (formerly CSE IT). The best way to contact us about Autolab is to send a detailed email with a subject containing "Autolab" to cse-consult@buffalo.edu. We're happy to help with anything you need, whether you have questions, a bug report, or a feature request.
Students, please reach out to your instructor first, unless you're absolutely certain there's a system-wide problem with Autolab. We do not control course enrollment.