The purpose of this second project assignment is several-fold.
first is to give you practical experience rapid prototyping. The
second is to improve your Java coding skills and gain familiarity with
your favorite development environment.
First, you will want to setup a new
CVS environment. It is important that you change your CVSROOT to
point to: /home/cs130exp/projects. You should create a new (cvs)
project for this assignment so that you can create new projects in the
future for other assignments. Use the CVS tutorial to help you
with importing and adding files as you develop the rapid prototype.
Personalized Music DJ
For project 2, you are asked to construct a rapid prototype of a
proposed personalized music service. Although we discussed how
rapid prototypes come in many flavors, I want you to implement the
prototype in Java.
1. The first requirement is that the user interface have three buttons,
loosely thought of as: thumbs up, thumbs down, and skip. The
thumbs up and down buttons do not interrupt the current song but would,
in the conceived product, send messages to a playlist generation
engine. The skip button stops the current song, initiates a
request for the next song, and proceeds to play the new song.
2. The second requirement is that the prototype play music. For
the purposes of the prototype, you should have at least three songs
that are played. It is ok if they cycle endlessly without
3. You must use a standard and freely available music
player. I recommend using a simple program such as mpg123 or
In other words, the thumbs up and down buttons need not change the
sequence of songs or the frequency with which a particular song is
played in the sequence. However, they should pop-up an
information window indicating what would have happened in response to
the mouse click.
As you work on this project, be sure
to use appropriate documentation in the code and informative log
messages when committing changes in CVS.
Submission Instructions You will not need to do anything special for
submission. At the deadline, I will checkout the the current
code-base and test it. (You will want to be sure all changes are
committed to CVS.)