A robust Python class designed to record, manage, and calculate student grades for dynamic courses while enforcing data protection.
Key Features & Technical Details:
Data Encapsulation: Utilizes private attributes (__course_name, __students) to prevent external manipulation and secure student records.
Input Validation: Built-in safeguards in add_grade() to verify grades remain strictly between 0 and 100.
Edge Case Handling: Safely calculates overall class averages using calculate_class_average() while checking against division-by-zero errors for empty rosters.
Getter Methods: Features modular getters to safely retrieve course info and dictionary-formatted student grade registries.