Write a code in Java, test and document (at least) three classes – a CourseWorkStudent class, a ResearchStudent class (which both derive from the Student class) and a Client program. Make sure the rules below are followed for the code. For coursework students: (a) There are two assignments, each marked out of a maximum of 100 marks and equally weighted. The marks for each assignment are recorded separately. (b) There is weekly practical work. The marks for this component are recorded as a total mark obtained (marked out of a maximum of 20 marks) for all practical work demonstrated during the semester. (c) There is one final examination that is marked out of a maximum of 100 marks and recorded separately. (d) An overall mark (to be calculated within the class) (e) A final grade, which is a string (think of a way to avoid code duplication for calculating this) The final grade, for coursework students, is to be awarded on the basis of an overall mark, which is a number in the range 0 to 100 and is obtained by calculating the weighted average of the student's performance in the assessment components. The criteria for calculating the weighted average is as defined below: The two assignments together count for a total of 50% (25% each) of the final grade, the practical work is worth 20%, and the final exam is worth 30% of the final grade. For research students: (a) There is a proposal component (marked out of a maximum of 100 marks). (b) One final oral presentation (marked out of a maximum of 20 marks). (c) One final thesis (marked out of a maximum of 100 marks). (d) An overall mark (to be calculated within the class) (f) A final grade, which is a string (think of a way to avoid code duplication for calculating this) The final grade, for research students, is to be awarded on the basis of an overall mark, which is a number in the range 0 to 100 and is obtained by calculating the weighted average of the student's performance in the assessment components. The criteria for calculating the weighted average is as defined below: The proposal component is worth 30% of the final grade, the final oral presentations are worth a total of 10%, and the final thesis is worth 60% of the final grade A grade is to be awarded for coursework and research students as follows: An overall mark of 80 or higher is an HD, an overall mark of 70 or higher (but less than 80) is a D, an overall mark of 60 or higher (but less than 70) is a C, an overall mark of 50 or higher (but less than 60) is a P, and an overall mark below 50 is an N. The client program will allow entry of these data for several different student into an ArrayList and then perform some analysis and queries. Your client class (program) will provide the user with a menu to perform the following operations. You will need to think of a way to ask the user whether they are dealing with the coursework student or research student. You will also need to load the information of the students from a text file (student.txt) before displaying the menu.
Write a code in Java, test and document (at least) three classes – a CourseWorkStudent class, a
ResearchStudent class (which both derive from the Student class) and a Client program. Make sure the rules below are followed for the code.
For coursework students:
(a) There are two assignments, each marked out of a maximum of 100 marks and equally weighted.
The marks for each assignment are recorded separately.
(b) There is weekly practical work. The marks for this component are recorded as a total mark
obtained (marked out of a maximum of 20 marks) for all practical work demonstrated during the
semester.
(c) There is one final examination that is marked out of a maximum of 100 marks and recorded
separately.
(d) An overall mark (to be calculated within the class)
(e) A final grade, which is a string (think of a way to avoid code duplication for calculating this)
The final grade, for coursework students, is to be awarded on the basis of an overall mark, which is a
number in the range 0 to 100 and is obtained by calculating the weighted average of the student's
performance in the assessment components. The criteria for calculating the weighted average is as
defined below:
The two assignments together count for a total of 50% (25% each) of the final grade, the
practical work is worth 20%, and the final exam is worth 30% of the final grade.
For research students:
(a) There is a proposal component (marked out of a maximum of 100 marks).
(b) One final oral presentation (marked out of a maximum of 20 marks).
(c) One final thesis (marked out of a maximum of 100 marks).
(d) An overall mark (to be calculated within the class)
(f) A final grade, which is a string (think of a way to avoid code duplication for calculating this)
The final grade, for research students, is to be awarded on the basis of an overall mark, which is a
number in the range 0 to 100 and is obtained by calculating the weighted average of the student's
performance in the assessment components. The criteria for calculating the weighted average is as
defined below:
The proposal component is worth 30% of the final grade, the final oral presentations are worth
a total of 10%, and the final thesis is worth 60% of the final grade
A grade is to be awarded for coursework and research students as follows: An overall mark of 80 or
higher is an HD, an overall mark of 70 or higher (but less than 80) is a D, an overall mark of 60 or
higher (but less than 70) is a C, an overall mark of 50 or higher (but less than 60) is a P, and an overall
mark below 50 is an N.
The client program will allow entry of these data for several different student into an ArrayList and
then perform some analysis and queries.
Your client class (program) will provide the user with a menu to perform the following operations.
You will need to think of a way to ask the user whether they are dealing with the coursework student
or research student. You will also need to load the information of the students from a text file
(student.txt) before displaying the menu.
Step by step
Solved in 3 steps