ANN: Grader.jl: Autograder for Julia coding problems

Hello all,

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!

18 Likes

Awesome, thanks, I immediatelly started following releases on GitHub!

1 Like

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 src/. Running pkg> test and see scoring table with list of (un)completed tasks.

1 Like

Thanks for your interest! I think that definitely could be done. However, there isn’t currently any integration between Grader.jl and 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.