Question: 1 ITIB 4 1 3 4 Programming for Data Analytics Assignment Guidelines and Rubrics Assignment 1 2 0 % Start: Week 3 Due Date (

1
ITIB4134 Programming for Data Analytics
Assignment Guidelines and Rubrics
Assignment 120%
Start: Week 3
Due Date(s):
Week 7
Learning Outcomes
CLO1: Construct important data structures (Lists, Tuples, NumPy, Dictionaries and Pandas modules) in
Python
Instructions: Answer ALL questions. (100
Marks)
You have been tasked with creating a Python program that calculates and manages the grades of
students. The program should allow instructors to input student information and scores for assignments
and exams and then calculate the final grades based on a specified grading scheme.
Requirements:
1. Student Information:
Create a class called Student to store the following information:
o Student ID (integer)
o First name (string)
o Last name (string)
o Email address (string)
2. Assignment and Exam Scores:
Create a class called Course that will contain a list of students and methods to manage their
scores.
In the Course class, implement the following methods:
o add_student(student: Student): Add a student to the course.
o add_assignment_score(student_id: int, score: float): Add an assignment score (as a
floating-point number) for a student.
o add_exam_score(student_id: int, score: float): Add an exam score (as a floating-point
number) for a student.
o get_student_average(student_id: int): Calculate and return the average score for a
student, which is a weighted average of assignment scores (40%) and exam scores
(60%).
3. Grading Scheme:
The final course grade for each student should be determined based on the following grading
scheme:
A: 90% and above
B: 80%-89.9%
2
C: 70%-79.9%
D: 60%-69.9%
F: Below 60%
Implement a method calculate_final_grades() in the Course class to calculate and assign
letter grades to each student based on their average scores.
4. User Interaction:
Create a menu-driven program that allows the instructor to:
Add students to the course.
Add assignment and exam scores for each student.
Calculate and display the final grades for all students.
Exit the program.
Additional Guidelines:
Use appropriate exception handling to handle errors such as invalid student IDs or scores.
Implement validation to ensure that scores are within a reasonable range (0 to 100).
Make use of object-oriented principles and encapsulation in your code.
Provide comments and documentation to explain your code's functionality.
Submission Requirements:
Submit a Python program that implements the above requirements. Include a sample run of the
program to demonstrate its functionality.
End of Document

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!