Is this a good way to model course assignments? I'm having trouble designing a data model that allows for the following:


Courses can have many assignments.
Assignments can be defined recursively. e.g. "There is reading homework every tuesday". 
Users can each complete an instance of the recurrent assignment at their own time and with their own grade and their own priority.


So, focusing on the assignment aspect of these requirements I came up with the following partial ER model: (It's missing how users are related to courses, teachers, etc...):



*There's a mistake in the picture, an event is related to 0 or 1 assignment

A teacher would then create an assignment for their course, let's say: 'Hand in math lab every tuesday due for tuesday next week'.

A single assignment will be created along with all the events for each occurrence.

When a user interacts with a specific event instance of the assignment. The assignmentUser will be created with the corresponding data.

Is this a good way to model this? I'm worried about the recurrent events side of this. Maybe it would be better to only have one event per assignment and generate all assignments that fit the recurrence rule on creation?
I like the gist of what you're doing. I think the entity names are a bit confusing though, and I would put some fields in different places. From my understanding of the system you're trying to build, here's a diagram I recommend:



In this model, Assignments have one AssignmentOccurrence for every time it occurs. If an Assignment occurs once, it would have one AssignmentOccurrence.

Take the values of the AssignmentOccurrence with a grain of salt, there's not enough information for me to know what data needs to be stored in there.