Project 4 - Stock Price Tracker (using Hash Tables)

This project is OPTIONAL and will only help your grade in the project category

Objectives

Background

Many companies are public traded, meaning that anyone can buy a part of their company. To do that, you buy stock in that company. The price of a stock is the amount that someone else is will to buy it at.

Description

For this project, you get to write a Java class that stores stock prices. You get to implement this functionality with a hash table, that includes basic operations such as insertion, deletion, retrieval and rehashing. Use separate chaining as the collision resolution scheme.

In addition to your hash table class, write a MenuDriver class that provides an interface to the user to complete the functionality in the demonstration. Include proper documentation for your program:

(Feel free to start with the documentation to plan out what each class and method should do :). Your code needs to handle various situations (see the demonstration below for details) Note, you are not allowed to use any built-in hash table data structures provided by the programming language, such as HashMap or Hashtable. Projects include either of those data structures (or similar ones) will not be graded.

Examples

In the following video, I provide a narrated view of multiple examples (including requirements):

Rubric:

Points      Item
----------  --------------------------------------------------------------
_____ / 10  Style
            + Code is indented correctly
            + Documentation: (written for another software developer)
              * Each class includes a Javadoc with at least a description, @author tag and @version tag
              * Javadoc (with block tags, for example @param, @return) before each method
              * All non-trivial variables are commented
              * Comments included before major portions of code
_____ /     Compiles (max of 50% if it does not compile)
_____ / 88  Successfully passes codePost tests
_____ /  2  Completed rubric (estimates for each line including hours spent)

_____ /100  Total

_____ Approximate number of hours spent

I, (REPLACE WITH YOUR FULL NAME), affirm that the code that I submitted is my own work and that I did not receive help that was not authorized by the instructor.

Copy and paste this rubric into a rubric-stockTracker.txt file (not a .docx, .doc nor .rtf file). Think of this as a checklist to ensure that you receive the maximum points possible. For each grade item, fill in your estimate for the grade you deserve. Additionally, include your estimate of how many hours your spent. Lastly, replace, "(REPLACE WITH YOUR FULL NAME)" with your full name to indicate that what you are submitting is entirely your own work.

Submission

  1. Submit to codePost.io:
    • MenuDriver.java
    • Your hash table class .java file(s)
    To register for a free codePost account, please follow these instructions.
  2. Submit to the appropriate Assignment folder in CougarVIEW:
    • rubric-stockTracker.txt
    If you resubmit it, the new file will replace the older one.

Notes

If you've spent more than an hour applying a specific aspect and have not made progress, then please visit with the CSU CS (or ACT) tutors or myself. Additionally, you can send me an email describing the steps you've taken (and what is right and what is different than what you expected).