Question: JAVA PROGRAM Create a tool that can read in student grade data and, 1. Determine which students would successfully pass a course 2. Display summary
JAVA PROGRAM
Create a tool that can read in student grade data and,
1. Determine which students would successfully pass a course
2. Display summary data in the form of a histogram distribution
3. Store the results to an output file for off-line retrieval
Assignment
Create a program that can read, parse, and analyze student grade data. Your program should prompt the user for the name of a file to read, e.g. grades.csv. Your program should check if the file exists and is available to read. If not, it should handle that gracefully and prompt the user for a different file. The format of the file is shown below - file distributed with this description.
Filtering data
If a score exists in the file that is not between 0 and 100, discard all data for that student.
If a student is excluded by the above rule, they should not be part of the summary data for the class.
Your program should prompt the user to enter in the level of granularity of the output. Thus, if the user enters "10", the final histogram should be grouped into 10 bins (0<= SCORE < 10, 10 <= SCORE < 20, ..., 90 <= SCORE <= 100).
The output consists of three main parts and should be stored in a file whose name specified by the user:
1. Student rows in the input that contain invalid data (score not between 0 and 100) should print a notice stating "Invalid score of -12 for Dave Thomas", where "-12" is the offending datum and "Dave Thomas" is the student's name.
You can assume that the data will be integers. No handling of type errors is required.
2. Students with valid data should call a toString() function which outputs their name, average for the course, and whether or not they passed. If they would have passed if not for scholarship requirements, state that as well.
3. A histogram of the student data partitioned into the number of bins defined by the user.
Student types
Note that some records in the data above have a number listed under "Scholarship requirement". These students must achieve the minimum score denoted in that row to be considered a "passing" student in addition to the minimum score required for all students. Students without scholarship demands need only obtain a minimum score of 60 to be considered passing.
The previous statement may or may not align with your syllabus, or in-major requirements and is not meant to be considered advice
Students types: scholarshipStudent, passingStudent, failingStudent, notAStudent
| Grading Area | Weight |
| Code format (documentation, indentation, capitalization, etc.) | 10 |
| File input for invalid file name | 5 |
| File input for file which cannot open (invalid permissions) | 5 |
| Parsing invalid student data row | 10 |
| Parsing valid student row | 10 |
| Output written to file specified by user | 10 |
| Output for all students (as individuals) | 10 |
| Histogram formatting correct | 20 |
| Histogram bins reflect user input | 10 |
| Code is well structured using OOP | 10 |
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
