Your instructor will assign one or more of the following problems. Submit all appropriate files for grading, including code files, screen captures, supplemental files (e.g., image files), and text files.

  1. Modify the Calgorithmic musicbox system to implement appropriate error checking for the following file read errors:

    Include test cases exercising all your new error checking code.

  2. Extend the Calgorithmic musicbox to handle chords, that is playing more than one note at a time in a single part. Your system should be able to read and play any of the following parts from Chopsticks: ChopSticksSoloVerse.txt, ChopSticksSoloBridge.txt, or ChopSticksAccompaniment.txt.

    Note that when you upgrade your Chord class to represent a list of pitches, you’ll need to use List<Integer> (rather than a list of ints). Lists require reference types.

    Extra Credit: Implement the complete chopsticks song by playing the verse with the accompaniment and then the bridge with the accompaniment. You will need to work through all the lab exercises before you can do this.

  3. Build a music complexity analyzer, similar to a Flesch reading score.

  4. Build a practice tool that leaves one part for you to play.

  5. Build a name-that-tune application.