First, you need to design, code in Java, test and document a base class, Student. The Student class will nave the following information, and all of these should be defined as Private: A. Title of the student (eg Mr, Miss, Ms, Mrs etc) 3. A first name (given name) C. A last name (family name/surname) D. Student number (ID)- an integer number (of type long) E. A date of birth (in day/month/year format – three ints) - (Do NOT use the Date class from JAVA) The student class will have at least the following constructors and methods: i) two constructors - one without any parameters (the default constructor), and one with parameters to give initial values to all the instance variables. ii) only necessary set and get methods for a valid class design. iII) method to write the output of all the instance variables in the class to the screen (which will be overridden in the respective child classes, as you have more instance variables that required to be output). an equals method which compares two student objects and returns true if they have the same student names, and the same date of birth, otherwise it returns false. iv) You may add other methods in the Student class as you see appropriate. CT167 Assignment 2 TJ, 2021 Design, 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. 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)

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
First, you need to design, code in Java, test and document a base class, Student. The Student class will
have the following information, and all of these should be defined as Private:
A. Title of the student (eg Mr, Miss, Ms, Mrs etc)
B. A first name (given name)
C. A last name (family name/surname)
D. Student number (ID) – an integer number (of type long)
E. A date of birth (in day/month/year format – three ints) - (Do NOT use the Date class from
JAVA)
The student class will have at least the following constructors and methods:
i)
two constructors - one without any parameters (the default constructor), and one with
parameters to give initial values to all the instance variables.
ii)
only necessary set and get methods for a valid class design.
(iii)
method to write the output of all the instance variables in the class to the screen (which will
be overridden in the respective child classes, as you have more instance variables that
required to be output)
iv)
an equals method which compares two student objects and returns true if they have the same
student names, and the same date of birth, otherwise it returns false.
You may add other methods in the Student class as you see appropriate.
ICT167 Assignment 2
TJ, 2021
Design, 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.
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)
Transcribed Image Text:First, you need to design, code in Java, test and document a base class, Student. The Student class will have the following information, and all of these should be defined as Private: A. Title of the student (eg Mr, Miss, Ms, Mrs etc) B. A first name (given name) C. A last name (family name/surname) D. Student number (ID) – an integer number (of type long) E. A date of birth (in day/month/year format – three ints) - (Do NOT use the Date class from JAVA) The student class will have at least the following constructors and methods: i) two constructors - one without any parameters (the default constructor), and one with parameters to give initial values to all the instance variables. ii) only necessary set and get methods for a valid class design. (iii) method to write the output of all the instance variables in the class to the screen (which will be overridden in the respective child classes, as you have more instance variables that required to be output) iv) an equals method which compares two student objects and returns true if they have the same student names, and the same date of birth, otherwise it returns false. You may add other methods in the Student class as you see appropriate. ICT167 Assignment 2 TJ, 2021 Design, 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. 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. You only need one ArrayList and one menu for this.
ICT167 Assignment 2
TJ, 2021
1. Quit (exit the program)
2. Add (to the ArrayList) all the marks information about a coursework or research student by
reading it from another text file and determine the student's overall mark and grade.
You will need to consider how to deal with the different assessment components for the
coursework and research students. You may use two different text files, one for coursework
students and another for research students. The program should read the correct text file for
this purpose.
Use Exception Handling if the student cannot be found in the ArrayList.
3. Given student number (ID), remove the specified student and relevant information from the
ArrayList. It is always good to ask the user to confirm again before removing the record. For
confirmation, output the student number (ID) and the name to the user.
4. Output from the ArrayList the details (all information including the overall mark and the
grade) of all students currently held in the ArrayList.
5. Compute and output the overall mark and grade for coursework or research students
6. Determine and display how many coursework or research students obtained an overall mark
equal to or above the average overall mark and how many obtained an overall mark below the
average overall mark
7. Given a coursework or research student number (ID), view all details of the student with that
number. If the student
not found in the ArrayList, an appropriate error message is to be
displayed
8. Given a coursework or research student's name (both surname and given name – ignoring
case), view all details of that student. If the student is not found in the ArrayList, an
appropriate error message is to be displayed. If more than one student having the same name,
display all of them.
9. Sort the ArrayList of the student objects into ascending order of the students' numbers (IDs),
and output the sorted array - implement an appropriate sorting algorithm for this, and explain
why such algorithm is selected (in internal and external documentation).
10. Output the sorted ArrayList from (9) to a CSV file. If the ArrayList is not sorted, this option
cannot be selected.
Transcribed Image Text: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. You only need one ArrayList and one menu for this. ICT167 Assignment 2 TJ, 2021 1. Quit (exit the program) 2. Add (to the ArrayList) all the marks information about a coursework or research student by reading it from another text file and determine the student's overall mark and grade. You will need to consider how to deal with the different assessment components for the coursework and research students. You may use two different text files, one for coursework students and another for research students. The program should read the correct text file for this purpose. Use Exception Handling if the student cannot be found in the ArrayList. 3. Given student number (ID), remove the specified student and relevant information from the ArrayList. It is always good to ask the user to confirm again before removing the record. For confirmation, output the student number (ID) and the name to the user. 4. Output from the ArrayList the details (all information including the overall mark and the grade) of all students currently held in the ArrayList. 5. Compute and output the overall mark and grade for coursework or research students 6. Determine and display how many coursework or research students obtained an overall mark equal to or above the average overall mark and how many obtained an overall mark below the average overall mark 7. Given a coursework or research student number (ID), view all details of the student with that number. If the student not found in the ArrayList, an appropriate error message is to be displayed 8. Given a coursework or research student's name (both surname and given name – ignoring case), view all details of that student. If the student is not found in the ArrayList, an appropriate error message is to be displayed. If more than one student having the same name, display all of them. 9. Sort the ArrayList of the student objects into ascending order of the students' numbers (IDs), and output the sorted array - implement an appropriate sorting algorithm for this, and explain why such algorithm is selected (in internal and external documentation). 10. Output the sorted ArrayList from (9) to a CSV file. If the ArrayList is not sorted, this option cannot be selected.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Reference Types in Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education