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 Recommendation Engine is the core feature of CORS. It uses campus-specific machine learning models trained on historical enrollment and offering data to predict which courses should be offered in the upcoming semester, how many sections to open, and how urgent each offering is. You configure the run parameters, execute the analysis, and inspect the prioritized results table — all from a single page.

Configuration panel

Before running an analysis, fill in the parameters in the configuration card at the top of the page.

Analysis target

The Analysis Target field is read-only and is automatically detected from the most recent course offering record in your database. For example, if your data ends at Spring 2025, the system sets the target to Fall 2025. You do not need to set this manually.
If no offering records exist in the database, the system falls back to the current calendar year with a Fall semester.

Institutional campus

Use the Institutional Campus dropdown to select either Beirut or Byblos. Each campus has its own independently trained ML model, so switching campuses loads a different prediction model and retrieves the most recent run for that campus.

New enrollment inputs

Enter the number of incoming students expected in the next semester. These counts help estimate latent demand for gateway and introductory courses.
FieldDescription
New FreshmanExpected count of new first-year undergraduate students
New SophomoresExpected count of incoming second-year students
New MastersExpected count of new graduate students

Strict capacity quotas

The Strict Capacity Quotas toggle constrains the recommendation output to a fixed number of course slots per department and course type. When disabled, the model’s own classification threshold determines which courses are recommended. When enabled, the top-scoring courses are selected up to the configured slot limits.
Enabling quotas overrides the model’s binary recommendation. Only the top-N courses by propensity score are marked as Recommended within each quota bucket, regardless of the model’s individual threshold decision.
When you enable the toggle, six slot quota fields appear:
FieldDefaultApplies to
CSC Core12Computer Science core courses
CSC Elective3Computer Science elective courses
BIF Core6Business Information core courses
BIF Elective2Business Information elective courses
MTH8Mathematics courses
STA3Statistics courses
Graduate (Masters) and Minor courses are excluded from quota slot selection. They receive recommendations only through the model’s own threshold, not the quota buckets.

Running the analysis

The configuration card contains two action buttons.

Recalibrate Intelligence

Click Recalibrate Intelligence to retrain the ML models on the current state of your database. The button label changes to Calibrating Neural Weights… while training is in progress. A success banner confirms how many samples were used when training completes.
Retraining can take a significant amount of time depending on dataset size. Do not navigate away from the page during training.

Execute Analysis

Click Execute Analysis to run the bulk prediction. The system extracts feature vectors for every course in the catalog, scores each one through the campus-specific model, applies the section planner, and saves the run to the database. Results populate the table below.
1

Set campus and enrollment inputs

Select the correct campus and enter realistic enrollment projections. These values directly influence demand estimates for entry-level courses.
2

Choose quota mode

Decide whether you want the model to recommend freely or constrain output to department slot limits. Toggle Strict Capacity Quotas and adjust slot values as needed.
3

Click Execute Analysis

Press Execute Analysis and wait for the results table to populate. The spinner in the button indicates the run is in progress.
4

Inspect results

Review the prioritized table. Use filters and sorting to focus on the courses most relevant to your planning decisions.

Results table

After the analysis completes, the results table shows every course in the catalog with its prediction output. The table header reports the total number of course entities and the count of Priority Offerings.

Columns

ColumnDescription
StatusRecommended (green) or De-prioritized (grey) — the model’s binary offer/skip decision
Course CodeThe course identifier in monospace format
Score IndexA circular progress indicator from 0–100 representing the model’s propensity score (probability of being offered × 100)
Projected DemandA demand level badge: High, Medium, or Low
Optimal SectionsThe recommended number of sections to open, calculated by the section planner
IntelligenceA Why? button that opens the AI reasoning popover

Demand levels

Demand levels are derived from the course’s latent demand count (students who have completed all prerequisites and are ready to enroll):
LevelLatent demand threshold
HighGreater than 40 students
MediumGreater than 15 students
Low15 students or fewer

Why? popover

Clicking Why? on any row opens an AI reasoning panel with the following fields:
  • Latent Demand — the count of students ready to take the course
  • Bottleneck Score — a measure of how many downstream courses depend on this course as a prerequisite
  • Model Confidence — the model’s probability estimate expressed as a percentage
  • Action — the number of sections the planner recommends opening (shown only when sections > 0)
  • An additional note if the course is grouped as Elective Pool (cross-listed technical electives treated as a pool)

Filtering and sorting

Click the Parameters button in the results header to expand the filter bar.

Filters

FilterOptions
DepartmentAll, CSC, BIF, MTH, STA
Academic CategoryAll, Core, Elective, Masters, Minor
Offer StatusAll, Offer (Recommended only), Skip (De-prioritized only)
Demand IndexAll, High, Medium, Low

Sorting

Click Propensity to sort by Score Index, or Capacity to sort by number of sections. Each button cycles through descending → ascending → off. Only one sort can be active at a time. Click Reset to clear all active filters and restore the default sort order.
Switching the campus dropdown reloads the most recent saved run for that campus automatically — you do not need to re-run the analysis to compare Beirut and Byblos results.