Simple scripts to automate a bit of the homework grading process for instructors and TA's.
Scripts include:
batch_submit_issues.shbatch_pull_grades.sh
The shell scripts use the github/hub tool to create and read issues by command line. Follow the installation instructions found at their github page to install the tool on your device.
For more information about the Hub tool, user documentation can be found here.
This script will batch submit the homework grades (github issues) for all the student homework repos. The script should be placed in the parent directory where you have all the homework repos stored locally. Grade all the homeworks by modifying the ISSUE_TEMPLATE.md file in each repo. Then, run the shell script once in the parent directory (one level above all homework repos) to batch submit all the grades.
- Will submit grades for students simultaneously to ensure all students receive feedback at the same time for homework. This eliminates the need to manually create a feedback issue on each student's homework repo.
- Only student homework repos can be located in the directory with this script. The shell script moves into each sub-directory (homework repo) and tries to submit an issue, even for directories that are not github repos.
- Download all the homework repos to your local machine. When grading the homework, modify the
ISSUE_TEMPLATE.mdfile in each repo rather than making an issue through the github webiste. - Copy
batch_submit_issues.shinto the parent directory of all the homework repos. - Decide on your title for the issues, e.g. "SEDS HW1 Feedback"
- Once you are ready to send out the issues to all the students, simply run the shell script using your issue title as the first and only argument. Don't forget to use quotes to encapsulate the argument if it has spaces.
This script will batch pull homework grades (github issues) for all the student homework repos The script should be placed in the parent directory where you have all the homework repos stored locally. Run this script once in the parent directory to record initial and final grades for each student.
- Filters out issues and comments made by anyone else but the specified grader.
- Handles multiple re-grades by recording only first and last grades noted by the grader.
- Only student homework repos can be located in the directory with this script. The shell script moves into each sub-directory (homework repo) and tries to submit an issue, even for directories that are not github repos.
- All grades must be submitted in grading issues with the same title. This will be true if
batch_submit_issues.shwas used to submit the original grades. - All re-grades should be given as comments to the original grading issue.
- Grades must be given in the form
x/5for the script to find the scores and only whole points (e.g. 4, not 4.5) are accepted.
- Download all the homework repos to your local machine.
- Copy
batch_grade pull.shinto the parent directory of all the homework repos. - Note the issue title where grading occurred, e.g. "SEDS HW1 Feedback".
- Decide on the csv filename for recording grades, e.g. "grades.csv".
- Once you are ready to pull grades, simply run the shell script with the following arguments, suing quotes to encapsulate arguments with spaces:
batch_grade_pull.sh <grader's github username> <issue title> <filename>