The main reasons for making each course a separate Site Collection are the following:
- Load Balancing: It would be impossible to create courses for the same Organization in different SQL databases.
- Creating Groups within a course.
- Peculiarities with access permissions:
Site Collections are the minimal logical units which can be separated from each. They don’t have any connection in terms of inheritance and permissions.