Avila University Java Programming Code

Animated SearchLEARNING GOALS
The goal of this project is to reinforce key concepts of object-oriented programming, inheritance,
interfaces, abstract classes, searching algorithms, and recursion. It is also intended to reinforce
the skills needed to work with an existing unfamiliar code base.
SPECIFICATION
You are given an abstract class Framework (do not modify), an interface Person (do not modify),
and a partial class Searches (modify according to these requirements) which collectively produce
an animated demonstration of searching algorithms.
Implement the
class MyPerson implements Person to fulfill all the requirements of its interface,
including the following.
A constructor which takes two string parameters and initializes a given name (first) and a family
name (last) respectively. Mutator and accessor methods for both the given and family
names. An overridden equals method which identifies whether two people share the same
name, ignoring case. An overridden compareTo method which would fulfill the sorting rule of a
comparison sorting algorithm that sorts people in alphabetically ascending order by family name
and then by given name, ignoring case.
An overridden toString method which returns the person’s full name (given name, then a space,
then family name). Only after you finish the steps above, complete the missing code for
class
Searches to fulfill the following requirements.
Modify and animate the Linear Search algorithm so that it stops early with a “not found” answer
as soon as it is conclusive that the target element could not possibly be found later in the sorted
data. Your implementation must be iterative, not recursive. Implement and animate the Binary
Search algorithm. Your implementation must be recursive, not iterative. Implement and
animate the Random Search algorithm as follows. Look at some random element in the data. If it
is the target, stop and answer with the location the target was found. Otherwise, repeat that
process. If the process repeats 𝑛 times (where 𝑛 is the number of elements in the data) without
finding the target then stop with a “not found” answer. This algorithm often finds the target, but
the runtime is unpredictable, and it may stop with a false negative answer. Your implementation
can be either recursive or iterative, as you see fit. Do not implement an algorithm which prevents
searching the same index more than once. Implement and animate the Fibonacci Search
algorithm. Your implementation can be either recursive or iterative, as you see fit, but memoize
calculated Fibonacci numbers in a static list so that each number is calculated once the first time
it is needed.
When all steps above are completed, the program is fully functional. Execute the main method in
the class Searches to run the program. To support JavaFX for this project, you must use the JDK
11 or newer and a compatible JavaFX SDK release and configure your project to
use the JavaFX SDK library in its module path. The instructors can help you with this setup and
troubleshoot many issues.
For accessibility purposes, you may change the animation constants in Framework according to
your needs. Otherwise, do not change the Framework or Person files. The instructors use their
own copies of those files when grading, not any copies you include in your submission. Your
work is expected to integrate with the provided versions of those files without any conflicts.
GRADING RUBRIC
You are graded on 1) the correctness of your implementation of the requirements in the
specification above and 2) the attractiveness and clarity of your algorithm animations. The lab
instructor determines the exact grading rubric to assess your performance.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper
Still stressed from student homework?
Get quality assistance from academic writers!

Order your essay today and save 25% with the discount code LAVENDER