Mix Tape Calculator

CSc 103 Programming Project


The goal of this project is to write a Java program for the console version of the Mix Tape Calculator application.

Objectives

The objectives of this assignment are

Overview

In CSc 101 students implemented a procedural solution using the C language to the PlayList Calculator problem.  The problem specification has been enhanced to include a Swing GUI. Your job is to convert the C implementation into Java and take advantage of Object Oriented principles to create a better quality design that contains the features required by the enhanced specification.

Software Design

The instructor has written the code for the Graphical "front end" part of the application.  You are provided a JAR file containing the  MixTapeGUI class and other components of the GUI.  Your assignment is to write the "back end" components and a console user interface.

Here are the Javadoc for the instructor supplied components:
MixTapeApp
AbstractSongList
Natural

MixTapeGUI.jar contains the .class files for the instructor components in a JAR formatted file.  

You must implement these modules:
Javadoc
Skeleton Code
Song
TimeDuration
MixTapeModel
MixTapeConsole
SongPool
PlayList
Song.java
TimeDuration.java
MixTapeModel.java
MixTapeConsole.java
SongPool.java
PlayList.java

Here is the C implementation of the
original problem.
playlistCalculator.c



Testing

Your components will be tested with instructor reference tests.  The reference tests are JUnit tests of your classes.  MixTapeGUI is not used in testing.

You must include the following two data files with your submission as they will be used by the instructor's tests:
MilesDavis.m3u
consoledata1.txt

On this project your solution must conform to the class coding standard. Your unit tests must demonstrate "statement" coverage (they cause every statement in your program to be executed.)

Handing in Your Source Electronically



Document History

9/24/2009 Available for Fall 2009