code: def get_course(self, courseid):
          
          if not id_checker(courseid):
              raise InvalidNameException("Course with invalid name: " + courseid)
          if self._cache_update_needed(courseid):
              self._update_cache(courseid)
  
          return self._cache[courseid][0]
docs: :param courseid: the course id of the course
          :raise InvalidNameException, CourseNotFoundException, CourseUnreadableException
          :return: an object representing the course, of the type given in the constructor