'Computes, updates, and returns the CourseGrade for the given
user in the course.
At least one of course, collected_block_structure, course_structure,
or course_key should be provided.'

def update(self, user, course=None, collected_block_structure=None, course_structure=None, course_key=None, force_update_subsections=False):

    course_data = CourseData(user, course, collected_block_structure, course_structure, course_key)
    return self._update(user, course_data, read_only=False, force_update_subsections=force_update_subsections)
