← All projects
intermediate8h

Course Enrollment and Progress Manager

Build a real, local, console-based Java application modeling courses, learners, enrollments, and lesson-completion progress — using encapsulation, composition, interfaces, polymorphism, structured exceptions, and a real JUnit test suite. Compiled and run entirely on your own machine; this platform does not execute Java.

Tracks: Java

Objectives

  • Model a small domain (courses, learners, enrollments) with encapsulated classes, composition, and at least one interface with multiple implementations
  • Validate input and signal failure with a custom, structured exception hierarchy
  • Implement equals/hashCode correctly for at least one value-like class
  • Compute derived progress data using Streams, and verify all of it with a real JUnit test suite

Before you start

Milestones

0%

References