CS333 Project: Second Handout

Sat Mar 18 10:21:33 EST 2000

This page describes schedule requirements for the project in more detail. (The original project description is here and the planning slides shown in class are here.)

Some issues surfaced in several projects; read these notes for general comments that might apply to your proposal.

Schedule

    March 2000               April 2000               May 2000
 S  M Tu  W Th  F  S     S  M Tu  W Th  F  S     S  M Tu  W Th  F  S        
          1  2  3  4                       1        1  2  3  4  5  6
 5  6  7  8  9 10 11     2  3  4  5  6  7  8     7  8  9 10 11 12 13
12 13 14 15 16 17 18     9 10 11 12 13 14 15    14 15 16 17 18 19 20
19 20 21 22 23 24 25    16 17 18 19 20 21 22    21 22 23 24 25 26 27
26 27 28 29 30 31       23 24 25 26 27 28 29    28 29 30 31
                        30                      

Further details will follow for later dates; there may be minor changes in requirements.


  • March 24: Detailed plan. By this date, each group must meet with their assigned TA to go over their project plans in more detail.

    Description: You should prepare a written document of several pages that describes your project carefully; this is in effect a significantly more precise and complete version of what you have already done. It will include

    Schedule: You should list the tasks to be performed, who will be performing them, and target dates for when they will be done:

    Miscellaneous:

    Send a draft of your plan to your TA 24 hours before your meeting. After discussion with the TA, revise the plan as necessary, and submit it to the TA and to me by midnight on Sunday, March 26. Your plan is not a binding commitment, since you will undoubtedly have to revise as you gain experience. But it will be graded according to how thorough and reasonable your planning appears to be, so try to do a good job.

    In particular, you should freeze the list of features at this point; if you don't get them all done, that's fine, and if through some miracle you have time for more, that's fine too. But you should not be making major changes in what you have planned after this point.


  • April 7: First Prototype. By this date, you should have a bare-bones prototype that shows approximately what you are trying to do, and what your system will look like. It need not do much, but it must do some minimal part of the job. Since this is in large part a user interface project, the interface itself should give a clear idea of what you hope to provide. This should be one of the stages that you planned for.

    You must meet with your TA by this date to demo the prototype, so he or she can assess your progress and report to me.


  • April 21: Second prototype. This should be another stage in your plan. By this date, you must demonstrate an "almost working" version of the core functionality of your project. "Core" means the ability to create, edit, compile, see messages, edit, and run, as appropriate for your particular interface; you should discuss with your TA what a reasonable set of functions would be. "Almost working" means that wizards (you) can help experienced programmers (us) to use the system. Since this is a user-interface project, the use should be obvious, but some hand-holding is permitted. Since you have been testing carefully as you go, crashes should be quite infrequent.

    You must meet with your TA by this date for another demo, so he or she can assess your progress and report to me.


  • April 28: Beta test. Your code should largely work, all intended features should be installed and working, no major component should be incomplete. A determined sadist might be able to break your system, but a casual experimenter should not. (Your TA will be somewhere between these extremes.) Drafts of written material and web page should be done.


  • May 3-5: Demo days. Each group will give a brief (20-25 minute) quasi-public presentation of their work; other groups are strongly encouraged to attend, for instruction and moral support. A one-page marketing blurb and a web page must be available for interested users. I would also like to encourage real use by naive users: your classmates on other teams. You must attempt to use some of the systems written by others and see how well they work. Depending on how projects shape up, this may be done by area of interest.


  • May 9: Dean's date. Everything must be done and handed in by 5PM on this date, without exception. Final submission has to include your code, installation procedure, a man page, a web page that would induce others to use your system, an internals document describing the implementation, and a report on how the project and the team worked out and what was learned. (These will be specified in more detail later.)