This programming assignment will exercise your non-OO Java programming skills. For those new to Java, this exercise may be very difficult.
It is OK if this assignment is difficult. Please put in your best effort.
The topics that you will cover in this assignment are:
- Recursion
- Implementation of an algorithm from a spec
- Java arrays
- Use of Java system libraries
There is an expectation that your programming skills are at a level that you can pick up new programming languages independently. This assignment is a very simple initial Java program. If you are new to Java and struggle with this assignment, you should:
- Reach out to the instructor(s) to let them know
- Work through the official Java Tutorial by Oracle: https://docs.oracle.com/javase/tutorial/
- Look at the next three assignments
- Assess if you need to hold off on taking this class and take time coming up to speed on Java instead
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.
The tests for the assignment are contained in the edu.vanderbilt.cs.GeoHashTest 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.live2.GeoHash class 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.