CORS accepts three categories of data files. Each category has specific format requirements for columns, field names, and accepted file types. Use this reference when preparing files for upload or troubleshooting ingestion errors.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.
Upload all data files from the Data Management page. After uploading new data, click Recalibrate Intelligence in the Recommendation Engine to retrain the ML models on the updated dataset.
Course catalog
Accepted file type:.json only
The course catalog defines every course in your curriculum — its name, prerequisites, study plan, and type. CORS accepts two JSON formats. Both are equivalent; use whichever matches your existing data.
Format A — dictionary keyed by course code
Each key is a course code. This is the most compact format.course-catalog-format-a.json
Format B — array with a code field
Each element is an object with a code property. Useful when your tooling generates arrays.
course-catalog-format-b.json
Field reference
| Field | Required | Accepted values | Description |
|---|---|---|---|
course_name | Yes | Any string | Full course title |
prerequisites | No | Array of course codes | Courses that must be completed before enrolling |
type | Yes | core, elective, masters, minor | Course classification |
study_plan | No | fall, spring, both | Which semester(s) the course is typically offered |
Cross-listed courses
For courses cross-listed between departments, use the combined code as the key orcode value:
cross-listed.json
Historical offerings
Accepted file types:.csv, .xlsx
Historical offerings tell the ML model which courses were offered in past semesters, how many students enrolled, and how many passed or failed. This is the primary training signal for the recommendation models.
Required columns
Your file must include all of the following:| Column | Description |
|---|---|
year | Academic year as a four-digit integer (e.g. 2024) |
semester | Fall, Spring, or Summer |
campus | Beirut or Byblos |
total_enrolled | Total students enrolled in the section |
passed_count | Students who passed |
failed_count | Students who failed |
course_code— a single column with the full code (e.g.CSC201), orcourse_prefixandcourse_num— separate columns (e.g.CSCand201)
Optional columns
| Column | Description |
|---|---|
fail_ratio | Ratio of students who failed. Auto-calculated from failed_count / total_enrolled if omitted. |
is_offered | Boolean (1/0 or true/false) indicating whether the course was offered that semester. Inferred from the presence of a row if omitted. |
Example (CSV)
historical-offerings.csv
Faculty records
Accepted file types:.json, .csv, .xlsx
Faculty records define each professor’s name, department, and optionally their availability windows. Availability windows are used by the Timetable Scheduler to flag violations when a course is scheduled outside a professor’s available hours.
Day notation
| Code | Day |
|---|---|
M | Monday |
T | Tuesday |
W | Wednesday |
R | Thursday |
F | Friday |
Availability string format
Availability is expressed as a string:"DAYS HH:MM HH:MM"
DAYS— one or more day codes concatenated (e.g.MWF,TR)- First time — availability start (24-hour format)
- Second time — availability end (24-hour format)
| String | Meaning |
|---|---|
"MWF 08:00 12:00" | Available Monday, Wednesday, Friday from 8 AM to noon |
"TR 10:00 16:00" | Available Tuesday and Thursday from 10 AM to 4 PM |
"MTWRF 09:00 17:00" | Available every weekday from 9 AM to 5 PM |
If a professor has no availability entry, or if the field is omitted, CORS treats that professor as having unconstrained availability. Availability violations are only flagged when an explicit window is configured.
JSON format example
faculty-records.json
CSV format example
faculty-records.csv
Related pages
Data management overview
How to upload, update, and manage your data files in CORS.
Run your first analysis
Use your uploaded data to generate course recommendations.