Course Management System (Take-Home Machine Coding)

viaGlassdoor

Requirements: Build a take-home machine-coding assignment implementing a Course Management system. Typical scope: model Course, Student, Instructor, and Enrollment entities; support creating/updating courses, enrolling and unenrolling students (with a capacity limit), listing a student's enrolled courses, and listing a course's roster.

Design: Favor a clean OOP design - separate repository/service/controller layers even in a take-home exercise, use interfaces for the persistence layer so storage (in-memory map vs DB) can be swapped, and validate business rules (e.g., can't enroll past capacity, can't double-enroll) inside the service layer rather than the controller. Include basic tests for the enroll/unenroll and capacity-limit logic. Since this is take-home, code quality, structure, and test coverage are graded as heavily as functional correctness.

Add a follow-up question they asked
No follow-ups yet. Be the first to add one.
asked …
LeaderboardSalary
Language
Account