Sprint 1 - Early Concepts
Goal
Turn a real-world use case into a minimal, working OOP skeleton that models key entities and relationships using classes, objects, and collections, supported by a class diagram and short documentation.
Emphasize Foundations: Fundamentals of OOP, Classes and Objects, Arrays/Lists, and Thinking in Objects, ensuring clear encapsulation and basic interactions between objects.
Key elements
Element | Details |
---|---|
Topics covered | Fundamentals of OOP, Classes & Objects, Arrays/Lists, Thinking in Objects. |
Teams | 2–4 students per team; team must remain the same for all sprints. |
Points | Semester project: 30 points; Sprint 1: 10 points. |
Deadline | November 4 (end of day). |
Submission | One team submission: repository link (or ZIP) containing requirements brief, class diagram (PNG/PDF), and the code developed. |
Point distribution | Project defense 3 pts, Class Diagram 2 pts, Core Classes 4 pts, Documentation 1 pt. |
What to deliver
You must deliver one zipped folder per group that contains all Sprint 1 materials. The zipped folder must include
- Two-page document: include the project goal, a concise list of key expected functionalities, and a requirements brief mapping core user actions to initial entities and relationships for Sprint 1 scope, with an embedded UML class diagram showing classes, key attributes, and associations/multiplicities
- Source code: implement 2–3 core classes with constructors, fields, and methods that collaborate using at least one collection (for example, a List) to demonstrate encapsulation and basic object interactions reflective of the Foundations topics.
Project ideas
Choose a project your team finds interesting and useful, and make sure it directly uses the key topics we are focusing on right now: OOP, Collections, and Thinking in Objects.
Keep Sprint 1 small and focused: define a few real-world entities as classes, show how they relate, and use lists or other collections to support simple actions and data flows.
Write clean, readable code and include a simple class diagram; advanced features can wait for later sprints once your foundation is solid and easy to extend. Below are some suggested ideas to get you started.
University Management System:
Start with Students, Courses, Instructors, and Enrollments so you can add students to courses and list who is enrolled where. Keep it simple: create the core classes and basic methods to enroll and view enrollments, using a list to store relationships. Later sprints can add grading, schedules, or departments after the basics work well.
Library Management System
Start with Books, Members, and Loans so you can check out and return books and see what is available. Keep it simple: create the core classes and a list of current loans to track availability and due dates at a basic level. Later sprints can add reservations, fines, or reports once the core flow is stable.
Attendance Management System
Start with Users, Sessions, and AttendanceRecords so you can mark attendance and list who attended which session. Keep it simple: create the core classes and use a list or map to store records, with a minimal difference between admin, faculty, and student roles for now. Later sprints can add summaries and filters by date or course after the basics work