Term Project Overview
1. Objective
Each student must develop an individual small/medium-scale Java project
demonstrating strong understanding of:
- Object-Oriented Design
- Abstraction & Encapsulation
- Inheritance and Polymorphism
- Exception Handling
- Collections / File Handling / Threads (if applicable)
- Clean Code Practices
- Version Control Discipline
This is NOT about building something large.
It is about building something well-designed and defendable.
2. Project Expectations
- Must be implemented entirely in Java.
- Must run on the lab machine without modification.
- Must contain multiple interacting classes.
- Must follow logical package structure.
- Must use Git with meaningful commit history.
- Must not be copied from public repositories or tutorials.
3. Evaluation Day Procedure
- Student sits at assigned machine.
- Project ready to run.
- Source code open and accessible.
- Strict 5-minute presentation.
- Technical viva immediately after.
4. Evaluation Rubric
| Component | Marks |
| OOP Design Quality | 20 |
| Code Structure & Cleanliness | 15 |
| Functionality & Robustness | 20 |
| Presentation Clarity | 10 |
| Technical Understanding (Viva) | 15 |
| Report Quality | 15 |
| Git Usage & Discipline | 5 |
5. Submission Requirements
- Working runnable project
- Printed report (8–12 pages)
- 5-minute presentation (PDF/PPT)
- Code via GitHub Classroom