There are lots of ways universities do this, with lots of names. I wrote some software with some students and we came up with a domain model to explain the subtleties:
A Course is an abstraction (it appears in course catalogs) but it’s scheduled to be taught in a Section. So, in one semester, there might be 1, 2, or 10 sections being taught for a course.
Often, the timing (deadline) depends on which section. Sometimes all sections have the same Assignment (see the domain model) but with different deadlines according to the Section.
The model is not complete or correct, but it might be useful. As far as I know, nobody uses the same terms in the GitHub forums here, so group/team/class/course all are going to mean one thing to the person writing them (and possibly something else to the person reading them).