---
# System prepended metadata

title: Autograder design thoughts (group 6)
tags: [ccss-summer-dev-projects]

---

# Autograder design thoughts (group 6)

###### tags: `ccss-summer-dev-projects`

## When a student uses the platform, what should it look like?
- Clear instructions and easy to use UI 
    - Place to go for docmentation on how to do thing
    - Maybe a repository of videos on how to use the platform (like on Carleton website)
    - System to enforce due dates (ex. the autograder for a particular assignment closes once a date has passed)
- Simple and straight to the point

- Some sort of login in system (studentID maybe as a username and a password)
- Maybe a class list (classes that support the autograder)
- 

### To consider
- Possible Django and SQL for the backend for tracking accounts
    - Maybe 2FA but probably not a concern short-term
- Disabling of assignments submission can be done with CSS and React (disabling components)
- There will be difficulties if students get extensions (how to give a certain student the ability to submit but others not)
    - Ex. Deferred assignments

## What a prof uses the platform, what should it look like?
- should have list of students who sumbitted
- Easily export data by class
    - A page to view overall statistics by class(avg grade for a given assignment)
- Ability to add assignment due dates and modify due dates


### To consider

- What does creating a new assignment look like?
- Backend is going to need to support exporting in .csv files to upload to Brightspace
- Is MOSS going to be built in?
    - Are TA's going to manually read the code for students still or is the auto grader going to check for code plagarism?

## When a student submits an assignment, what considerations should there be?

- Grade feedback (probably a website/page that displays all the submissions of the person for that assignment)
    - Multiple stages: ex. program failed to start (compile errors), missing test cases, program run time (relevant for COMP 2402)
- There should be still some seperation between what the problems in the students code are and what the students see
    - Ideally, students should not be able to game the system to get correct marks
    - Should still put onus on the student to correct their mistakes, autograder should just point them in the right direction
- If student didn't submit correct file format (ie. .pdf)

### To consider
- Load balancing (make it so if a bunch of people submit at the same time, then the server's speed isn't massively hampered)
    - Might need to upload files to the server and then the server runs those files from there, instead of the students computer connecting to the server
    - Maybe a queuing system for larger classes (ex. COMP 1405 and COMP 1406)
- If the system is going to be expanadable, React or some other framework might be necessary to make the expansion easier
- Is data going to be deleted after the semester is over, how is the data going to be maintained long term?
    - Could possibly go cloud for long-term data handling, but this is uncharted territory