Software Maintenance Exercise #1: Baseline
The object of this
assignment is to “capture” a snapshot of your current programming skills before
proceeding to software maintenance. The
two most important aspects of the assignment are:
·
To submit the code and any supporting documents as you
would create them, and not according to a particular style.
·
That the program be functionally correct, in order
to have the proper baseline for each student.
You are to write a program that
reads in a set of one or more integers (one per line) from the text file hw1.in, builds
a binary search tree (non-balanced i.e. don’t build an AVL tree), computes the
average number of nodes compared per insertion (to two decimal places), and
outputs it to the screen. So, if hw1.in contains
43
67
61
21
28
17
65
Since there are 11 comparisons,
the average that should be output is 1.57.
Just to make things easy, assume that there are no duplicate values in
the hw1.in file.
Besides the program itself, you should provide a Word document with the
following information:
·
The amount of time you estimated that it would take
to write this program before starting software development.
·
The actual amount of time it took to write the
program.
·
A list of at least three things that you feel you
need to improve concerning your methods for software development (e.g. using
named constants more).
You should submit an zip file which contains
the following:
·
All source files
·
The Word document with the time estimate and other
information
·
(Optional) Any other artifacts that you used to
develop the code (e.g. test data)
·
A text file named readme.txt which
describes the contents of the rest of the RAR file