code: def set_courses(self, course_ids=None):
          
          if course_ids is None:
              raise NullArgument()
          metadata = Metadata(**settings.METADATA['course_ids'])
          if metadata.is_read_only():
              raise NoAccess()
          if self._is_valid_input(course_ids, metadata, array=True):
              for course_id in course_ids:
                  self._my_map['courseIds'].append(str(course_id))
          else:
              raise InvalidArgument
docs: Sets the courses.
  
          arg:    courseIds (osid.id.Id): the course Ids
          raise:  INVALID_ARGUMENT - courseIds is invalid
          raise:  NullArgument - courseIds is null
          raise:  NoAccess - metadata.is_read_only() is true
          compliance: mandatory - This method must be implemented.