Automatically sync student rosters between LMS and Gradescope/Ed Discussion platforms.
-
Install requirements:
pip install pandas openpyxl
-
Place input files in the same directory:
- LMS Excel file (rename to match script):
sample_lms_roster.xlsx - Gradescope CSV file (rename to match script):
sample_gradescope_roster.csv
- LMS Excel file (rename to match script):
-
Run the script:
python process_roster.py
The tool generates 4 files:
ed_discussion_invites.txt- Ed Discussion invitation listgradescope_invites.csv- Gradescope invitation list (Full Name, Email, SID)students_to_remove.csv- Students to remove from platformsinvalid_email_students.csv- Students with email errors (manual review needed)
- Compares email addresses between LMS and Gradescope
- Finds students to add (in LMS but not in Gradescope)
- Finds students to remove (in Gradescope but not in LMS)
- Validates GIST email domains only (@gm.gist.ac.kr, @gist.ac.kr)
- Uses email addresses as primary identifier
- Only processes valid GIST domain emails
- Always backup your rosters before making changes