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 Prerequisite Topology page renders every course in your catalog as an interactive, zoomable directed graph. Edges show which courses must be completed before others can be taken, letting you trace student progression paths and spot the courses that, if under-offered, block the largest number of students from advancing toward their degree.

Reading the graph

Each node in the graph represents a course. Each directed edge represents a prerequisite relationship, with the arrow pointing from the prerequisite course toward the course that depends on it. Following the arrows from left to right reveals the ordered sequence a student must complete to reach advanced courses.
The layout algorithm (Dagre LR) arranges nodes from left to right in topological order. Courses with no prerequisites appear on the far left; advanced courses requiring many prerequisites appear on the right.

Bottleneck detection

CORS automatically identifies courses that exert disproportionate systemic pressure on the curriculum. The impact score formula is:
Impact Score = latent_demand + (5.0 × bottleneck_score)
Where:
  • latent_demand is the number of students who have completed all prerequisites and are ready to enroll
  • bottleneck_score is the count of courses downstream that depend on this course as a prerequisite
Any course with an impact score greater than 150 is classified as a systemic bottleneck.

Bottleneck alert banner

When one or more bottleneck courses are detected, a red alert banner appears at the top of the page listing all affected course codes. The message explains that these courses are critical for downstream degree progression — students who cannot enroll in them are blocked from advancing to multiple subsequent courses.
Systemic bottlenecks should be prioritized in the Recommendation Engine. Failing to offer a bottleneck course in a given semester can cascade into degree delays for a significant portion of your student population.

Visual styling

Courses are styled differently depending on their bottleneck status:
TypeNode borderNode glow
Standard dependencySubtle single-pixel border (indigo)None
Systemic bottleneck2px amber/warning borderAmber glow (pulsing in the legend)
The Topology Legend panel (bottom-right of the inspector column) shows a color swatch for each type. In the minimap, bottleneck courses appear in red and standard courses appear in the brand indigo color, making it easy to locate high-pressure areas of the graph even when zoomed out.

Entity Inspector panel

Click any node to open its details in the Entity Inspector panel on the right side of the screen.
Displays the course code in large display typography, the full course name, and a badge showing the course type (e.g., Core, Elective, Masters).
The raw bottleneck score — the number of courses that are directly or transitively blocked if this course is not offered. A higher number means more students are held back across more courses.
The number of students who have fulfilled all prerequisites and are ready to enroll in this course in the upcoming semester.
The computed impact score using the formula above. Courses where this value exceeds 150 are marked as systemic bottlenecks. The score is shown prominently in the brand accent color when the threshold is exceeded.
When a bottleneck course is selected, an additional inline warning in the inspector reads: “This entity is a critical systemic bottleneck (Score > 150). Capacity expansion is mandatory for degree flow.” When no node is selected, the inspector shows a placeholder message prompting you to select a course.

Interactive controls

The graph canvas supports full pan and zoom interactions:
ControlAction
Scroll wheelZoom in and out
Click and dragPan across the canvas
Click a nodeSelect and open the Entity Inspector
Fit View buttonReset the viewport to show all nodes
MinimapSee and navigate the full graph at a glance; click or drag to jump to a region
Use Fit View after the graph first loads to make sure all nodes are visible, especially for large catalogs where the initial viewport may show only part of the graph.