Task 1: Grade Processing (7.5 marks)
University grading system maintains a database called "GradeProcessing" that contains number of tables to store, retrieve and manipulate student marks. ‘Java2’ is one of the tables which contains following attributes for all the students enrolled in "Java2": “ID”, “Name”, “Quiz”, “A1”, “A2”, “Exam”, “CumulativeMark” and “Grade”. A sample of the table may look like as follows:
Write a JAVA Graphical User Interface (GUI) program that would perform following tasks:
• Create Table: Create a table that is capable to store above information.
• Insert Record: If the user of your program wants to insert a record, your program should ask for all the fields of the record and insert them in the table.
• Search: The user of your program should be able to search a particular record by ID or any other field.
• Update: The user of your program should be able to update any field/s of a particular record. The record for update operation will be selected by ID.
• Calculate Results: The Cumulative Mark of a student would be calculated using the following formula: CumulativeMark = (Quiz * 0.05)+(A1* 0.15) +(A2* 0.2) + (Exam * 0.6)
• Calculate Grade:
Note that, ID must be 8-digit number, A1, A2, and Exam marks must be between 0 and 100 (inclusive), and CumulativeMark must be floating-point numbers with two decimal places.
Task 2: Sorting Animation using Multi-threading and JavaFx GUI(7.5 marks)
Write a multi-threading animation program for selection sort, insertion sort, and bubble sort using JavaFx GUI. Some sample outputs of the program is shown below. Create an array of integers 1,2,...,30 and shuffle the elements of the array randomly. Create a pane to display the array in a histogram. You should invoke each sorting method in a separate thread. Each algorithm uses two nested loops. When the algorithm completes an iteration in the outer loop, put the thread to sleep for 0.8 seconds, and re-display the array in the histogram, color the last bar in the sorted sub-array.
This assessment task will assess the following learning outcome/s:
• be able to create, manage and manipulate objects via the Java Collections Framework.
• be able to design and implement multithreaded Java applications.
• be able to design and construct Java Graphical User Interfaces (GUI) that interact with problem domain objects.
• be able to create, connect to and update a relational database using the Java Database Connectivity (JDBC).