CSC 233
Homework 2

Assigned 31 Jan; due 9 Feb, 28 Feb, 7 Mar

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.

Homework 2a: user interface design
Due 9 Feb

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 About Face 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

Homework 2b: programming
Due 28 Feb

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

Homework 2c: reviewing
Due 7 Mar

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.

After you've finished the above, read the source code and write down any comments you have on it: good or bad coding practices, nifty ideas you hadn't thought of, nifty ideas you can suggest to the programmer, etc.

Grading

Your grade on HW2 is 40% HW2a, 40% HW2b, and 20% HW2c.

Your grade on HW2a depends on what I think of your UI spec. (Last time I taught this class, it also depending on the program written from your UI spec, and the review of that program, but students were very upset that their grades were affected by the quality of other students' work. Not as if that ever happens in the Real World....)

Your grade on HW2b is computed as follows:

Your grade on HW2c is my assessment of your review: is it careful, detailed, correct, etc.?


Last modified: Mon Feb 5 19:33:31 EST 2007
Stephen Bloch / sbloch@adelphi.edu