3rd Exercise: dPP (test first)


By class time Tuesday two weeks from now (feb 28), do the following:

  1. Use the new pairs for this assignment.. and mostly-random pair rotation...

  2. Write, as a distributed pair, using JUnit testing and test-first development, Java classes to implement a simple boxplot tool in Java. For information on how to compute boxplots, see box plots or box plots or box plots or box plots or box plots


Specs

I am not too concerned with the input format... have the program read data sets as sequences of numbers from an input stream of some kind. Each box in a boxplot comes from a data set. You program must handle numerous different data sets as input, putting a box for each set on the boxplot.

Output will be a graphics window showing the boxplot (a box plotted for each input data set) and labeled axes. Would be nice to have a window that will show the value for the plotted variable under the mouse... so that if I mouse over the top of a box I will see the data value... etc.


Test-first

As in Ex.2, use test-first development. In this exercise, a good chunk of the code will be GUI code and you will not be able to use JUnit as effectively as you can for more functional classes... just do what you can.


dPP: Distributed Pair Programming

Use whatever dPP ininfrastructure you like best to do this exercise. Hopefully after Exercise 2 the two members of each pair can come to some agreement on a good collection of tools.

Do not get together physically to work on design. I want you to do this exercise with all communication done via the computer.

Graphics in Java

Use swing (import javax.swing.*) classes to implement the GUI for this project.

You can find numerous tutorials on how to draw and create images in Java. For instance, the official Java Tutorial gives a good introduction to the topic in

http://java.sun.com/docs/books/tutorial/uiswing/painting/index.html

If you need help working with frames, check

http://java.sun.com/docs/books/tutorial/uiswing/mini/index.html

Understanding Your first Swing program will help with the basic solution of this assignment.