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

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 Databases Questions!