Skip to content
Back to work

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.

Open on LinkedIn →

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