Classroom project · 2025
Learning Sphere
End-semester Java OOP project. A desktop application built to exercise the core object-oriented principles on a real feature surface instead of contrived textbook exercises.
- Java
- Object-Oriented Design
- Desktop UI
What it is
Learning Sphere was the capstone for our object-oriented programming course at NUST. The brief was open-ended. Build something substantial enough to showcase inheritance, polymorphism, and encapsulation without collapsing into a single toy class hierarchy.
The team built a desktop learning application with a proper UI, domain model, and feature set. Inheritance models the content hierarchy: course, module, lesson, exercise. Polymorphism shows up in the exercise-submission pipeline, where each exercise type implements a shared grading contract differently. Encapsulation is enforced through private state and validated setters on every domain object.
The demo video below is the end-of-semester presentation posted on a teammate's LinkedIn. It walks through the UI and the grading flow. Source stayed private to the cohort, so the feature details are in the recording.
Demo
LinkedIn post embed. Click through to the full post for comments and context.
What it exercised
Inheritance
Content hierarchy
Course → module → lesson → exercise
Polymorphism
Shared grading contract
Multiple exercise types, one submit pipeline
Encapsulation
Validated state
Private fields, invariant-guarding setters