code: def course_feature(catalog, soup):
      
      courses = {}
      count = 0
      for course_data in parse_tables(soup):
          c = create_course(course_data)
          count += 1
          courses[str(c)] = c
      catalog.courses = FrozenDict(courses)
      logger.info('Catalog has %d courses (manual: %d)' % (len(courses), count))
docs: Parses all the courses (AKA, the most important part).