CSE 373 Winter 2005 (DRAFT -- files not available)

Homework #3B

Towers Game (II)

Files  Turn-in form   Mixmatcher tool

Due Dates

Files: Electronically Thursday Feb. 23 8:00 pm; paperwork at beginning of class Friday.  (Tentative: The electronic turn-in will be done by giving us a single .jar or .zip file.)  When working with a parter, only one person should do electronic turn-in, but both names should be on any papers.

Objectives

Description

See Homework 3.

Overview

Same as Homework 3, plus:

Structure

The structure remains the same, but two packages have been renamed.  mvc373Hw3 becomes mvc373Hw3B, and towerHw3 becomes towerHw3B.  Other package, interface, and class names remain the same.  The class should still have the three public static identification variables (AUTHOR, etc.).

As before, the intention is that MixMatcher will be used to run abritrary combinations of modules.

Getting Started

Contest?

The "mass-move" algorithm is standard, but the "collect" is not.  There may be some quite different algorithm, requiring differing numbers of moves to solve the same problem.  Before the assignment is due, we will publish a few standard test configurations and ask you to "time" your program on them, and to turn in this information. 

We could even have a "contest" to see whose algorithm is fastest on various configurations of towers and disks...

Turn in:

See the deadlines specified at the beginning of this page.  Paperwork (hard copy) includes printouts of the programs (the preferred way to do this is to print the "receipt" you get back from the turn-in form), plus a short report which includes:
Please staple everything together (except the confidential report).  There might not be a stapler in the classroom, so please do this in advance.  Make sure your name is on everything you turn in!  Your student ID is not needed unless we specifically request it.

Most of the grading points will come from

Good luck and have fun!


Notes
If you have questions along the way, either about the assignment or how to do things, feel free to discuss it on the Message Board.  Just don't give away code, or any crucial aspects of the solution.

Where applicable, write your code to be reusable and modifiable.