Skip to content

CS 2420 - Projects

Fall 2015 

  • 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