Only works on Linux, Mac, or Windows with linux environment enabled
The script handles pulling github repo and slightly edits the grading repo's meta.sh script. Whenever using any of the scripts, please do a "git pull" to make sure that scripts are up to date and lead to grading the students' submissions correctly.
- Install 'sshpass' on your laptop (could be quite daunting to install on Mac/Windows)
- Clone the CS314_grade repository at some location on a remote lab machine
- Edit config.cfg file according to your needs:
- username is your CS username
- machine is the CS machine of your preference (e.g. aquarius)
- gusername is your Github username
- remoteRelativePath is the path to the grading directory on the CS machine relative to home directory
- Put all the scripts in the same directory (grade.bash, getUploadZip.bash, cleanup.bash, cleanMess.bash, config.cfg)
- Download the submissions.zip from canvas and put it in the same directory where the scripts are
- Run the following command to grade the submissions in the remote directory and retrieve all the correctness-graded submissions:
bash ./grade.bash <AssignmentNumber>
- OPTIONAL: If you suspect that running the above command created a mess (either because of a mistake/typo on your part, or a faulty submission by a student, run the following command:
bash ./cleanMess.bash <AssignmentNumber>
- OPTIONAL: Then perform step 3 again (possibly step 2 as well), after fixing whatever caused the "mess"
- OPTIONAL: If you suspect that running the above command created a mess (either because of a mistake/typo on your part, or a faulty submission by a student, run the following command:
- The retrieved tested submissions can be found in the respective assignment directory. Grade them for style.
- Run the following command to copy the graded submissions back to the remote computer and zip it and retrieve it:
bash ./getUploadZip.bash <AssignmentNumber>
- The retrieved zip file can be found in the respective assignment directory. Upload it back to canvas
- OPTIONAL: Run the following command to only keep the feedback files on local computer and delete every other student file (like code):
bash ./cleanup.bash <AssignmentNumber>
- Do not know how the scripts will behave if you run them on an assignment that has already been graded
- Do not know how the grade.bash script will behave if wrong github password is entered (Script will exit if wrong CS password is entered)