---
# System prepended metadata

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

---

# Autograder design thoughts (group 3)

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

## When a student uses the platform, what should it look like?
- Being able to choose or view different assignments and see like a breakdown?
- login, manage classes, manage assignments, be able to see averages

### To consider

- As a student, I would want to see what courses I'm a part of
- How many times the assignment has been run? other assignment data
- Flakiness of test runs and scaling the server to ensure tests don't fail randomly
- How much time is left for the another submission before one could submit it again?
- Is it possible to only run the tests on certain parts of assignment? I know students test
  questions individually after they complete each one, rather than having to test the whole assignment
  and cause a load on the grading server?


## When a prof uses the platform, what should it look like?
- admin role? - what all can admin do? 
- log in page
- after login, section to upload/create assignment, Manage classes, all organized hierarchically
- Being able to view student's historical grades and other data by class in a nice visual way
- Which student has submitted?
- More useful info like average grades
- Does Brightspace have an API to automatically enter grades from the autograder, probably not?

### To consider

- What does creating a new assignment look like?
- They'd need to be able to upload their scripts easily
- A section to upload the assignment itself
- Easily add and remove sections of the assignment
- Like having uploadable examples for students they can download?

## When a student submits an assignment, what considerations should there be?
- Professor should be able to set how often the assignment can be submitted, in an easy way to reduce flakiness
- What should persist after a test run and what is not necessary? highest grade only?
- Corrupted/wrong file formats, errors for those

### To consider