Developed by Christopher Pereyda for WSU.
- Navigate to your institution's canvas site.
- Click your account then settings.
- Scroll down to New Access Token, click and follow directions.
- We recommend limiting a key to one term or shorter.
- Save this key in a secure place (This program does not save your key).
- To obtain a Moss account, send a mail message to moss@moss.stanford.edu. The body of the message should appear exactly as follows:
registeruser
mail username@domain
where username@domain is your email address.
- Place the moss file (sent via email) in the project base.
canvas-lab-manager/moss
- Run the following commands
chmod +x docker/run_docker.sh
- Install python3.10
apt-get install python3.10
- Install pearl
curl -L http://xrl.us/installperlnix | bash
- Install Tkinter
apt-get install python3-tk
- Install others
pip install canvasapi pandas numpy py7zr matplotlib seaborn beautifulsoup4 networkx openpyxl
- Execute the following command
python main.py
- Execute the following command
docker/run_docker.sh
- Enter your institutions canvas url
- Enter your canvas token
- Select which course to manage
- Select which actions to run (generally top to bottom)
- You need to download submissions before running moss
- You need to run moss before generating the cheating spreadsheet
Results can be found in the term directory:
terms # Directory to hold data by terms
├── Fall_2023 # Term directory: SEMESTER_YEAR
│ ├── CPTS_121 # Directory to hold course data
│ ├── assignments # Directory to store downloaded course assigments
│ ├── assignment_1 # Student submission
│ ├── TA_1 # TA directories
│ ├── student_1 # Student directory
│ └── student_code # Student code dir
│ └── ...
│ └── ...
│ └── ...
│ ├── moss_output # Holds output from moss runs
│ ├── assignment_1.txt # Holds moss output for assignment
│ └── ...
│ ├── plagiarism # Directory for plagiarism materials
│ ├── assignment_1.html # Saved main moss website
│ ├── ... # Each asignment has its own file
│ ├── course_name.xlsx # Cheating spreadsheet
│ └── plots.html # Directory holding plots for cheating analysis
│ ├── histogram.png # Histogram showing distribution of cheating and cutoff mark
│ └── assignment_1.png # Connected graph showing cheating groups
│ ├── grade_book.xlsx # Grade book for course (check for all required columns)
│ ├── late_status.png # Indicates whether TAs are following late policy
│ ├── percent_graded.png # Indicates TAs current grading status
│ └── other_files # Used internally, don't mess with
│ └── ...
└── ...