$29
The goal of this assignment is to implement two programs using arrays.
:warning: Note that the original deadline was postponed, but the assignment has become super sized. It will be worth a total of 75 points and has two significant parts. It is **strongly** advised that you plan to complete a large portion of the assignment by the original 10/6 deadline.
Requirements
**Part 1 (50 points):** For this question, you will implement your own version of `ArrayList`. Your class, called `StringList`, will maintain an array of `String` objects and provide most of the functionality of the `ArrayList`.
Download the following two java files: [StringList.java](https://raw.githubusercontent.com/CS112- /labs/master/code/StringList.java) and [StringListTester.java](https://raw.githubusercontent.com/CS112- /labs/master/code/StringListTester.java). [StringList.java](https://raw.githubusercontent.com/CS112- /labs/master/code/StringList.java) provides the skeleton for the code you must implement. Complete all methods as described in the documentation. For full credit, your submission must pass all of the tests in the class [StringListTester.java](https://raw.githubusercontent.com/CS112- /labs/master/code/StringListTester.java).
**Part 2 (25 points):** For this question, you will implement several utility methods that manipulate two-dimensional arrays.
Download the following two java files: [ArrayUtilities.java](https://raw.githubusercontent.com/CS112- /labs/master/code/ArrayUtilities.java) and [ArrayUtilitiesTester.java](https://raw.githubusercontent.com/CS112- /labs/master/code/ArrayUtilitiesTester.java). [ArrayUtilities.java](https://raw.githubusercontent.com/CS112- /labs/master/code/ArrayUtilities.java) provides the skeleton for the code you must implement. Complete all methods as described in the documentation. For full credit, your submission must pass all of the tests in the class [ArrayUtilitiesTester.java](https://raw.githubusercontent.com/CS112- /labs/master/code/ArrayUtilitiesTester.java).
Warnings!
:warning: If your submission is submitted incorrectly you will receive a 0 for this assignment. You are always welcome to come to office hours in advance of the deadline to double-check that you have submitted correctly.
:warning: If your submission does not compile you will receive a 0 for this assignment.
Submission Requirements
1. For this assignment, you will submit the following files: `StringList.java` `ArrayUtilities.java`.
2. Make sure your code follows all requirements in the [Style Guidelines](https://github.com/CS112- /notes/blob/master/style.md).
3. Follow the instructions in the [SVN Guide](https://github.com/CS112- /notes/blob/master/svn_guide.md) for submitting your solution by the deadline.
4. Make sure you have submitted your work in an SVN directory: `https://www.cs.usfca.edu/svn/<username>/cs112/lab5`
Academic Dishonesty
Any work you submit is expected to be your own original work. If you use any web resources in developing your code you are required to cite those resources. The only exception to this rule is code that is posted on the class website. The URL of the resource you used in a comment in your code is fine. If I google even a single line of uncited code and find it on the internet you may get a 0 on the assignment or an F in the class. You may also get a 0 on the assignment or an F in the class if your solution is at all similar to that of any other student.