Apply the J27 (5/6/2026) Stern specialization sheet:
- Add Healthcare (HCR) as the 15th specialization, with HCR cross-listings on
spr2-health-medical, spr3-analytics-ml, sum2-social-media (renamed), and
fall1-managing-change. 10 credits available, no required-course gate.
- Rename sum2-social-media to "Digital Marketing Strategy in Practice";
replace its description with new MSKCC-anchored content; clear instructor
pending confirmation of new lead.
- Switch from delete-and-replace to the previously-unused cancelled flag
(Approach B): mark spr5-customer-insights cancelled, add Managing Growing
Companies back to Summer Set 2 as a cancelled placeholder per the printed
sheet.
- Update data integrity tests: course count 46 -> 47, spec count 14 -> 15;
per-spec "across sets" helper now filters cancelled courses so future
cancellations trigger an obvious assertion failure (BRM 6 -> 5,
MKT 7 -> 6, HCR 4 new).
- Replace hardcoded 14 in optimizer.test.ts with SPECIALIZATIONS.length.
- Course info popovers with description, instructors, and specialization
tags; opens on hover (desktop) or tap (mobile) with smart positioning
- Page title and graduation cap favicon in NYU Stern purple
- Desktop layout fits viewport without page-level scrolling
Replace cancelled course in Summer Elective Set 2 with new course
"Innovation and Design" qualifying for Brand Management, Entrepreneurship
and Innovation, Marketing, and Strategy (S2).
- Mark "Managing Growing Companies" as cancelled with visual indicator and solver exclusion
- Prevent selecting duplicate courses across elective sets (e.g., same course in Spring and Summer)
- Add 2.5-credit interval tick marks to specialization progress bars
- Bump version to 1.1.0 with date display in UI header
Populate README with problem description, features, tech stack,
development/deployment instructions, project structure, and solver
explanation. Add CHANGELOG.md marking current state as v1.0.0.