Question: Java Project, Please help! Course Management Let's develop a program to simulate course management at a computer science department Define a superclass called Person to
Java Project, Please help!


Course Management Let's develop a program to simulate course management at a computer science department Define a superclass called Person to store common properties such as name and id number, and its subclasses Student and Professor for their specific properties. Also define a class called Course to store information about the course, such as course title, id string (e.g., "CS101", the instructor, and the list of students (use ArrayLis) For Student, we should maintain the list of courses taken (currently and in the past) and their respective letter grades (A, B, C, D or F. It should also provide a method to enroll in a course, a method to print all courses taken and a method to print the average letter grade (A, B, C, Dor F). The average letter grade is obtained by assigning values 4, 3, 2, 1, and 0, respectively, for A, B, C, D, and F. Also add a method to compute whether the graduation requirement has been met. A passing grade for each course is C or higher. A student may not retake a course that he/she already passed, but may retake otherwise For Professor we should maintain the courses taught for the current semester. Also provide a method to add a course to teach, and a method to print all courses taught currently For Course, add a method to verify whether the number of enrolled students has reached its predefined cap Osay 10), and if so, it should stop taking more students for the semester. Also, each course must ensure that only 1 instructor is assigned for the semester For each of these courses, don't forget to provide basic getters and setters. Assume that a student may take no more than 2 courses per semester and that a professor teaches no more than 1 course per semester. Also, no more than 3 courses per semester are offered by the department. Implement these classes, and write a test program to simulate running courses for 4 semesters and print each student's status afterwards, including each student's name, id, list of courses taken and their respective letter grades, the average letter grade, and eligibility to graduate (yeso) In each semester, there are two phases: enrollment and grading. In enrollment phase, each student randomly selects a course to take. Note that each student may take multiple courses. Repeat this enrollment process until all classes are full or no more enrollment is possible. In the grading phase, each professor randomly assigns a grade for each student in the course they are teaching. Once the semester is done, the courses are reset
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
