Want to know how Anubis works internally? We have a 20+ page design doc that thoroughly explains how Anubis works under our docs. Don't worry, there are a lot of pictures :)
Be sure to check out our blog!
Anubis is a distributed LMS (learning management system) created by John Cunniff that is specifically designed for automating CS courses. Anubis has been used and battle tested at NYU Tandon for several semesters. The main purposes of this system is to autograde homework submissions, and provide our own Cloud IDE solution to simplify the student experience.
Anubis is built by CS students for CS students
Under Anubis each student gets their own github repo for each assignment. When they push to their repos, Anubis sees the push and runs tests on their code. The results are then available to students on the Anubis website before the deadline Under this model students can push as many times as they would like before the assignment deadline.
If you would like to read more on how autograding and assignment management works from a TA/Professors perspective, check out our detailed design doc
Anubis also provides student one click Cloud IDEs that are accessible in the browser. The Cloud IDEs are optimized for each courses needs. Students can get a fully insulated, pre-configured, and stable IDE and linux environment in seconds. No more clunky cloud VM solutions, or spending the first several weeks of the class getting Vagrant to work on hundreds of student laptops. Students do not need to install, or configure anything for Anubis. Everything is accessible in the browser.
If you would like a more detailed description of how the IDEs work internally, check out the sections on the IDEs in our design doc
Simply by placing timestamps on thing that are already tracked like submissions and the test results for submissions, we can start to both ask and answer some interesting questions about how well students are understanding certain topics.
For a more detailed description (plus visuals) of how admin insights work in Anubis, check out the section on usage statistics in our design doc
- Checkout the project board to see what you can contribute
- Checkout our Development Guide to get up and running debugging Anubis
- Checkout the Contribution Guide to see how to submit PRs and Issues
The best place to get familiar with the internals of Anubis is to read our very comprehensive design doc. Try finding the places in the code that are referenced in the code doc. You will get familiar with the layout of the project, and the internals of the system.
Anubis is available under the MIT license. Anubis also includes external libraries that are available under a variety of licenses. See LICENSE for the full license text.