Question 1 due Wednesday, 4-August-1999 11:59pm
Questions 2 and 3 due on Friday, 6-August-1999, at start of lecture
Questions 2 and 3 must be submitted both on hardcopy and electronically using turnin. Remember: each turnin execution replaces prior submissions--be sure to submit all files you are turning it with a single execution of turnin.
Email Greg (email@example.com) a question about anything (hopefully at least somewhat relevant) that you would like him to answer during section on Thursday, 5-August-1999. Your subject line must be exactly either "aa341-question" (if you are in section AA that meets at 8:30am in 042) or "ab341-question" (if you are in section AB that meets at 10:50am in 001) . (Be sure to omit the quotes). This assignment will be graded credit/no-credit---you must send a question to get points for this part of the homework. Greg will filter the mail automatically and not read the messages until your section, so do not expect a response. Questions will be selected at random from a hat during section on Thursday. The question must be mailed by 11:59 pm on Wednesday, 4-August-1999, to receive credit.
Design object classes for an address book that contains names, addresses, and telephone numbers. You should have at least a class AddressBook and a class AddressCard. Make your classes useful and re-usable; consider what things a programmer might want to do with your objects, and be sure that your classes support those operations. Also, permit arbitrary notes to be attached to a card--each card should allow multiple attachments, e.g., birthdate and email address. Be sure to clearly document your classes's interfaces, and illustrate sample interactions with the objects. You must turn in a complete, nicely-presented description of your design.
(above question was adapted from Exercise 7.1 of your textbook, Sethi)
Implement the classes you designed above in Smalltalk and demonstrate that your classes work. Turn-in a file-out of each of the classes, and sample input and output---we should not have to run your code to be confident that it works.