Computer Science 275.001

Interaction Programming

Fall 2006

Interactive Design

Programming Assignment #2

Due: Thursday, October 26, 2006

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

(zipped files)

This interactive design assignment concerns the retrieval of information from a two-table external database. One table provides the geographic layout of a 9x9 grid of city streets, while the other table provides a list of landmarks (i.e., businesses) that reside within this 81-square block region. Your application will provide the user with block-by-block directions from a user-specified address within the region to a user-specified landmark. In addition, the application should provide full information about the landmark in question (i.e., its name, address, and operating hours).

The existing database and a folder of images corresponding to the landmark businesses is on the department server at:

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

Note that the database has the form defined below, with a relationship defined between the Name field in the Street table and the Street field in the Landmark table. Essentially, new landmarks could not be created if their addresses were not on one of the eighteen streets defined in the Street table’s data.
 
Several assumptions may be made about the landmarks and streets:
Ÿ         No addresses are missing between the start of a block and the end of that block. For example, since Lexington Lane’s Block300Last value is 317, every address between 300 Lexington Lane and 317 Lexington Lane exists.
Ÿ         On north-south roads, even addresses are on the west side and odd addresses are on the east side. On east-west roads, even addresses are on the north side and odd addresses are on the south side.
Ÿ         Some roads are one-way streets, so any routes from a user-specified address to a particular landmark destination must account for traveling the correct way down such streets.
Ÿ         Landmarks with null open or close times are assumed not to be open at all on the designated days.

 

Keep in mind that other features might be added to this application at a later date, so make sure that your design and implementation accommodate these potential enhancements (some of which you may be asked to implement on a future assignment!):

·    Providing landmark-based instructions (e.g., “turn right at the McDonald’s”, “across the street from Target”) instead of just street-by-street instructions.

·    Providing an overhead map that routes the journey from the origin to the destination, similar to the “map” below, which illustrates where all of the restaurants in the database are.

·    Allowing users to enter additional landmarks into the database, including error-checking to ensure that the user-specified addresses of these new landmarks make sense.

 

As always, 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 Thursday, October 26, 2006.