Object Oriented Programming and Data Structures Coursework
#Project Explanations
Project Name | Project Requirements |
---|---|
BookProgram | Design and implement a class called Book that contains instance data for the title, author, publisher, and copyright date. Define the Book constructor to accept and initialize these data. Include setter and getter methods for all instance data. Include a toString method that returns a nicely formatted, multiline description of the book. Create a driver class called Bookshelf, whose main method instantiates and updates several Book objects |
EncryptPassword | Create a class called Password that implements the Encryptable interface from Chapter 9. Then create a main driver that instantiates both a Secret object and a Password object, using the same reference variable, and exercises their methods. Use any type of encryption desired for Password, other than the Caesar cipher used by Secret. |
ReverseStackOrder | Implement a class called Reverse that uses a stack to output a set of elements input by the user in reverse order. These should be elements of arbitrary type (e.g., characters, strings, integers). You cannot use the Java built-in stack for this program. Likewise, you cannot use the built-in Java ArrayList class. |
IntersectionSimulation | Create a system to simulate vehicles at an intersection. Assume that there is one lane going in each of four directions, with stoplights facing each direction. Vary the arrival average of vehicles in each direction and the frequency of the light changes to view the "behavior" of the intersection. You cannot use the Java built-in Queue or Deque class. Use an Array or Linked List implementation of a queue as explained in the text. |
ProgramOfStudy | Modify the Course class from Chapter 15 so that it implements the Comparable interface. Order the courses first by departmental prefix and then by course number. Then write a program that uses an ordered list to maintain a list of courses. You cannot use a built-in Java data structure for the ordered list. |
3DMazeTraversal | Design and implement a program that traverses a 3D maze. |
BinaryTree | Create an implementation of a binary tree using the recursive approach introduced in the chapter. In this approach, each node is a binary tree. Thus a binary tree contains a reference to the element stored at its root as well as references to its left and right subtrees. You may also want to include a reference to its parent.
Test/demonstrate your binary tree by doing the following:
|