Project #1: Programming Problem 1b, pp 78-80. Implement just the Student class along with the base class Person. Therefore the main program only needs to test the Student class. Name your driver class LlllProj01 where Llll is the first four letters of your last name. Place the driver class, Person class, and Student class in appropriately named files. Due 31 August
Project #2: Exercise 3, p. 189, Java method only; Exercise 19, p. 193; & Programming
Problem 2, p. 195. Also include a menu-driven main method that repeats allowing the
user to one of the three method to try or to quit. Place all code in one class. Name
the class LlllProj02. Due 7 September
Programming Problem 3, p 238; Also provide a driver program that allows the user to
completely exercise the Date class. You do not need to do the enhancement. Name the
driver class LlllProj03. Place both classes in their own appropriately named files. Due 14 September
Project #4: Programming Problem 7, p. 309; It is Figure 5-34 not Figure 5-35. Also
provide a menu-driven driver program to completely exercise the Polynomial class.
Name the driver class LlllProj04. Place both classes in their own appropriately named files. Due 21 September
Project #5: Programming Problem 5, pp. 345-347. As indicated, the maze will come from
a file. The filename should be input by the user. The file format is given in the
text, where the first line in the file contains the width and height of the maze.
Recall that a two-dimensional array is simply an array of arrays. Therefore you can
create a two-dimensional array of char (or int, or an enumerated type, etc.). Name
your driver class LlllProj05. Place your Maze and Creatures classes in their own appropriately named files. Due
28 September
Project #6: Programming Problem 11, pp. 404-405. As indicated, the input data will
come from files. The filenames should be input by the user. The file formats are shown
in the text where the separation is a comma and a tab. Use the Java Collection's Framework
for this problem. The JCF provides a LinkedList class that implements the JCF List generic interface. This interface is described starting on page 296 of the text.
Use an array of LinkedList<City> objects for your adjacency list. The authors code for the isPath() method of the Map class uses the authors StackReferenceBased class. Instead of the authors StackReferenceBased class, use the JCF Stack generic class template. It is described on page 372 of the text. I will send to you
the author's code for isPath(). Name your driver class LlllProj06. Place your Map class in its own appropriately named file. Due 5 October
Project #7 (Project #6 continued): Finish Project #6. It will be graded again, independently
from the previous grading. The Problem says to implement the ADT Flight Map which
means that you should implement the Flight Map as designed. The design is given on
pages 386 and 387. Your Map class should provide the methods listed on pages 386 and
387. Due 12 October
Project #8: Write a program to display the running time of the selection, bubble,
insertion, merge, and quick sorts. Report the time in milliseconds. Use an array
of integers. Allow the user to specify how many items to put in the array and therefore
to sort. Store random integer values in the array. The random integer values should
be in the range 0 to the size of the array. Pass identical copies of the unsorted
array to each of the sorts. Display the time it takes each sort to complete. Also,
display the first 10 integers in the array before and after each sort. The program
should allow the user to repeat being able to set a new size each time. I will send
the author's code for the sorts. Place the sorting methods in your driver class. Name
your driver class Llllproj08. Due 26 October
Project #9: Programming Problem 3, pp. 640 & 641. I will send the author's code for
the BinaryTree package. Use it as given! To do so, simply import the BinaryTree package. Place all your code in a driver class named Llllproj09. I already have the BinaryTree package so you don't need to send it to me. Due 2 November
Project #10: As Programming Problem 6, p. 696 says, you can use data structures other
than a heap to implement the ADT priority queue. Write and implement the Java class
for the array-based implementation that Figure 12-9a represents. Also include a menu-driven
driver that allows the user to completely test your implementation for a priority
queue of floating-point values. Name your driver class Llllproj10. Place your priority queue class in its own appropriately named file. Due 16 November
Project #11: Programming Problem 5. b., p. 774. Your symbol Table class should allow insertions and deletions as well as a traversal that displays
all items in the table. Also include a driver that demonstrates your Table class. The driver should allow the user to insert and delete Java identifiers as
well as view all identifiers in the table. Your driver should validate the input by
making sure the entered data is a valid Java identifier. If you can't find a complete
listing of Java reserved words, just use as many as you can think of. The driver should
use a menu. Name your driver class LlllProj11. Place your table class in its own appropriately named file. Due 7 December