The Course Catalog defines every course that CORS knows about — its name, prerequisites, which study plans it belongs to, and its classification. You must upload the catalog before running recommendations or building a timetable, because both features depend on knowing what courses exist and how they relate to each other.Documentation Index
Fetch the complete documentation index at: https://cors-lau.vercel.app/docs/llms.txt
Use this file to discover all available pages before exploring further.
File format
The course catalog must be a JSON file (.json). CSV and XLSX are not accepted for this upload type.
Supported structures
CORS accepts two JSON shapes: a dictionary keyed by course code, or a flat list of course objects.- Dictionary format
- List format
Use an object where each key is the course code and each value is the course metadata. This is the recommended format.CORS reads the dictionary key as the
course-catalog.json
code field automatically. You do not need to include a separate code property inside each object.Fields
Required fields
| Field | Type | Description |
|---|---|---|
code | string | Unique course identifier. Used as the dictionary key in dictionary format, or as an explicit field in list format. |
course_name | string | Human-readable course title displayed throughout CORS. |
Optional fields
| Field | Type | Accepted values | Description |
|---|---|---|---|
prerequisites | array of strings | Course codes | List of course codes that must be completed before this course. |
study_plan | string | "fall", "spring", "both" | The semester(s) in which this course is planned to run. |
type | string | "core", "elective", "masters", "minor" | Course classification used for filtering in the Recommendation Engine. |
Course code format
A valid course code consists of a department prefix (letters) followed by a course number (digits), with no space between them. Examples:CSC201, BIF305, MTH101, STA210.
CORS automatically parses the prefix and level from the code:
- Prefix — the leading letters, e.g.
CSCfromCSC201 - Level — the first digit of the number, e.g.
2fromCSC201(used to classify the course as 200-level)
Codes with
MTH or STA prefixes are automatically flagged as math-related courses, which influences how the Recommendation Engine models prerequisite chains.Cross-listed courses
If a course is jointly offered by two departments, use slash notation to combine both codes:CSC will include CSC401/BIF401.
After upload
Once the upload succeeds, your courses are saved to the database and immediately available in:- The Recommendation Engine — courses appear in the offering results and can be individually overridden
- The Timetable Scheduler — courses can be assigned to time slots, rooms, and faculty
- The Prerequisite Graph — dependency edges are drawn based on the
prerequisitesfield