Design
Course Registration System
Design a university course registration system where students enrol in course sections, prerequisite chains are validated via a dependency graph, schedule conflicts are detected, waitlists auto-enrol students on drop, and faculty manage their sections — all under high-concurrency during registration windows.
01 - Why interviewers ask this
Course Registration combines graph algorithms (prerequisite DAG), interval scheduling (conflict detection), concurrency control (last-seat race), and queue-based automation (waitlist promotion) — making it a strong signal for senior engineers who can bridge algorithmic thinking with clean OOP class design under real-world constraints.
02 - Where this system exists in the real world
You interact with this design every day.
Direct model for university ERP systems like Banner, PeopleSoft, and Workday Student
Prerequisite graph validation is used in e-learning platforms (Coursera learning paths, LinkedIn Learning)
Waitlist and capacity management logic is reused in event booking, healthcare appointment, and class scheduling systems
Conflict detection generalises to employee shift scheduling, sports fixture planning, and conference room booking
03 - What you'll master
Solve this once. Know it forever.
Model and traverse a prerequisite dependency graph using BFS/DFS
Implement interval-overlap detection for schedule conflict prevention
Handle last-seat race conditions with optimistic locking or compare-and-swap
Design a Waitlist with automatic promotion on vacancy using a FIFO queue
04 - What you'll design
8 functional · 3 non-functional requirements.
Define courses with prerequisites (supports chains: A → B → C), credit hours, and department
7 more requirements inside
Sign in to unlock the full brief and start designing
05 - Companies that ask this
You may face this exact question in your next interview.
Ready?
Open the canvas.
Design it yourself.
See all requirements, use staged hints, run your code, and compare with community discussions - all on the same canvas.
Start SolvingMore in Education