In this project, we'll write a program to help a college student arrange furniture in his/her dorm room. The user should be able to specify the shape and size of the dorm room, and the shape and size of each piece of furniture; the user can then experiment with various arrangements of furniture on the computer before having to move them for real.
Since most of you have never written a program like this before, I recommend writing it in a series of versions, each version adding only one or two features over the previous version. (For example, the first version might just open a window; the second might add some controls that don't do anything; the third might add functionality for one control; etc.) That way, if the whole program isn't finished by the due date, you can turn in the latest working version, which doesn't do everything but does some things correctly.
Design the user interface for this program. For now, we'll skip the "research users" step, and minimize the "model users" step; assume you're the user. Use Chapter 6 of the textbook as your guide for this assignment. You may want to suggest which features to include in the "minimal version", which to include in the "intermediate version", and which to include only in the "full version".
Turn in
Design and implement the program, presenting as nearly as possible the interface your fellow student designed. If you think part of the interface is unworkable, discuss it with the designer and get the designer's approval for each specific change to the interface. The designer will be expected to update the user's manual for each such change.
Turn in
Test-drive your fellow student's program, using the user's manual and the checklist of implemented UI features but not looking at the source code. Write a review (1-2 pages) of the program, pointing out good and bad features of the user interface and any places that the program disagrees with the user's manual. Assign a letter grade.
Your grade on HW2a is computed as follows:
Your grade on HW2b is computed as follows:
Your grade on HW2c is my assessment of your review: is it careful, detailed, correct, etc.? Is the ``letter grade'' you assigned consistent with your comments?