COS 226 Programming Assignment #3

Program Report


Your program report should answer the following questions.  This should be submitted electronically using whiteboard along with the rest of your program in a file called either report.txt (if in plain ascii text) or report.pdf (if in pdf).  Please do not submit any other formats.

  1. Describe your Disk data type.
     
  2. Describe the data type that you used to support the worst-fit heuristic.  If you extended a standard data type (e.g., priority queue), explain carefully any modifications that you made.
     
  3. Generate some input files with random file sizes between 0 and 200000, and between 100000 and 700000 using Generator.java.  Create two tables (one for each class of inputs) as follows: for each value of N = 100, 1000, 10000, 100000, 1000000, enter the total of the file sizes (in GB), the number of disks used by worst-fit and worst-fit decreasing (even better if you report the average over several random trials for each value of N).  Also enter the running time in seconds for worst-fit.

    Optionally, you can add the "First Fit" and "First Fit decreasing" heuristics to the table.
     
  4. Discuss the relative effectiveness of the heuristics.  The number of disks is the most important factor, but you should also comment on the running time.  Be critical and objective.
     
  5. Testing: on which input files did you test your programs?
     
  6. Any known bugs / limitations?  Include any input files that you tested that produced different results from our reference solutions.  Make sure you explain any memory limitation.
     
  7. List whatever help (if any) that you received.
     
  8. Describe any serious problems you encountered.
     
  9. Any other comments or feedback?