# InfraGrader: a mini autograder
**InfraGrader** is a mini-autograder by the Data Science Education Program at UC Berkeley. It largely draws from logic from [OtterGrader](https://otter-grader.readthedocs.io/en/latest/), a lightweight, modular open-source autograder grader.
InfraGrader is comprised of four components:
- `assignment.py`
- `autograder.py`
- `student.py`
- `submission.py`
When a student completes an assignment, InfraGrader grades it. The student will then receive a score for that assignment.
**Your task is to design a course!** Currently, InfraGrader only handles individual assignments and students. However, Oski Bear has requested a new feature where assignments and students can be associated with a course.
A **course** should:
- Keep track of students who are in the course
- Include the assignments that are published for the course
- Members of staff who are in a course
- Keep track of statistical measurements for each assignment (ex. average, standard deviation, etc.)
Here are some helpful tips:
- You may have to make modifications to existing methods and classes. Try to use existing code where possible. We've included comments where necessary to explain the functionality
- If you modify any of the existing functions, please include short explanations in the form of comments
- For new methods, please include any method signatures (include inputs and outputs) and comment explanations
Example:
```
def sum_numbers_in_a_list(list_1, list_2):
# Iterates through both the lists and returns the sum of the lists combined
```
If you have any questions or clarifications, please email <ds-infra@berkeley.edu>