I’m using GIthub Classroom in a Computer Science class and having my students push their assignments to their classroom repo.
For my first simple assignment (Hello, World), I was able to set up an autograding test to check that their program does, in fact print “Hello, World!”.
For future assignments I am having the students write programs that read input files and print appropriate output. I can put a sample file into their repository, but for grading I want to use different input files that the students haven’t seen before.
Is there a way to set up autograding to pull input files from some other place that the students can’t see, and the run them against the students’ code?
Might be a bridge too far. However, you could host your input file someplace and pull it in when the tests are run by using wget, for example the following would pipe the contents of a Gist into the program student_program.exe.
Another approach could be writing a small script to copy the file into each student repo and create a new commit that gets pushed for grading. That would be completely hidden from students but requires that you make the final commit to submissions…and write the script (should just be a simple for loop though).