Java homework
Extracted text: The purpose of this assignment is to practice OOP with Decisions, Loops, Arrays and ArrayList, Input/Output Files, and Constructing Objects and Classes. Create a NetBeans project named HW2_YourId. Develop classes for the required solutions. Important: Apply good programming practices: Provide API documentation comments for your class(es), class constructor(s) and method(s) using the Java standard form for documentation comments discussed in this course. Use meaningful variable and constant names. Show your name, university id and section number as a comment at the beginning of each class. Submit to Moodle the compressed file of your project with name “HW2_yourID" along with a PDF file that contains all your code. Problem: Write a program that reads from an input file, given by a user, students grade information after a semester and your program generate a semester report including courses information as shown in the sample runs. The input file includes student information: name, id, and college, followed by cumulative of previous semesters: total credits attempted, credits earned and total grade points. At the end of the input file the grades and information of the last completed semester courses are provided as shown in the sample inputs. Your program will calculate the total attempted credits, semester earned credits, semester grade point average (GPA) and cumulated grade point average (CGPA) according to the courses' grades and the number of credit hours of the courses. The scales of each grade are shown in Table 1. F, FSP, FW, and NPW grades will have zero value. Table 1 Grade scales A 4.00 C+ 2.30 A- 3.70 2.00 B+ 3.30 C- 1.70 3.00 D+ 1.30 В- 2.70 D 1.00 The Grade Point Average (GPA) is a weighted average that summarizes each of the two levels of activity: the semester and the cumulative work to date. The semester GPA is calculated on the courses taken within a given semester, The cumulative GPA is calculated on all courses taken to date, inclusive of all semesters. The semester GPA (semester GPA) shall be calculated as follows: The grade point earned in a course = The numeric value (i.e. scale) of the grade earned times the number of credit hours for that course. The semester Grade Point Average = The sum of the grade points earned in that semester divided by The total credit hours attempted during that semester. 1 Reference: GPA information provided from undergraduate academic regulations book in squ.edu.om/admissions
Extracted text: The calculation of the cumulative GPA (CGPA) shall be based on all courses taken and all credits attempted to date. The total grade points earned is divided by the total credits attempted. In both cases only courses with numeric-value grades are considered. (Please note that in such a computation. The grade designations I(x), W, P, NP, IP, TC, AU and OP are not calculated in the grade point average) Your program should include three classes: Course, TermTranscript, and HW2_yourId classes. Course class: should contain necessary instance variables and methods of a course and at least these methods: getGradePoint(): gives a grade point of a course using table 1. getCreditEarned(): gives number of earned credits if student have one of the grades from table 1; otherwise it is zero. getCreditAttempted(): gives number of attempted credits in a course. TermTranscript class: should contain student information, previous semesters information and all courses information. The class should contain any necessary methods, and at least the following: getSemesterGPA() method: calculate a semester GPA. getCGPA() method: calculate cumulative GPA (CGPA). semesterCreditEarned() method: gives credit earned in a semester. semesterCreditAttempted() method: gives credit attempted in a semester. generateReport() method: creates an output file with name “ID_semesterRep.txt" and displays the report as shown in the sample outputs. HW2_yourId class: is a tester class that prompts users to enter an input file name, reads student data and creates TermTranscript object and calls generateReport() method to create an output file with student report. Sample input/output files 1 Odata_12344.bt - Notepad File Edit Student Name: Abdul AlRahman Al Oufi Student ID: 12344/19 Format View Help College: Science Credits Attempted: 15 Credits Earned: 15 Grade Points: 41.2 Course Code Course Title Credit Grade COMP1007, COMP2202, МАТН2108, Amazing Applications of AI, B 2, Fund. of object oriented Prog., 3, C- calculus (2), 3, 3, 4, C- Discrete Math. for Comp. sci., B- МАТНЗ340, STAT2101, Introduction to statistics, C+ Ln 1, Col 1 100% Windows (CRLF) UTF-8 Figure 1 Input file 1 12344 semsterRep.txt - Notepad File Edit Format View Help ID Name College COURSE NO : 12344/19 : Abdul AlRahman Al Oufi : Science COURSE TITLE CREDITS GRADE COMP1007 COMP2202 MATH2108 MATH3340 Amazing Applications of AI Fund. of object oriented Prog. 3 Calculus (2) Discrete Math. for Comp. Sci. 3 Introduction to statistics 2 B C- C- B- STAT2101 C+ CREDITS: TOTAL.ATTEMPTED 30 EARNED 15 ATTEMPTED 15 SEM GPA 2.23 CUM GPA 2.49 Ln 1, Col 1 100% Unix (LF) UTF-8 Figure 2 Output file 1