CS130 Project 2

(updated 9/12/2005)

Rapid Prototyping

Due 12:45pm Friday, September 16, 2005

The purpose of this second project assignment is several-fold.  The 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.

CVS 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 variation.
3.  You must use a standard and freely available music player.  I recommend using a simple program such as mpg123 or ogg123.

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.)