HW: ArrayList due Mon 16 Apr 10:00

\begin{purpose}
In this assignment you will:
\begin{itemize}
\item continue ...
...item continue work on finding extensions of words.
\end{itemize}
\end{purpose}

Description

The instructions for this assignment assume you have successfully completed all parts of the lab day assignment.

Copy the ExtensionFinder.java code from hw11 to hw12 and replace all references to FancyContainer with MyArrayList. If you haven't done so already, remove the sort routines from MyArrayList.

Replacing the driver from lab day with the driver you used in hw11. Make whatever tweaks/changes are necessary to get the extension finder program to work properly in hw12 while making use of your MyArrayList as the container.

Modify the program so that instead showing only one letter extensions it shows all extensions. That is, show all one-letter extensions of all of the original word's extensions and all one-letter extensions of all of their extensions, etc. As an example, all extensions of ``crazy'' are: carzey (aceryz), craizey (aceiryz), coryza (acoryz), coryzal (acloryz), zircaloy (aciloryz), zircalloy (acilloryz), and coryzas (acorsyz).

NOTE: Finding all extensions can be performed very simply and easily using recursion. You will not need to write any new complicated code. When I wrote mine I had to write a getter for one of the attributes in my Word class. Beyond that I only need to add a recursive call.

NOTE 2: When testing your code you may find that certain words seem to have an unending number of extensions. Part of the reason for this is that we are not keeping track of duplicate finds. For this assignment we will not try to eliminate duplicates or make the code more efficient. For testing purposes consider using these words which have a relatively small number of extensions: crazy, offering, vindicate, eventual, parchment.

Grading

The assignment will be graded according to the following criteria:
Correctness 16 pts
Documentation 2 pts
Conventions 2 pts
Version Control 2 pts
Total 22 pts

Your program should be completely working and should follow all of the programming conventions named in class and explained in http://josephus.hsutx.edu/classes/all/javaconventions/ (including the use of comments that conform to the JavaDoc guidelines).

The instructor will grade your work based on what you have pushed to the hosted homework repository you have shared. For all assignments the program is due before the beginning of class on the due date. Repositories that show a commit time after that time will be graded as late.

Quick Links