code: def select(course=False, tid=None, auto=False):
      
      if course:
          update(course=True)
          course = None
          try:
              course = Course.get_selected()
          except NoCourseSelected:
              pass
  
          ret = {}
          if not tid:
              ret = Menu.launch("Select a course",
                                Course.select().execute(),
                                course)
          else:
              ret["item"] = Course.get(Course.tid == tid)
          if "item" in ret:
              ret["item"].set_select()
              update()
              if ret["item"].path == "":
                  select_a_path(auto=auto)
              # Selects the first exercise in this course
              skip()
              return
          else:
              print("You can select the course with `tmc select --course`")
              return
      else:
          selected = None
          try:
              selected = Exercise.get_selected()
          except NoExerciseSelected:
              pass
  
          ret = {}
          if not tid:
              ret = Menu.launch("Select an exercise",
                                Course.get_selected().exercises,
                                selected)
          else:
              ret["item"] = Exercise.byid(tid)
          if "item" in ret:
              ret["item"].set_select()
              print("Selected {}".format(ret["item"]))
docs: Select a course or an exercise.