Programming Assignment #2: Jumping Leprechaun Simulation
Due Date: Thursday May 8
Introduction
The main objective of this assignment is to demonstrate that you
can solve a programming problem using the ADTs we have studied as
implemented in the Java class library.
You may work in pairs on this assignment.
Jumping Leprechauns
Do Project P-10.1 as described on page 485 of Goodrich and Tamassia,
4e. Note that there may be a minor typo in the text's
description of this problem where it suggests that the ordered dictionary
ADT was described in Chapter 10. It was described in Chapter 9 (pp. 408-409).
In addition to the specifications provided in the text, here are some
additional requirements.
Hand In
Hand in a well-documented hard-copy listing of your Java source
files and upload all of your source files to Blackboard's digital drop box.
Grading Criteria
You will be graded on the following criteria:
- Program Correctness: Does the program work correctly? I
will run your programs through of set of test files, so make sure
you test them thoroughly.
- Program Design: Does the program use appropriate data
structures, interfaces, design principles, and practices. Does it make
appropriate use of private/public? Do the classes have appropriate
public interfaces? Do classes hide information from other objects?
Are the algorithms designed to minimize worst-case performance?
Are the algorithms expressed at an appropriate level of abstraction
for this problem?
- Program Style and Readability: Is the program
well-documented and is its code easy to understand? Does it use
JavaDoc comments? Does each class have a comment block that explains
the purpose of the class and other important details about the class?
Does each of its methods have a comment block explaining what the
method does and what the method's parameters do?
READ THIS CAREFULLY!
It is expected that each team (or
person) will do its (or his) own work on this assignment. You
may not copy another person's code, in whole or in part, either by
hand or electronically, and submit it as your own. If you need help
with either design or programming, you should consult with the
instructor. If you receive substantial help from a TA or
instructor, you must document it in your program's header by providing
the name of the person who helped you and a brief description of the
type of help you received. (This is similar to a citation of a
reference when writing a term paper.)