0% found this document useful (0 votes)
8 views2 pages

Group 1&2

The course project for Object-Oriented Programming involves developing a Grade Management System using OOP principles such as encapsulation, inheritance, and polymorphism. Students or groups will implement the system in Java, including features like class hierarchy, exception handling, and report generation, while adhering to specific project guidelines. Evaluation will be based on design, functionality, code quality, and the clarity of the project report.

Uploaded by

dmeseret259
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views2 pages

Group 1&2

The course project for Object-Oriented Programming involves developing a Grade Management System using OOP principles such as encapsulation, inheritance, and polymorphism. Students or groups will implement the system in Java, including features like class hierarchy, exception handling, and report generation, while adhering to specific project guidelines. Evaluation will be based on design, functionality, code quality, and the clarity of the project report.

Uploaded by

dmeseret259
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Course Project: Object-Oriented Programming

Course Title: Object-Oriented Programming

Objective: The objective of this course project is to apply the concepts of object-oriented
programming (OOP) by developing a real-world application. Students will design,
implement, and test a system using OOP principles, focusing on encapsulation, inheritance,
polymorphism, and exception handling.

Project Guidelines:

1. Each student or group (max 6 members) will choose one of the project titles provided.
2. The project must be implemented using an OOP language (Java).
3. The system must include at least the following OOP concepts:
o Class definitions and object instantiation
o Encapsulation and access modifiers
o Inheritance and polymorphism
o Exception handling
o Interfaces or abstract classes where applicable
4. A project report should be submitted, including:
o Introduction
o System analysis and design (UML diagrams preferred)
o Implementation details
o Testing and validation
o Conclusion and future improvements

Project Title: 1) Grade Management System

Objective: Design a system to manage student grades, courses, and academic records
using OOP principles.
Core Requirements
1. Class Hierarchy (Inheritance)
• Base Class: Person
o Properties: id, name, email
o Subclasses: Student and Teacher
Course Project: Object-Oriented Programming
• Student Class:
o Add properties: studentId, enrolledCourses (list of courses), grades (map of
course-to-grade).
• Teacher Class:
oAdd properties: teacherId, coursesTaught.
2. Encapsulation
• Use private fields with getters/setters for all classes.
• Validate data in setters (e.g., grades must be 0–100).
3. Polymorphism
• Override displayInfo() in Student and Teacher to show role-specific details.
4. Abstraction
• Create an abstract class Assessment with fields like assessmentId, maxScore, and
an abstract method calculateGrade().
• Subclasses: Exam and Assignment (e.g., Exam might weigh grades differently).
5. Interface
• Define an interface ReportGenerator with methods:
• Implement this in Student and Course classes.
6. Exception Handling
• Throw custom exceptions:
o InvalidGradeException if a grade is outside 0–100.
o CourseFullException if a course exceeds student capacity.

 Functionality to Implement  Sample Workflow


1. Add/remove students from courses. 1. Create students, teachers, and courses.
2. Assign grades to students for specific 2. Enroll students in courses.
courses/assessments. 3. Add assessments (exams, assignments) to
3. Calculate average grades for a student or courses.
course. 4. Assign grades and calculate averages.
4. Generate reports (e.g., student transcript, 5. Generate and save reports.
course summary).
5. Validate inputs (e.g., invalid grades, duplicate
enrollments).

Evaluation Criteria:
1. Design & Implementation (50%) - Proper use of OOP principles
2. Functionality (30%) - Meeting the project requirements
3. Code Quality & Documentation (20%) - Readability, comments, and UML diagrams
4. Presentation & Report (10%) - Clarity and completeness of the report.

Note: Late submissions will result in a penalty. Plagiarism will lead to disqualification.

You might also like