# 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