This programming assignment will exercise your skills in creating Java datastructures to best need the needs of the operations in an interface.
It is OK if this assignment is difficult. Please put in your best effort.
The topics that you will cover in this assignment are:
- Java data structures
- Implementation of interfaces
- Use of the Composite Pattern
If you don't complete the assignment or your implementation has bugs, you still need to turn in your partial / broken implementation to receive feedback. However, you should make sure that your work compiles.
For those new to Java, completing the assignment will likely be an iterative process. You do not need to panic if you can't complete the assignment prior to the second live session. There will be time to iterate on your code and receive a good grade.
Tip: Commit and push to your repository frequently so that the instructor can see your incremental work. Particularly for people that struggle with the assignment, lots of commits will show the effort that you put in and raise your score. Also,
The tests for the assignment are contained in the edu.vanderbilt.cs.live3.GeoHashDBTest class. You can run this class as a JUnit test in your IDE or from the command line using "gradle test". Every time that you commit and push to GitHub, GitHub Actions will compile and test your code. You can view the results on the "Actions" tab in your GitHub repository.
If you don't complete the assignment or your implementation has bugs, you still need to turn in your partial / broken implementation to receive feedback. However, you should make sure that your work compiles.
Grading process:
- If you have a working implementation that passes all tests, you will receive a 100
- If you have a broken / incomplete implementation, your grade will be based on the number of tests that your code passes and the overall code quality.
- You may receive a pull request with code comments specifying aspects of your solution that you need to improve.
- If you receive comments, you will need to address the comments and commit the updated version within a week of receiving the comments.
- You may receive multiple rounds of comments before receiving a grade.
What to do:
- See the edu.vanderbilt.cs.live3.GeoDB interface for instructions
- When your implementation is complete, make sure the most up to date version is committed and pushed to your assignment repository.
Warning! There may be typos, bugs, or other issues with the assignment. If you encounter a bug, typo, etc., please post to the course discussion forum to let the instructor know.