Part 1- Construct GTU Computer Engineering Course structure by using Java LinkedList class. The list hold courses and the courses contain all data on the table which can be accessed by the link below. Write 3 methods (don’t extend the LinkedList class, but use the object instance of LinkedList) after the structure have been constructed:
- getByCode (string code): Returns all courses which have given course code.
- listSemesterCourses (int semester): Returns all courses on given semester.
- getByRange(int start_index, int last_index): Returns all courses from given start index to last index.
In all three methods, exceptions must handle if there are no matched course.
Part 2- Extent Java LinkedList class. Implement disable(), enable() and showDisabled() methods in the extended class. disable() method disables any list item and disabled list items are prevented from get, set, size, remove and listIterator methods. enable() method enables back any disabled list item and showDisabled() method lists all disabled items. Note that, when a disabled item is enabled, the item must be located at its previous location. Use the list on Part-1 to test your class.
Part 3- Implement a new course list structure so that besides the links between courses used to form the list, courses in same semester are also linked together as circular list as shown figure below. Construct the same course structure mentioned in question one with your new list class.
*The boxes represent courses and the numbers are semesters.
The custom list must have:
- add(): Add new item to list
- remove(): Delete specified item from list
- next(): Move next node
- nextInSemester(): Move next node in same semester
- size(): Get size of the list
- In part-3, don’t use java Linkedlist class otherwise you will get 0 grade from part-3
- Obey OOP principles
- Use meaningful and related class, variable, method etc. names
- Use intelliJ IDE on the given VM. VM download link can be found on moodle(in HW1)
- Your submission is HW03_studentnumber.zip and include following files:
- intelliJ project file o Report.pdf
- The report must be in format “ReportFormat.doc” which was used in HW1
- The implementations will be 75 points and the report is 25 points out of 100
- Submit your homework until the last submission date
- For your questions about homework, feel free to send an email email@example.com