Instead of generating an autograder.zip file this time, we must generate two files: run_autograder.R and assignment_tests.R. The first will run on the instructor's own machine.
[ ] List of extra packages they want to authorize students to use
[ ] path to folder with all required data files
[ ] path to folder with all student submission files (doesn't matter their name, and doesn't' matter how deep the directory tree is)
[ ] variable number of logical expressions that the instructor expects to be true (e.g. myData[1,1] == 6) (no visibility settings this time)
Extra thoughts:
I'm not sure how we should combine this interface with the other Gradescope interface. Should we just link/iframe to each shiny interface from a homepage? Or should we combine these two shiny apps into one app?
Student submissions that have bugs in them just terminate the entire grading process. Right now, when it stops on a failure, the instructor can go in and comment out student code judiciously. This can't be automated as far as I know. Should we instead skip over the bad student submissions and keep going? What happens if they fail? Should we move that submission to a different folder? R code in a CRAN package is not allowed to make changes to the user's file system, though.
File paths are tricky. Should we just use global paths everywhere? Below is a sample run_autograder.R from a few years ago (this won't run on your machine)
library(stringr)
library(gradeR)
library(dplyr)
# set the root directory
setwd("~/UVa/all_teaching/fall19_5430/data/")
grades <- calcGrades("../homeworks/hw2/submissions/HW2/", # submission directory
"../homeworks/hw2/hw2_test_file.R", # your test file
verbose=TRUE)
# assign points to each number
grades$perc <- rowSums(grades[,-1])/(ncol(grades)-1)*100
# only see final scores
# grades[,c(1,ncol(grades))]
# look at the percent of students that got each question correct
# super low numbers coul dbe indicative of faulty tests
# also helpful for grade reporting
# colSums(grades[,-1])/nrow(grades)
Instead of generating an
autograder.zip
file this time, we must generate two files:run_autograder.R
andassignment_tests.R
. The first will run on the instructor's own machine.Extra thoughts:
run_autograder.R
from a few years ago (this won't run on your machine)