- The latest version of Python 3
- Anonymize survey data
- Anonymize gradebook data
- Canvas Submission Retrieval
- Cluster Students
- Student Attendance Exploration
CANVAS_ACCESS_TOKEN=
CANVAS_COURSE_ID=
Information on how to retrieve these values can be found in this guide.
Run python anonymize.py to remove sensitive data from collected .csv files. This assumes that the .csv schemas are
properly documented in the /schemas directory. Currently, this includes:
- Gradebook data
- Survey data (Background survey & Impressions of HCI survey)
- Navigate to the root directory.
- Place all un-anonymized .csv files in the
/raw_datadirectory. (Overwrite the current .csv files in that directory)- Open
anonymize.pyand ensure that the names and file paths of each file are accurate.- Run
pip install -r requirements.txt- Run
python anonymize.pyin your terminal.- Now you should have a
/datadirectory containing the anonymized versions of the .csv files.
- More details about the format of the resulting anonymized .csv files can be found in the related .md files in
/scripts.
Run python cluster_impressions.py, to perform clustering on the Impressions of HCI Survey Data,
or python cluster_background.py to perform clustering on the Background Survey Data. After running either script the
clustering graph will be displayed.
Run python canvas_submission_retrieval.py [COURSE_ID]. If no COURSE_ID is specified, then the CANVAS_COURSE_ID
in .env will be used.
- Navigate to the root directory.
- Make sure Key.csv is in
/keysdirectory.- Open
submission_retrieval.pyand ensure that the names and file paths of each file are accurate.- Run
python canvas_submission_retrieval.py [COURSE_ID].
- Now in
/datadirectory should have a/canvas_submissionfolder that contains a/<COURSE_ID>folder which stores anonymized submission information in.jsonformat.- More details about the format of the resulting
.jsonfiles can be found in the related.mdfiles in/scripts.
Run python reading_logs_retrieval.py [COURSE_ID]. If no COURSE_ID is specified, then the CANVAS_COURSE_ID
in .env will be used.
- Navigate to the root directory.
- Make sure Key.csv is in
/keysdirectory.- Open
reading_logs_retrieval.pyand ensure that the names and file paths of each file are accurate.- Run
python reading_logs_retrieval.py [COURSE_ID].
- Navigate to the root directory.
- Open
average_kmeans_iterations.pyand ensure that the names and file paths of each file are accurate. You can also update the number of iterations you want to determine the average for.- Run
pip install -r requirements.txt.- Run
python average_kmeans_iterationsand the average iterations for convergence will be printed to the terminal.
Run python student_attendance.py, which will plot the graph showing student's attendance over time. This assumes
that data/anonymized/attendance.csv exists and conforms to the schema in schemas/attendance.py.
- Navigate to the root directory.
- Ensure
data/anonymized/attendance.csvexists.- Open
student_attendance.pyand ensure that the names and file paths of each file are accurate.- Run
pip install -r requirements.txt- Run
python student_attendance.pyin your terminal.- The plot will be displayed upon the completion of the script.
Run python reading_logs_completion.py, which will plot the average completion time vs. the expected completion time of
each module.
- Navigate to the root directory.
- Open
reading_logs_completion_time.pyand ensure that the names and file paths of each file are accurate.- Run
pip install -r requirements.txt.- Run
python reading_logs_completion.py- The plot will be displayed upon the completion of the script.