Assignment 2 FAQ & Addenda
Last update: Saturday, October 15, 2016 22:59 EDT
- Should all group members submit the assignment.
- No. If you’re working in a group, only one group member should submit the project. Make sure that you clearly document all the group members, both in your writeup and as comments in your source files.
- Will my assignment be graded more leniently if I do it alone?
- I expect your assignment to mostly work even if you’re doing it yourself but will be more forgiving of some sloppiness and errors.
- How much documentation should we submit?
If you are working in a group size of 1-2, you can submit minimal documentation: authors, how to run the program and examples.
If you are working in a larger group, I expect the documentation to be nicer: authors, how to run the program, brief description of your implementation, examples, and test cases.
The most important part of your documentation is the instructions section. Please clearly spell out the exact steps necessary to compile and run your programs. Test the steps on your submitted package with a computer illiterate friend to make sure you didn’t miss anything. The more we have to figure out how to get your program working, the less happy we’ll be!
- Should I make packages each client and servers?
- You don't have to but be sure to spell out instructions for compiling and running your assignment whatever you choose to do.
- Do we need to submit protocol.jar?
- You can save space and not submit protobuf.jar but you should specify its use in your writeup.
- Does the assignment have to run on iLab systems?
- Ideally, the assignment should run on iLab systems. If it does not, make sure that you specify that in your writeup and explain what is needed to run the assignment (e.g., versions of software). I have Linux, MacOS, and Windows systems at home and can test on those platforms if necessary. I’m running Java 1.8 on my Linux and OS X systems and go version 1.3.3. If I have to load anything else, I will not be happy and it may delay your grade. Be sure taht you CLEARLY specify exactly how to compile and run your program.
- If doing the assignment in Go, should the client take in two separate ips and ports for the two servers? I'm assuming this is fine as long as the command line parameters are documented?
Yes, you’ll need to identify each of the servers explicitly. If you're using go, your command line (or config file) should identify the remote servers by address and port. Please document this in your usage instructions.
You can do this as well if you want to have two RMI registries running on two different servers (one for airports and another for places) but you can assume both server processes run on the same server and register with the same RMI registry.
- What's the best way to package everything? Should I just send you the entire src folder of my goworkspace?
- A zip file of the src folder + instructions would be fine.
- Do I need to use a SecurityManager in Java?
- You do not need to install a SecurityManager in your server code. My demo has the code commented out. It used to be mandatory for Java RMI applications; now it's not. For a simple demo program using RMI, check out Oracle's Java 8 documentation: Getting Started Using Java RMI If you're interested in learning more about the SecurityManager class, look here.
- Your sample output rounds the top 5 distances. This can cause places that are more than half a mile apart to show the same distance. Is it ok to leave the values unrounded.
- Yes, you may leave them unrounded.