Skip to main content

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.

The Data Management page is where you feed CORS the institutional data it needs to operate. Without this foundation, the Recommendation Engine has nothing to train on and the Scheduler has no faculty constraints to enforce. Everything you upload here flows directly into the machine learning pipeline and the timetable builder.

What CORS needs

CORS requires three types of data to function:
Data typeFormatPurpose
Course CatalogJSONDefines every course, its prerequisites, study plan, and classification
Historical OfferingsCSV or XLSXEnrollment and failure records used to train ML models
Faculty RecordsJSON, CSV, or XLSXProfessor names, course qualifications, and availability windows
All three are uploaded from the Data Management page using dedicated file upload zones. Each zone accepts drag-and-drop or a standard file picker click.

Uploading data

1

Open the Data Management page

Navigate to Data Management from the left sidebar. You will see three upload zones arranged in a grid.
2

Check the format guide

Click the info icon (top-right corner of any upload zone) to open a format reference modal. The modal shows the expected file structure, required fields, and a sample snippet for that data type.
3

Upload your file

Drag your file onto the zone, or click Import File to open the system file picker. The zone border turns green and shows “Dataset Synchronized” when the upload succeeds.
4

Verify in the Offerings Ledger

After uploading historical offerings, scroll down to the Offerings Ledger Preview table to confirm your records loaded correctly.
You can upload each data type independently and in any order. However, the ML models will only generate meaningful recommendations once all three types are present.

Offerings Ledger Preview

After you upload historical offerings, all records appear in the Offerings Ledger Preview table. The table shows Year, Semester, Campus, Course Identifier, Students Passed, Students Failed, and Failure Rate for every record in the database.

Filtering records

Click Parameters to expand the filter panel. You can combine any number of filters:
FilterOptions
Fiscal YearAll years detected in your data, sorted newest first
TermAll, Fall, Spring, Summer
Campus SiteAll, Beirut, Byblos
DepartmentAll, CSC, BIF, MTH, STA
Risk IndexAll, Low, Mid, High
Page LimitNumber of rows to display (default 100, max 5000)
To clear all active filters at once, click Clear Filters.

Risk Index thresholds

The Risk Index is derived from each course’s fail_ratio (the proportion of enrolled students who did not pass):
Risk levelFail ratio threshold
HighGreater than 0.50
MidGreater than 0.25
Low0.25 or below
The fail ratio for each record is auto-calculated from failed_count / total_enrolled when enrollment is greater than zero. Values you supply in the fail_ratio column are overwritten by this calculation.

Refreshing data

Click Refresh Repository (top-right of the page header) to reload all records from the database. Use this after uploading new files or after another administrator has made changes.

Why data quality matters

The Recommendation Engine uses your historical offerings to train an ensemble of machine learning models. The more complete and accurate your data, the better the models learn demand patterns, bottleneck courses, and section sizing. Gaps in historical data — missing semesters, incomplete enrollment counts, or inconsistent course codes — reduce prediction confidence.
Upload at least three to five years of historical offerings for each campus to give the ML models enough signal. A single year of data will produce recommendations, but confidence scores will be lower.
Course codes in your historical offerings must match the codes in your course catalog exactly. Mismatches (e.g., CSC 201 vs CSC201) will result in orphaned offering records that the Recommendation Engine cannot associate with any known course.