- Declarative encoding of COLL / major / minor requirements
- Versioned by catalogue year
- Validators flag rule conflicts before solver time
W&M Degree Map — a planner for the liberal-arts curriculum.
An interactive course-planning tool for William & Mary students that takes the actual COLL general-education requirements, the student's declared major and minors, and a goal-aware optimisation pass, and returns a four-year plan that respects prerequisites, double-counts where allowed, and explains every choice in plain English.
What problem this solves.
William & Mary's COLL curriculum has the depth and discretion that the liberal-arts mission demands — and the corresponding cost: every student has to model their entire four years against a thicket of overlapping requirements, every advisor meeting becomes a search problem, and the spreadsheets students keep are private and brittle.
Group 07 built the tool the advising office could not staff. The product is not a recommender — it does not pretend to know what the student should care about. It is a planner: given the student's stated goals and the catalogue rules, it returns a feasible schedule and tells the truth when the goals are not co-satisfiable.
The system, end to end.
The requirements are encoded as a rule DSL — every COLL designation, major track, and minor combination expressed as a constraint over (semester, course) variables. The student's profile fills in fixed variables (already-taken courses, scheduled study-away terms). A constraint solver searches feasible assignments; an objective function ranks them by interest fit, course-load balance, and prerequisite distance.
When the system cannot find a feasible plan, it is explicit about why. A diagnostic surface enumerates the binding constraints — "this minor needs three more upper-divs than fit in the remaining terms" — and proposes the smallest set of relaxations that would make the plan feasible. Advising conversations start from those diagnostics, not from a blank page.
What it's built on.
| Rule DSL | Declarative encoding of COLL / major / minor requirements |
|---|---|
| Prereq & catalogue graph | Course nodes with directed prerequisite edges |
| Solver & objective | Constraint solver returns feasible assignments |
| Diagnostics | Infeasibility detector enumerates binding constraints |
- Course nodes with directed prerequisite edges
- Cross-listed-course aliases preserved as graph edges
- Seat-availability flags hinted from the live schedule feed
- Constraint solver returns feasible assignments
- Objective ranks plans on interest fit / load balance / prereq distance
- Top-N plans surfaced for student comparison
- Infeasibility detector enumerates binding constraints
- Minimal-relaxation suggester ("drop this minor, plan is feasible")
- Advisor-friendly explanation panel attached to every plan
What the team shipped.
What sets this capstone apart.
Decide nothing, surface everything.
The tool does not tell the student what to want. It takes what they want as input and returns whether it's feasible — with diagnostics when it's not. That separation is what makes it usable as an advising aid instead of an oracle.
Every requirement, in the same language.
COLL designations, double-counting rules, prerequisite chains — all expressed in one rule DSL. New majors are minor additions to a config, not a refactor.
When no plan works, say which constraint bit.
An empty result set is useless. The diagnostic surface enumerates the binding constraints and proposes the smallest set of relaxations that restore feasibility. The advisor walks in with options, not problems.
How this project landed.
Solo capstones with a clear user are the projects that ship strongest, and this one had its user in the lobby of the advising office. The first review pushed the team away from a recommender framing and toward a planner-with-diagnostics framing.
That distinction carried the work. The planner respects the student's stated goals; the diagnostics make infeasibility legible. The capstone is exactly the size it should be — a single product that does one job well, with the discipline to stop where the catalogue ends.