Assignment 8: The Music Editor:   Coda
1 Mechanics
2 Code issues
3 Evaluation
4 Grading standards
5 Submission
6.7

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—both interface and implementation—and the minimal amount of additional code needed to get those views to compile. If it turns out you need to send the bulk of your model implementation along...that means you’ve introduced a tight coupling between your view and your model, and incorrectly coded against the model interface. You will need to correct that and send your customers the updated code.

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

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.

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.