Assignment 8: The Music Editor: Coda
Due: Mon 12/05 at 8:59pm; self-evaluation due Tue 12/06 at 8:59pm
This assignment is to be completed with the same partner as Homework 7, unless you’ve already contacted the course staff.
This week you will adapt another group’s views to your own model and controller.
1 Mechanics
All partners have been assigned another pair of partners (your “upstream providers”) to request code from. You have been emailed their names (and email addresses): email those people to obtain their code. You should expect to need to email them a few times this week, as you find issues with their code that you can’t work around or repair yourselves.
Conversely, you should expect to spend some time this week supporting the
people who have requested code from you (your “downstream customers”). You
should send them your views—
2 Code issues
Since both you and your providers have written code for this assignment, it’s
entirely possible that you and they have defined classes or interfaces with the
same exact names, in the same exact packages. This will make things nearly
impossible, so you should refactor your providers’ code to live in the
cs3500.music.provider
package, instead of the cs3500.music.view
package. You should not change anything else about their code.
3 Evaluation
As customers of a provider’s code, you have the opportunity to praise, critique, comment upon, and suggest improvements to their code. In short, you should provide a code review of their code.
In that review, consider all the self-evaluation questions you have been asked during this course, and extrapolate from them the kinds of issues to examine. For example: how flexible is the interface you were given? How capable are the views? How convenient was it to reuse their code, or adapt their interface to your expectations? How cleanly written and well-documented was their code? If you needed to request changes from them, definitely explain what changes were needed and why.
Write a short (3-4 paragraph) review of their code.
4 Grading standards
For this assignment, you will be graded on
the coherence and thoroughness of your review of your providers’ code,
the coherence and quality of your customers’ review of your code, and
the quality and completeness of your final submission.
You will not be graded (much) on the code you send to your partners: that should be essentially the same code you submitted for homework 7. It will simply be style-checked, and worth a small portion of your overall homework 8 grade, to ensure that you submit something we can compare against your customers’ use of your code.
There will be two self-evals: a short one about the code you sent to your customers, and a longer one about the code you needed to write for this assignment. Make sure that you complete both. (Having two separate ones is necessary, so that you can tag lines in each submission correctly.)
5 Submission
Submission of this project will be divided into two parts: the code you provided others, and the code you worked on.
Submit the final version of the files you sent your customers to the assignment hw8-views.
Submit a readme explaining which files you changed for your customers, and why the changes were needed, to hw8-views.
Submit any files created or modified in this assignment to the assignment hw8.
Submit your review of your providers’ code to the assignment hw8.
Submit a JAR file (with extension
.jar
) file that can run your program, again to hw8.
To create a JAR file, follow the instructions from Assignment 7: The Music Editor: Third Movement.
Please submit your homework to https://cs3500.ccs.neu.edu/ by the deadline above, and the self-evals by their deadline.