Answered You can buy a ready-made answer or pick a professional tutor to order an original one.

QUESTION

CSE205 Object Oriented Programming and Data Structures Programming Project 3 :: 25 pts

CSE205 Object Oriented Programming and Data Structures Programming Project 3 :: 25 pts1 Submission InstructionsCreate a folder named <asuriteid> where asuriteid is your ASURITE user id (for example, since my ASURITE user id iskburger2 my folder would be named kburger2) and copy all of your .java source code files to this folder. Do not copy the.class files or any other files. Next, compress the <asuriteid> folder creating a zip archive file named <asuriteid>.zip(mine would be named kburger2.zip). Upload <asuriteid>.zip to the Project 3 dropbox by the project deadline. Thedeadline is 11:59pm Mon 21 Apr. Consult the online syllabus for the late and academic integrity policies.2 Learning Objectives1. Complete all of the learning objects of the previous projects.2. To implement a GUI interface and respond to action events.3. To implement and use the binary search algorithm.4. To implement and use the merge sort algorithm.5. To implement the Comparable interface.3 Software RequirementsYour program shall meet these requirements.1. Student information for students in a course is stored in a text file named gradebook.txt . There is one student recordper line, where the format of a student record is:last-name first-name hw1 hw2 hw2 hw3 exam1 exam2where:last-name The student's last name. A contiguous string of characters.first-name The student's first name. A contiguous string of characters.hw1-hw4 The student's scores on four homework assignments, may be zeros.exam1-exam2 The student's scores on two exams, may be zeros.Here is an example gradebook.txt file:Sample gradebook.txtSimpson Lisa 25 25 25 25 100 100Flintstone Fred 15 17 22 18 80 60Jetson George 20 21 22 23 70 83Explosion Nathan 5 4 3 2 1 0Muntz Nelson 20 15 10 5 60 70Terwilliger Robert 23 21 19 17 80 90Flanders Ned 12 14 17 23 85 95Bouvier Selma 16 16 16 16 16 16Spuckler Cletus 1 2 3 4 5 6Wiggum Clancy 6 5 4 3 2 1Skinner Seymour 19 23 21 24 78 832. When the program starts, it shall read the contents of gradebook.txt and sort the list of students into ascendingorder.3. The program shall implement a GUI which permits the user to interact with the gradebook. Watch the Project 3video lecture for a demonstration of how the GUI works.4. When the enters a student's last name in the search text field and clicks the Search button, the homework and examinformation for the student shall be displayed in the text fields.5. When the user clicks the Search button and the search text field is empty an error message dialog shall be displayed.6. When the enters a last name in the search text field and clicks the Search button, if the student is not found becausethe last name was entered incorrectly an error message dialog shall be displayed.Arizona State University Page 1linkin course schedule infoCSE205 Object Oriented Programming and Data Structures Programming Project 3 :: 25 pts7. When the user is editing the information for a student and clicks the Save button, the student record shall beupdated (these changes will be written to gradebook.txt when the program exits).8. When no student record is being edited (the homework and exam text fields are empty) and the user clicks the Savebutton, nothing shall happen.9. When the user is editing the information for a student and clicks the Clear button, the homework and exam textfields shall be set to empty and the student record shall not be updated.10. When the user is editing the information for a student and clicks the Exit button, the student record shall be savedbefore exiting.11. Whether the user is editing student information or not, when the Exit button is clicked the student records shall bewritten to gradebook.txt and the program shall terminate.4 Software DesignRefer to the UML class diagram in Section 4.10. Your program shall implement this design.4.1 Main ClassA template for Main is included in the zip archive. The Main class shall contain the main() method which shall instantiatean object of the Main class and call run() on that object. Complete the code by reading the comments and implementingthe pseudocode.4.2 CourseConstants ClassThe complete CourseConstants class is included in the zip archive. This class simply declares some public static constantsthat are used in other classes.4.3 GradebookReaderA class which reads the gradebook information from gradebook.txt and returns a Roster object which contains the studentinformation. The complete code for this class is provided.4.4 GradebookWriterA class which writes the gradebook information to gradebook.txt before the program exits. This class inherits from java.io.PrintWriter. This class is very simple. Read the comments and implement the pseudocode.4.5 RosterStores the student information in an ArrayList<Student> list. Read the comments and implement the pseudocode.4.6 SearcherThis class shall implement one static method int search(ArrayList<Student> pList) which searches the list of Roster for astudent with the specified last name. Since the roster is sorted into ascending order by last name, you shall implementeither the iterative or recursive binary search algorithm. The method returns the index of the student in the list or -1 ifthe student is not found. Template not provided; use the UML class diagram.4.7 SorterA class which implements the quicksort algorithm. All of the method are static and sort(ArrayList<Student> pList) is theonly public method and calls private quickSort(pList, 0, pList.size() - 1) to sort the list. Template not provided; use theUML class diagram.4.8 StudentThe Student class stores the information for one student. Read the comments and implement the pseudocode.4.9 ViewThe View implements the GUI. Read the comments and implement the pseudocode.Arizona State University Page 2CSE205 Object Oriented Programming and Data Structures Programming Project 3 :: 25 pts4.10 UML Class DiagramThe UML class diagram is provided in the zip archive in UMLet format and as a PNG image. Your program shallimplement this design.5 Additional Project Requirements1. Format your code neatly. Use proper indentation and spacing. Study the examples in the book and the examples theinstructor presents in the lectures and posts on the course website.2. Put a comment header block at the top of each method formatted thusly:/*** A brief description of what the method does.*/3. Put a comment header block at the top of each source code file formatted thusly://********************************************************************************************************// CLASS: classname (classname.java)//// COURSE AND PROJECT INFO// CSE205 Object Oriented Programming and Data Structures, semester and year// Project Number: project-number//// AUTHOR// your-name (your-email-addr)//********************************************************************************************************Arizona State University Page 3

Show more
adelen
adelen
  • @
  • 1 order completed
ANSWER

Tutor has posted answer for $100.00. See answer's preview

$100.00

******** ********************************** javaxswingJFrame;/*** *** **** ***** containing *** ****** and ***** *************** ***** Main * ** *** ****** ** students **** is **** **** ************** ******* Roster mRoster; ** * reference ** *** **** ****** ******* View ****** *** * **** ** ***** ********* ****** Instantiate * **** object and then **** run() ** public ****** **** ************* ****** { *** ************ * *** * ****** ** ****** **** the Exit ****** in the **** ** ******* * * PSEUDOCODE: * *** * *********** * GradebookWriter ****** opening ************** *** writing * **** *************************** ** *** ****** * Call Systemexit(0) to terminate *** application * ***** FileNotFoundException * **** ************ ** *** View ** ******* ""Could *** **** ************ *** writing ******* without ******* * **** ************** to ********* *** application **** ** ***** code ** ** */ ****** **** exit(){ try{ GradebookWriter *************** **** ******************************** ******************************************* ************** **************************** *********** ************************** *** open ************ *** ******* ******* ******* saving"); *************** } } /** * Accessor method *** ******* */ ****** ****** *********** * ****** ******** * *** * ******** ****** for ***** ** ****** **** getView() { ****** ****** } /** * ***** ** *** main ******* * * *********** * Call ***************************************** ** ***** ********* ** **** *********** * **** ******************* *** **** ****** ******* **** ** the ***** * *** * Instantiate a GradebookReader ****** to **** "gradebooktxt" *** ******* * Call readGradebook() ** the ****** * **** setRoster() ** **** *** ****** ******** **** readGradebook() * catch * **** ************ ** the **** to display "Could *** open gradebooktxt *** ******* ******** * **** Systemexit(-1) ** terminate *** *********** with an error **** */ ******* **** ****** ******************************************* *********** View(this)); try { GradebookReader ********* * new ******************************** ************************************ ******* = ************ * ***** ********************** pException) * ************************** *** **** ************ for ******* ********** *************** * * *** * ******** ** ****** **** *** Search ****** ** ******* ** *** View *** ***** ********* ** *** ********* **** **** * of *** ******* ** locate **** getStudent(pLastName) on the ****** ****** ** *** a ********* ** the ******* **** * **** last **** ** *** ******* ** not ******* ************ ******* **** ** public Student ************* pLastName) { return ********************************* * *** * ******* ****** *** ******* */ public **** **************** ******** * ******* * ******** * /** * ******* ****** *** mView ** ****** void ************ ****** * ***** = ****** ****

Click here to download attached files: code(1).zip
or Buy custom answer
LEARN MORE EFFECTIVELY AND GET BETTER GRADES!
Ask a Question