Computer Science 275.001

Interaction Programming

Fall 2006

Interactive Design

Programming Assignment #3

Due: Tuesday, November 14, 2006

(Due in drop-box by 1:00 PM)

(zipped files)

(zipped version of previous assignment)

In this interactive design assignment, you will extend the routing application that you implemented in your previous design assignment to include the enhancements that your design and implementation were supposed to take into account. Specifically:

·    In addition to the block-by-block directions provided to the user in the previous design and implementation, this version of the application must also be able to provide landmark-based instructions (e.g., “turn right at the McDonald’s”, “across the street from Target”) whenever possible. One possibility would be to mention every landmark that is encountered along the route, paying particular attention to landmarks that are at intersections at which the route turns a corner.

·    In addition to the text-based directions, this version of the application must also be able to provide the user with an overhead map that illustrates the route from the user-specified origin to the user-specified destination. Keep in mind that, as much as possible, your design and implementation should not rely on the particular database information that’s being used here.

·    In this version of the application, the user must be allowed to permanently add new landmarks to the database, specifying their names, addresses, types of business, business hours, and, if they exist, their associated logo images. This functionality should include error-checking to ensure that the user-specified addresses of these new landmarks make sense (i.e., that the street numbers correspond to legitimate addresses according to the street table and that the address is not already in use by another landmark in the landmark table).

The expanded database and the expanded folder of images corresponding to the landmark locales are on the department server at:

Engineering/Classes/Fall 2006/CS/CS275/Assignments/IDPA3

Note that this database has a form identical to what was used in the second design assignment, but with several additional landmarks included in the landmark table. If the enhancements required here were adequately considered during the previous assignment, then those enhancements should be relatively straightforward to implement.

As usual, you are strongly encouraged to bring early versions of your design to the instructor for feedback. You may also feel free to discuss your early design ideas with your classmates, but remember that showing your actual code to anyone besides the instructor is considered academic misconduct and will be dealt with as such. Also, remember to fully document your program, explaining your design as needed.

Remember that your entire project folder is due on your drop-box

by 1:00 PM on Tuesday, November 14, 2006.