Prototype questions and customization

Re: Prototype questions and customization

by Tom Spander -
Number of replies: 0
Hey, thank you very much for the extensive reply. Of course that wasn't quite as straightforward as I was hoping it could be but your response was still helpful.
I thought I would also check in to give an update on what we've ended up doing.

I've decided to develop the custom grader in a proper Java Maven project. This way I can use external libraries for serialization and bundle everything in one JAR file with all dependencies included, and add that as a support file to each question. (It's a much nicer developer experience too.)
If the custom grader is updated, that does mean I have to change out the file in all questions, but I believe this will still be the "minimum impact" solution for maintaining it in the future. I've resigned myself to having to update existing tests to use the new grader, but I think that is probably a good thing anyways since a lot of the tests could use a bit more structuring.

I've gone a bit further with the custom grader because we also wanted to catch compiler errors and display some more helpful tips to the students. I actually did not know this before, but it is possible to compile Java code from a string inside Java and run it in the same execution context. That means I can pass in the tester code to my custom grader as a string, try-catch the compilation and add custom behavior if it fails.