I’ve created an autograder for Julia assignments. It can run code written by a student and grade it against an answer key or other criteria. Currently it outputs grade results in a format compatible with PrairieLearn, but other formats could be added. I hope it is useful to someone, and comments/suggestions are welcome!
Awesome, thanks, I immediatelly started following releases on GitHub!
Can Grader.jl support this workflow, which I find pretty?
Teacher perspective. Create a template repository with an ordinary Julia package. The package does not contain full
src/ implementation, but the package contain
test/-s with scoring, e.g.
@gradedtest foo() == 1.5 score=1.
Student perspective. Fork or download the template. Implementing
pkg> test and see scoring table with list of (un)completed tasks.
Thanks for your interest! I think that definitely could be done. However, there isn’t currently any integration between
Test.jl, and that would have to be added for your workflow to work. There is also the question of how to communicate each student’s grades back to some central database for purposes of grade tracking and reporting. That could probably be done with github actions but might be a heavy lift.
Anyway, overall I think
Grader.jl could be a component in a larger system to realize the workflow you describe, but it definitely doesn’t do the whole thing. I currently use the prairielearn framework to accomplish a similar workflow.