Programming Assignment I (Due: Friday, March 28)
Problem Statement
Design and implement an efficient
address book application named AddressBook, as an
extension of the NodePositionList class. For this assignment the
records, AddressBookRecord, stored in the address book should
include a person's name, telephone number, and address. It would be
okay to implement each of these as strings, unless you want a more
elaborate design. Address
The AddressBook should support the usual operations:
- Insert a record into the address book.
- Remove a record from the address book.
- Look up a person's phone number, given the person's name.
- Display a listing of the address book in alphabetical order by name.
It must work correctly, be well designed, and be thoroughly
documented (with Javadoc comments). Your documentation should include
a description of the efficiency of your impelementation using Big-Oh
notation. That is, provide a summary, similar to the summaries we've
discussed in class, of both the space and time efficiency of you
design, including a Big-Oh characterization for each of your methods.
You may work in pairs on this assignment.
Grading Criteria
Your grade will be based on the following items:
- Correctness: It runs correctly.
- Design: It is designed well from an object-oriented perspective and
implemented efficiently.
- Documentation: It is well documented, both in terms of its
design and how it should be used (run).
- Usability: It has a reasonable interface. You can use
either a GUI or a command-line interface but in either case
the interface has to be easy-to-use and "bullet proof".