You can either have two different groups attached to each course and create them when the course is created:
class Course(models.Model):
creators = models.ForeignKey(Group)
modifiers = models.ForeignKey(Group)
So this way you can set permssion to this group. And you can use django-guardian to assign and check for this permission. Something like this:
assign_perm('edit_course', group, course)
and then check user if he can edit this course ( it will check group permission from user group automatically )
user.has_perm("edit_course",course)