HW02: Parallel Arrays: Search/Delete due Mon 29 Jan 10:00

\begin{purpose}
Upon completion of this assignment you should:
\begin{itemize}...
...ing homework submission procedures for this course
\end{itemize}
\end{purpose}

Allowed and Disallowed Resources

In completing this assignment you MAY use/access the following resources:

You may NOT use/access:

Failure to abide by these guidelines will result in a zero for the assignment and the incident will be reported to the university provost as a violation of the university academic integrity policy. A second incident of academic dishonesty (whether from this course or another computer science course) will result in an F in the course.

Overview

This assignment is a continuation of the “Movies Manager” program we started working with in the first assignment. If you have completed all prior work (including lab day) then all that remains is to implement and call four methods: one to delete a movie, one to search by genre, one to search by title, and one to save the changes when the user exits the program.

Details

Here are some suggested steps:
  1. Make sure your local working repository has all of the changes reflected in your hosted repository and the base repository (git pull mine master and git pull origin master).

  2. Implement the method that will search by title. You will ask the user to enter a title to search for. Your search should be a forgiving search in that:
    • it should be case insensitive
    • it should do partial matching ... if the user entered “th” as the search string it should match the title “The Cat's Meow” and the title “Fun on 10th Street”.

  3. Once the search by title is working perfectly and has been documented using JavaDoc conventions commit your changes to the local repository along with an accurate, descriptive message.

  4. Implement the method to search by genre. The search here should be case insensitive but, otherwise, should require an exact match.

  5. Make sure the method is properly documented and commit your changes locally.

  6. Implement the delete method.
    1. Begin by having the user search for a title to be deleted. Since you already have a method that searches by title just call that method. Modify your search method so that when it prints titles it also displays the array position where the title is found.
    2. Ask the user to enter the id (i.e., array position) of the title they want to delete.
    3. Remove the title (and genre and year) from the array if the number given by the user exists.

  7. Make sure the method is properly documented and commit your changes locally.

  8. Implement the save method and call it after the loop in main().

  9. Make sure the method is properly documented and commit your changes locally.

  10. Do a final check of the behavior of the program. Test it more fully by switching the datafile from tinymovielist.txt to movielist.txt. Commit any tweaks or changes you have made indicating in your message that this homework assignment is complete.

  11. Push your changes to your hosted repository.

Submission Guidelines

The assignment will be graded according to the following criteria:
Correctness 20 pts
Documentation 2 pts
Conventions 2 pts
Version Control 2 pts
Total 26 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.